Documente Academic
Documente Profesional
Documente Cultură
SIN351 2020 2
Estrutura dos Sistemas Operacionais
• Monolíticos
• Em camadas
• Máquinas Virtuais
• Arquitetura Micro-kernel
• Cliente-Servidor
SIN351 2020-1 3
Estrutura dos Sistemas Operacionais: Monolítico
• Todos os módulos do sistema são compilados individualmente e depois ligados
uns aos outros em um único arquivo-objeto;
• 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;
SIN351 2020-1 4
Estrutura dos Sistemas Operacionais: Monolítico
Modo usuário
Modo kernel
System call
H a r d wa r e
SIN351 2020-1 5
Estrutura dos Sistemas Operacionais: Monolítico
SIN351 2020-1 6
Estrutura dos Sistemas Operacionais: Monolítico
SIN351 2020-1 7
Estrutura dos Sistemas Operacionais: Em camadas
• Possui uma hierarquia de níveis;
SIN351 2020-1 8
Estrutura dos Sistemas Operacionais: Em camadas
Nível 5
Nível 4
Nível 3
Nível 2
Nível 1
SIN351 2020-1 9
Estrutura dos Sistemas Operacionais: Em camadas
Nível 5
Nível 1
Nível 0
SIN351 2020-1 10
Estrutura dos Sistemas Operacionais: Em camadas
Nível 2
Nível 1
Nível 0
SIN351 2020-1 11
Estrutura dos Sistemas Operacionais: Em camadas
Nível 5
Nível 2
Nível 1
Nível 0
SIN351 2020-1 12
Estrutura dos Sistemas Operacionais: Em camadas
Nível 5
Nível 4
Nível 3
SIN351 2020-1 13
Estrutura dos Sistemas Operacionais: Em camadas
Nível 5
Nível 4
Nível 3
Nível 0
SIN351 2020-1 14
Estrutura dos Sistemas Operacionais: Em camadas
Nível 5
Nível 4
• Processo do operador do sistema;
Nível 3
Nível 2
Nível 1
Nível 0
SIN351 2020-1 15
Estrutura dos Sistemas Operacionais: Máquina Virtual
SIN351 2020-1 17
Estrutura dos Sistemas Operacionais: Má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;
• 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;
SIN351 2020-1 18
Estrutura dos Sistemas Operacionais: Máquina Virtual
SIN351 2020-1 19
Estrutura dos Sistemas Operacionais: Máquina Virtual
Vantagens:
• Flexibilidade;
Desvantagem:
• Simular diversas máquinas virtuais não é uma tarefa simples sobrecarga;
➢Leite, D., Peixoto, M., Santana, M., & Santana, R. (2012, October). Performance
evaluation of virtual machine monitors for cloud computing. In 2012 13th symposium on
computer systems (pp. 65-71). IEEE.
SIN351 2020-1 20
Estrutura dos Sistemas Operacionais: Kernel-based
Kernel
Hardware
SIN351 2020-1 21
Estrutura dos Sistemas Operacionais: Micro Kernel
M o d o u s u á ri o
M o d o kernel
Microkernel
Hardware
SIN351 2020-1 22
Estrutura dos Sistemas Operacionais: Cliente/Servidor
SIN351 2020-1 23
Estrutura dos Sistemas Operacionais: Cliente/Servidor
Núcleo (kernel)
SIN351 2020-1 24
Estrutura dos Sistemas Operacionais: Cliente/Servidor
Núcleo (kernel)
SIN351 2020-1 25
Estrutura dos Sistemas Operacionais: Cliente/Servidor
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 Cada processo servidor trata de uma tarefa
endereçamento. Sendo assim, essa tarefa
ainda é feita no kernel.
Núcleo (kernel)
SIN351 2020-1 26
Estrutura dos Sistemas Operacionais: Cliente/Servidor
• Adaptável para Sistemas Distribuídos;
1 2 3 4
Rede de Mensagem
Comunicação Cliente Servidor
SIN351 2020-1 27
Processos & Threads
• Introdução
• Escalonamento de Processos
• Threads
• Deadlock
SIN351 2020-1 28
Processos
• Multiprogramação:
• Um processo pode ser composto por vários programas, dados de entrada, dados de saída
e um estado (executando, bloqueado, pronto)
SIN351 2020-1 29
Processos
• Inicialização do sistema;
SIN351 2020-1 30
Processos
• Processos podem ser:
• Leitura de um arquivo;
• Com funções específicas, que independem de usuários, que são criados pelo sistema
operacional e que são processados em segundo plano (daemons):
• Serviços de Impressão;
SIN351 2020-1 31
Processos
Criando Processos
• UNIX:
• Fork()
• Cria um processo idêntico (filho) ao processo que a chamou (pai), possuindo a mesma
imagem de memória, as mesmas cadeias de caracteres no ambiente e os mesmos
arquivos abertos;
• Depois, o processo filho executa uma chamada para mudar sua imagem de memória e
executar um novo programa
• Windows:
• CreateProcess()
• Uma única função trata tanto do processo de criação quanto da carga do programa
correto no novo processo
SIN351 2020-1 32
Processos
Exemplo
• Processo init: gera vários processos filhos para atender os vários terminais que
existem no sistema;
• Tente no seu tempo livre matar o processo PID 0 e outros > 0;
SIN351 2020-1 33
Processos
Finalizando
• Condições:
SIN351 2020-1 34
Processos
Finalizando
• Condições (continuação):
SIN351 2020-1 35
Processos
• Observe no quadro.
SIN351 2020-1 36
Processos
SIN351 2020-1 37
Processos
Escalonador
Processos
0 1 ... n-1 n
Escalonador de Processos
SIN351 2020-1 38
Processos
Implementação
• Tabela de Processos:
• Cada entrada possui um ponteiro para o bloco de controle de processo (BCP) ou descritor
de processo;
SIN351 2020-1 39
Processos
Implementação BCP – P1
Tabela de Processos
BCP – P2
...
...
BCP – Pn
SIN351 2020-1 40
Processos
• Algumas Informações do BCP
SIN351 2020-1 41
Processos & Threads
• Introdução
• Escalonamento de Processos
• Threads
• Deadlock
SIN351 2020-1 42
Processos
Escalonamento
SIN351 2020-1 43
Processos
Escalonamento
• Mudança de Contexto:
• Overhead de tempo;
• Tarefa cara:
• Salvar as informações do processo que está deixando a CPU em seu BCP conteúdo dos
registradores;
• Carregar as informações do processo que será colocado na CPU copiar do BCP o conteúdo dos
registradores;
SIN351 2020-1 44
Processos
Escalonamento
• Situações nas quais escalonamento é necessário:
• Quando uma interrupção de E/S ocorre o escalonador deve decidir por: executar o
processo que estava esperando esse evento; continuar executando o processo que já
estava sendo executado ou executar um terceiro processo que esteja pronto para ser
executado;
SIN351 2020-1 45
Processos
Escalonamento
• Hardware de relógio fornece interrupções de relógio e a decisão do
escalonamento pode ser tomada a cada interrupção ou a cada k interrupções;
• Algoritmos de escalonamento podem ser divididos em duas categorias
dependendo de como essas interrupções são tratadas:
SIN351 2020-1 46
Processos
Escalonamento
• Categorias de Ambientes:
Escalonamento
• Características de algoritmos de escalonamento:
• Qualquer sistema:
• Justiça (Fairness): cada processo deve receber uma parcela justa de tempo da CPU;
SIN351 2020-1 48
Processos
Escalonamento
• Características de algoritmos de escalonamento:
• Sistemas em Batch:
• Vazão (throughput): maximizar o número de jobs executados por hora;
• Tempo de retorno (turnaround time): tempo no qual o processo espera para ser
finalizado;
• Eficiência: CPU deve estar 100% do tempo ocupada;
SIN351 2020-1 49
Processos
Escalonamento
• Características de algoritmos de escalonamento:
• Sistemas Interativos:
• Tempo de resposta: tempo esperando para iniciar execução;
• Proporcionalidade: satisfação do usuários;
SIN351 2020-1 50
Processos
Escalonamento
• Características de algoritmos de escalonamento:
• Sistemas em Tempo Real:
SIN351 2020-1 51
Processos & Threads
• Introdução
• Escalonamento de Processos
➢Algoritmos de Escalonamento
• Threads
• Deadlock
SIN351 2020-1 52
Tarefa
SIN351 2020-1 53
Referências
SIN351 2020-1 54