Escolar Documentos
Profissional Documentos
Cultura Documentos
Tipos de Sistemas
Operacionais
Tempo Real
1) Conceitos Fundamentais de Sistemas Operacionais;
2) Evolução Histórica dos Sistemas Operacionais;
3) Classificação de Sistemas Operacionais;
4) Interrupções;
5) Conceitos de concorrência;
6) Estruturas dos Sistemas Operacionais.
Sistemas operacionais podem ser vistos como um
conjunto de rotinas executadas de forma concorrente e
ordenada (Pinkert, 1990).
A possibilidade de o processador executar instruções ao
mesmo tempo que outras operações, como por
exemplo, operações de E/S, permite que diversas
tarefas sejam executadas concorrentemente pelo
sistema.
O conceito de concorrência é o princípio básico para o
projeto e a implementação de sistemas
multiprogramáveis.
Sistemas Monoprogramáveis Sistemas Multiprogramáveis
• Execução de um programa por vez, • Execução de Vários programas
processador dedicado exclusivamente a essa simultaneamente (concorrente);
tarefa; • Vários programas podem estar residentes em
• Desperdício na utilização do processador, memória, concorrendo pela utilização do
enquanto uma leitura em disco é realizada, o processador;
processador permanece ocioso; • Quando um programa solicita uma operação
• Subutilização da memória, ocasionando de E/S outros programas poderão utilizar o
espaços livres sem utilização. processador;
• Não existe concorrência;
A utilização concorrente da UCP deve ser
implementada de maneira que, quando um programa
perde o uso do processador e depois retorna para
continuar o processamento, seu estado deve ser idêntico
ao do momento em que foi interrompido.
O programa deverá continuar sua execução exatamente
na instrução seguinte aquela em que havia parado,
aparentando que nada aconteceu.
Memória
◦ Um programa que não ocupe totalmente a memória ocasiona a
existência de áreas livres sem utilização.
◦ Nos sistemas multiprogramáveis, vários programas podem estar
residentes em memória, concorrendo pela utilização do processador.
◦ Dessa forma, quando um programa solicita uma operação de E/S
outros programas poderão utilizar o processador.
Tempo de Processador menos ocioso;
Memória utilizada de forma eficiente.
Durante a execução de um programa, alguns eventos
inesperados podem ocorrer, interrompendo o seu fluxo
normal de execução e ocasionando um desvio forçado.
Exemplos:
◦ Dispositivos: teclado, mouse, ou outro dispositivo de E/S,
informando a UCP que alguma operação de E/S terminou ou o
temporizador informa que o tempo (Time Slice) de um
processo terminou.
A exceção ocorre em conseqüência de algum erro
durante a execução de uma instrução do próprio
programa.
Exemplos:
◦ Tentativa de acesso ilegal à memória, estouro de pilha,
tentativa de execução de instrução privilegiada no modo do
usuário.
É uma chamada de sistema (system call), realizada
sempre quando um utilitário ou aplicativo solicita
recursos de hardware ao sistema operacional.
Exemplos:
◦ Solicitação de leitura ou gravação de arquivo, leitura do
teclado, impressão na tela, etc.
O registrador PC (Program Counter – contador
de programa) aponta para a próxima instrução a
executar;
Kernel: Núcleo do sistema operacional responsável
pelas tarefas críticas do sistema;
Aplicações são executadas em modo usuário, ou seja,
modo que não possui privilégios para operações que
coloquem o sistema em risco (ex. escrever no disco,
criar novas tarefas etc);
Quando estas aplicações precisam executar tarefas
críticas, é necessário que haja uma mudança para modo
kernel;
Esta mudança ocorre através de uma “system call” -
chamadas ao sistema (system call).
System Call
◦ Mecanismo responsável pela mudança de modo usuário para
modo kernel.
◦ Ao invés de executar diretamente funções do kernel, a
aplicação executa uma função intermediária que verifica se
o acesso ao kernel é seguro e, só então, completa a operação.
Mecanismo de proteção ao núcleo do sistema e de
acesso aos seus serviços.
O usuário (ou aplicação), quando deseja solicitar algum
serviço do sistema, realiza uma chamada a uma de suas
rotinas (ou serviços) através da system calls (chamadas
ao sistema).
Tipos de Instruções
◦ Privilegiadas → (System Call)
◦ Não-privilegiadas
Modos de Acesso
◦ Usuário
◦ Kernel ou supervisor
Os sistemas operacionais são classificados em relação
às atribuições do kernel e a relação entre seus módulos
em:
◦ Monolíticos;
◦ Camadas
◦ Microkernel.
S.O. roda em Modo kernel, supervisor ou núcleo,
protegendo o hardware da ação direta do usuário.
Desvantagens:
◦ Implementação difícil;
◦ Problema de desempenho, devido a quantidade de mudanças
do modo de acesso entre clientes e servidores.
◦ Algumas funções como E/S exigem acesso direto ao hardware.
Fortemente inspirada no princípio de
micronúcleo
Apesar das boas propriedades
de modularidade, flexibilidade e
robustez proporcionadas pelos
micronúcleos, sua adoção não
teve o sucesso esperado devido
ao baixo desempenho. Uma
solução encontrada para esse
problema consiste em trazer de
volta ao núcleo os componentes
mais críticos, para obter melhor
desempenho. Essa abordagem
intermediária entre o núcleo
monolítico e micronúcleo é
denominada núcleo híbrido.