Conceitos básicos e serviços doConceitos básicos e serviços do
Sistema OperacionalSistema Operacional
Prof. Marcos Ribeiro...
Tipos de serviço doTipos de serviço do S.O.S.O.
O S.O. fornece um ambiente para a execução de
programas através de serviço...
Tipos de serviço doTipos de serviço do S.O.S.O.
Serviços mais comuns gerenciados pelo S.O.:
◦ Execução de programas;
◦ Ope...
Conceitos Básicos deConceitos Básicos de
Sistemas OperacionaisSistemas Operacionais
Principais conceitos:
◦ Processo;
◦ Me...
Processo: chave do SO;
◦ Caracterizado por programas em execução;
◦ Cada processo possui:
Um espaço de endereço;
Processos...
Estados básicos de um processo:
Executando
ProcessosProcessos
6
Executando
Bloqueado Pronto
1 2
3
4
ProcessosProcessos
Ex.: processo bloqueado (suspenso)
Quando o SO suspende um processo P1
temporariamente para executar um...
ProcessosProcessos
Um processo pode resultar na execução de outros
processos, chamados de processos-filhos:
◦ Característi...
ProcessosProcessos
Comunicação e sincronismo entre processos –
possíveis soluções:
◦ Semáforos;
◦ Monitores;
◦ Instruções ...
Gerenciamento de MemóriaGerenciamento de Memória
Gerenciamento elementar (década de 60)
◦ Sistema monoprogramado;
◦ Sem pa...
Compartilhamento de MemóriaCompartilhamento de Memória
Partições Fixas
◦ Cada processo é alocado em uma dada partição da
m...
Comunicação entre usuário e o SOComunicação entre usuário e o SO
Chamadas ao Sistema (system calls) fornecem uma
interface...
Chamadas aoChamadas ao SistemaSistema
Modos de Acesso:
◦ Modo usuário;
◦ Modo kernel ou Supervisor ou Núcleo;
◦ São determ...
Chamadas aoChamadas ao SistemaSistema
Modo usuário:
◦ Aplicações não têm acesso direto aos recursos da
máquina, ou seja, a...
Chamadas aoChamadas ao SistemaSistema
Modo Kernel:
◦ Aplicações têm acesso direto aos recursos da máquina,
ou seja, ao har...
Alteração entre modosAlteração entre modos
Se uma aplicação precisa realizar alguma instrução privilegiada,
ela realiza um...
Execução de chamadas ao sistemaExecução de chamadas ao sistema
TRAP: instrução que permite o acesso ao modo
kernel;
Exempl...
Um exemplo de chamada ao sistemaUm exemplo de chamada ao sistema
Os 11 passos para fazer uma chamada ao sistema para o com...
ExemplosExemplos dede chamadaschamadas aoao sistemasistema
ExemplosExemplos dede chamadaschamadas aoao sistemasistema
Chamadas ao Sistema API (Chamadas ao Sistema API (applicationapplication
programprogram interfaceinterface) WIN32) WIN32
Estrutura dos SistemasEstrutura dos Sistemas
OperacionaisOperacionaisOperacionaisOperacionais
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
Principais tipos de estruturas:
◦ Monolíticos;
◦ Em...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
-- MonolíticoMonolítico
Todos os módulos do sistema...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
-- MonolíticoMonolítico
Modo kernel
aplicação aplic...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
-- MonolíticoMonolítico
Os serviços (chamadas) requ...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Possui uma hierarquia de ní...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Nível 4
Nível 5
28
Nível 1
...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Alocação do processador;
...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Gerenciamento da memória;...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Comunicação entre os
proc...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Nível 4
Nível 5
32
• Gerenc...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Nível 4
Nível 5
33
• Progra...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Processo do operador do s...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Máquina VirtualMáquina Virtual
Idéia em 1960 com...
Evolução do OS/360 para o TSS/360:
◦ Compartilhamento de tempo (TimeSharing);
◦ Tanto a multiprogramação quanto a interfac...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Máquina VirtualMáquina Virtual
Principais concei...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Máquina VirtualMáquina Virtual
Cópias virtuais d...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Máquina VirtualMáquina Virtual
Atualmente, a idé...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Máquina VirtualMáquina Virtual
Vantagens
◦ Flexi...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Baseados emBaseados em KernelKernel (núcleo)(núc...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
MicroMicro--KernelKernel
42
Modo kernel
Modo usu...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Cliente/ServidorCliente/Servidor
Reduzir o Siste...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Cliente/ServidorCliente/Servidor
Cada processo s...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Cliente/ServidorCliente/Servidor
Os processos se...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Cliente/ServidorCliente/Servidor
processo
client...
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Cliente/ServidorCliente/Servidor
Adaptável para ...
Próximos SlideShares
Carregando em…5
×

02 so

168 visualizações

Publicada em

otimo

Publicada em: Internet
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
168
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

02 so

  1. 1. Conceitos básicos e serviços doConceitos básicos e serviços do Sistema OperacionalSistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
  2. 2. Tipos de serviço doTipos de serviço do S.O.S.O. O S.O. fornece um ambiente para a execução de programas através de serviços para os programas e para os usuários desses programas Apesar da forma como esses serviços sãoApesar da forma como esses serviços são oferecidos variar de sistema para sistema existem algumas classes de serviços que são comuns a todos os sistemas operacionais
  3. 3. Tipos de serviço doTipos de serviço do S.O.S.O. Serviços mais comuns gerenciados pelo S.O.: ◦ Execução de programas; ◦ Operações de entrada/saída; ◦ Manipulação de sistema de arquivos; ◦ Detecção de erros;◦ Detecção de erros; ◦ Alocação de recursos; ◦ Proteção.
  4. 4. Conceitos Básicos deConceitos Básicos de Sistemas OperacionaisSistemas Operacionais Principais conceitos: ◦ Processo; ◦ Memória; 4 Memória; ◦ Chamadas de Sistema;
  5. 5. Processo: chave do SO; ◦ Caracterizado por programas em execução; ◦ Cada processo possui: Um espaço de endereço; ProcessosProcessos 5 Um espaço de endereço; Uma lista de alocação de memória (mínimo, máximo); Um conjunto de registradores (contador de programa); ◦ O Sistema Operacional controla todos os processos;
  6. 6. Estados básicos de um processo: Executando ProcessosProcessos 6 Executando Bloqueado Pronto 1 2 3 4
  7. 7. ProcessosProcessos Ex.: processo bloqueado (suspenso) Quando o SO suspende um processo P1 temporariamente para executar um processo P2, o processo P1 deve ser reiniciado exatamente no mesmo estado no qual estava ao ser suspenso. Para tanto, 7 estado no qual estava ao ser suspenso. Para tanto, todas as informações a respeito do processo P1 são armazenadas em uma tabela de processos (process table). Essa tabela é um vetor ou uma lista encadeada de estruturas.
  8. 8. ProcessosProcessos Um processo pode resultar na execução de outros processos, chamados de processos-filhos: ◦ Características para a hierarquia de processos: Comunicação (Interação) e Sincronização; Segurança e proteção; 8 Uma árvore de no máximo três níveis; Escalonadores de processos – processo que escolhe qual será o próximo processo a ser executado; ◦ Diversas técnicas para escalonamento de processos;
  9. 9. ProcessosProcessos Comunicação e sincronismo entre processos – possíveis soluções: ◦ Semáforos; ◦ Monitores; ◦ Instruções especiais em hardware; 9 ◦ Instruções especiais em hardware; ◦ Troca de mensagens;
  10. 10. Gerenciamento de MemóriaGerenciamento de Memória Gerenciamento elementar (década de 60) ◦ Sistema monoprogramado; ◦ Sem paginação: Apenas um processo na memória; Acesso a toda a memória; 10 Acesso a toda a memória; Gerenciamento mais avançado (atualidade) ◦ Sistema multiprogramado; ◦ Mais de um processo na memória; ◦ Chaveamento de processos: por entrada/saída ou por limite de tempo (sistema de tempo compartilhado);
  11. 11. Compartilhamento de MemóriaCompartilhamento de Memória Partições Fixas ◦ Cada processo é alocado em uma dada partição da memória (pré-definida); ◦ Partições são liberadas quando o processo termina; Partições Variáveis 11 Partições Variáveis ◦ Memória é alocada de acordo com o tamanho e número de processos; ◦ Otimiza o uso da memória;
  12. 12. Comunicação entre usuário e o SOComunicação entre usuário e o SO Chamadas ao Sistema (system calls) fornecem uma interface entre um programa em execução e o S.O. Estão, geralmente, disponíveis como instruções nas linguagens de baixo nível ou até mesmo em linguagens de alto nível, como C.como C. Podem ser classificadas em duas categorias: ◦ Controle de processos. ◦ Gerenciamento de arquivos e de dispositivos de E/S.
  13. 13. Chamadas aoChamadas ao SistemaSistema Modos de Acesso: ◦ Modo usuário; ◦ Modo kernel ou Supervisor ou Núcleo; ◦ São determinados por um conjunto de bits localizados no 13 registrador de status do processador: PSW (program status word); Por meio desse registrador, o hardware verifica se a instrução pode ou não ser executada pela aplicação; ◦ Protege o próprio kernel do Sistema Operacional na RAM contra acessos indevidos;
  14. 14. Chamadas aoChamadas ao SistemaSistema Modo usuário: ◦ Aplicações não têm acesso direto aos recursos da máquina, ou seja, ao hardware; ◦ Quando o processador trabalha no modo usuário, a aplicação só pode executar instruções sem privilégios, 14 aplicação só pode executar instruções sem privilégios, com um acesso reduzido de instruções; ◦ Por que? Para garantir a segurança e a integridade do sistema;
  15. 15. Chamadas aoChamadas ao SistemaSistema Modo Kernel: ◦ Aplicações têm acesso direto aos recursos da máquina, ou seja, ao hardware; ◦ Operações com privilégios; 15 ◦ Operações com privilégios; ◦ Quando o processador trabalha no modo kernel, a aplicação tem acesso ao conjunto total de instruções; ◦ Apenas o SO tem acesso às instruções privilegiadas;
  16. 16. Alteração entre modosAlteração entre modos Se uma aplicação precisa realizar alguma instrução privilegiada, ela realiza uma chamada ao sistema (system call), que altera do modo usuário para o modo kernel; Chamadas de sistemas são a porta de entrada para o modo Kernel; ◦ São a interface entre os programas do usuário no modo usuário e o 16 ◦ São a interface entre os programas do usuário no modo usuário e o Sistema Operacional no modo kernel; ◦ As chamadas diferem de SO para SO, no entanto, os conceitos relacionados às chamadas são similares independentemente do SO;
  17. 17. Execução de chamadas ao sistemaExecução de chamadas ao sistema TRAP: instrução que permite o acesso ao modo kernel; Exemplo: ◦ Instrução do UNIX: 17 count = read(fd,buffer,nbytes); Arquivo a ser lido Ponteiro para o Buffer Bytes a serem lidos O programa sempre deve checar o retorno da chamada de sistema para saber se algum erro ocorreu!!!
  18. 18. Um exemplo de chamada ao sistemaUm exemplo de chamada ao sistema Os 11 passos para fazer uma chamada ao sistema para o comando “read (arq, buffer, nbytes)” Após o passo 5, é executado um TRAP, passando do modo usuário para o modo sistema
  19. 19. ExemplosExemplos dede chamadaschamadas aoao sistemasistema
  20. 20. ExemplosExemplos dede chamadaschamadas aoao sistemasistema
  21. 21. Chamadas ao Sistema API (Chamadas ao Sistema API (applicationapplication programprogram interfaceinterface) WIN32) WIN32
  22. 22. Estrutura dos SistemasEstrutura dos Sistemas OperacionaisOperacionaisOperacionaisOperacionais
  23. 23. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais Principais tipos de estruturas: ◦ Monolíticos; ◦ Em camadas; 23 ◦ Em camadas; ◦ Máquinas Virtuais; ◦ Arquitetura Micro-kernel; ◦ Cliente-Servidor;
  24. 24. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais -- MonolíticoMonolítico Todos os módulos do sistema são compilados individualmente e depois ligados uns aos outros em um único arquivo-objeto; O Sistema Operacional é um conjunto de processos que podem interagir entre si a qualquer momento sempre que 24 podem interagir entre si a qualquer momento sempre que necessário; Cada processo possui uma interface bem definida com relação aos parâmetros e resultados para facilitar a comunicação com os outros processos; Simples; Primeiros sistemas UNIX e MS-DOS;
  25. 25. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais -- MonolíticoMonolítico Modo kernel aplicação aplicação Modo usuário 25 System call Hardware
  26. 26. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais -- MonolíticoMonolítico Os serviços (chamadas) requisitados ao sistema são realizados por meio da colocação de parâmetros em registradores ou pilhas de serviços seguida da execução de uma instrução 26 serviços seguida da execução de uma instrução chamada TRAP;
  27. 27. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Possui uma hierarquia de níveis; Primeiro sistema em camadas: THE (idealizado por E.W. Dijkstra); ◦ Possuía 6 camadas, cada qual com uma função diferente; 27 ◦ Sistema em batch simples; Vantagem: isolar as funções do sistema operacional, facilitando manutenção e depuração Desvantagem: cada nova camada implica uma mudança no modo de acesso Atualmente: modelo de 2 camadas
  28. 28. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Nível 4 Nível 5 28 Nível 1 Nível 2 Nível 3 Nível 0 Fornecimento de Serviços
  29. 29. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Alocação do processador; • Chaveamento entre os Nível 4 Nível 5 29 • Chaveamento entre os processos em execução – multiprogramação; Nível 1 Nível 2 Nível 3 Nível 0
  30. 30. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Gerenciamento da memória; • Alocação de espaço para processos na memória e no disco: • Processo dividido em partes Nível 4 Nível 5 30 • Processo dividido em partes (páginas) para ficarem no disco; Nível 1 Nível 2 Nível 3 Nível 0
  31. 31. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Comunicação entre os processos; Nível 4 Nível 5 31 processos; Nível 1 Nível 2 Nível 3 Nível 0
  32. 32. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Nível 4 Nível 5 32 • Gerenciamento dos dispositivos de entrada/saída – armazenamento de informações de/para tais dispositivos; Nível 1 Nível 2 Nível 3 Nível 0
  33. 33. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Nível 4 Nível 5 33 • Programas dos usuários; • Alto nível de abstração; Nível 1 Nível 2 Nível 3 Nível 0
  34. 34. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Processo do operador do sistema; Nível 4 Nível 5 34 • Processo do operador do sistema; Nível 1 Nível 2 Nível 3 Nível 0
  35. 35. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Idéia em 1960 com a IBM VM/370; Modelo de máquina virtual cria um nível intermediário entre o SO e o Hardware; Esse nível cria diversas máquinas virtuais independentes 35 Esse nível cria diversas máquinas virtuais independentes e isoladas, onde cada máquina oferece um cópia virtual do hardware, incluindo modos de acesso, interrupções, dispositivos de E/S, etc.; Cada máquina virtual pode ter seu próprio SO;
  36. 36. Evolução do OS/360 para o TSS/360: ◦ Compartilhamento de tempo (TimeSharing); ◦ Tanto a multiprogramação quanto a interface com o hardware eram realizadas pelo mesmo processo – Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual 36 hardware eram realizadas pelo mesmo processo – sobrecarga gerando alto custo; Surge o CP/CMS VM/370 (Mainframes IBM) ◦ Duas funções distintas em processos distintos: Ambiente para multiprogramação; Máquina estendida com interface para o hardware;
  37. 37. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Principais conceitos: ◦ Monitor da Máquina Virtual (VMM): roda sobre o hardware e implementa multiprogramação fornecendo várias máquinas virtuais é o coração do sistema; 37 ◦ CMS (Conversational Monitor System): TimeSharing; Executa chamadas ao Sistema Operacional; ◦ Máquinas virtuais são cópias do hardware, incluindo os modos kernel e usuário; ◦ Cada máquina pode rodar um Sistema Operacional diferente;
  38. 38. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Cópias virtuais do 370s TimeSharing; Chamadas ao Sistema 38 Instruções de E/S Hardware (VMM) VM/370 CMS CMSCMS TRAP Chamadas ao sistema TRAP Monitor da MMonitor da MMonitor da MMonitor da Máquina Virtualquina Virtualquina Virtualquina Virtual roda sobre o hardware e implementa multiprogramação Cada máquina pode rodar um Sistema Operacional diferente
  39. 39. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Atualmente, a idéia de máquina virtual é utilizada em contextos diferentes: ◦ Programas MS-DOS: rodam em computadores 32bits; As chamadas feitas pelo MS-DOS ao Sistema Operacional são realizadas e monitoradas pelo monitor da máquina virtual (VMM); 39 e monitoradas pelo monitor da máquina virtual (VMM); Virtual 8086; ◦ Programas JAVA (Máquina Virtual Java-JVM): o compilador Java produz código para a JVM (bytecode). Esse código é executado pelo interpretador Java: Programas Java rodam em qualquer plataforma, independentemente do Sistema Operacional;
  40. 40. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Vantagens ◦ Flexibilidade; Desvantagem: ◦ Simular diversas máquinas virtuais não é uma tarefa 40 ◦ Simular diversas máquinas virtuais não é uma tarefa simples sobrecarga;
  41. 41. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Baseados emBaseados em KernelKernel (núcleo)(núcleo) Kernel é o núcleo do Sistema Operacional Provê um conjunto de funcionalidades e serviços que suportam várias outras funcionalidades do SO O restante do SO é organizado em um conjunto 41 O restante do SO é organizado em um conjunto de rotinas não-kernel Kernel Hardware Rotinas não kernel Interface com usuário
  42. 42. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– MicroMicro--KernelKernel 42 Modo kernel Modo usuário Microkernel mensagem m ensagem Hardware
  43. 43. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Reduzir o Sistema Operacional a um nível mais simples: ◦ Kernel: implementa a comunicação entre processos clientes e processos servidores Núcleo mínimo; 43 ◦ Maior parte do Sistema Operacional está implementado como processos de usuários (nível mais alto de abstração); ◦ Sistemas Operacionais Modernos;
  44. 44. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Cada processo servidor trata de uma tarefa 44 processo cliente processo cliente servidor processos servidor terminal .......... servidor arquivos Núcleo (kernel)
  45. 45. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Os processos servidores não têm acesso direto ao hardware. Assim, se algum problema ocorrer com algum desses servidores, o hardware não é afetado; 45 processo cliente processo cliente servidor processos servidor terminal .......... servidor arquivos Núcleo (kernel)
  46. 46. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor processo cliente processo cliente servidor processos servidor terminal .......... servidor arquivos 46 O mesmo não se aplica aos serviços que controlam os dispositivos de E/S, pois essa é uma tarefa difícil de ser realizada no modo usuário devido à limitação de endereçamento. Sendo assim, essa tarefa ainda é feita no kernel. Núcleo (kernel)
  47. 47. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Adaptável para Sistemas Distribuídos; 1 2 3 4 Máquina Máquina Máquina Máquina 47 Cliente Kernel Cliente Kernel Kernel Kernel Servidor Rede de Comunicação Mensagem Cliente Servidor Servidor

×