Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Tema 3 Sistemas Operacionais e a organização em processos Sistemas Operacionais Luis Cezar...
Transcript of Tema 3 Sistemas Operacionais e a organização em processos Sistemas Operacionais Luis Cezar...
Tema 3Sistemas Operacionais e a organização em processos
Sistemas Operacionais
Luis Cezar Ribeiro
Estrutura dos Sistemas operacionais
O sistema operacional é formado por um conjunto de rotinas que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio sistema.
Estrutura dos Sistemas operacionais
Esse conjunto de rotinas é chamado núcleo do sistema ou Kernel (cérebro). As principais funções do núcleo são:•tratamento de interrupções;•criação e eliminação de processos;•sincronização e comunicação de processos;•escalonamento e controle dos processos;•gerência de memória;•gerência do sistema de arquivos;•operações de entrada e saída;•contabilização e segurança do sistema.
System CallsUma preocupação que surge na grande maioria dos projetos de sistemas operacionais é a implementação de mecanismos de proteção ao núcleo do sistema e de acesso aos seus serviços.
HardwareAplicaçãoSystem
Call Núcleo
As system call podem ser divididas em grupos de função:
* Gerência de processosCriação e eliminação de processosAlteração das características do
processoSincronização e comunicação entre
processos* Gerência de memória
Alocação e desalocação de memória*Gerência de entrada/saída
Operações de entrada/saídaManipulação de arquivos e diretórios
Memória
principal
PROGRAMA AProgramas do
usuário executam no modo usuário
PROGRAMA BSYSTEM CALL
ROTINA DO S.O.
Sistema Operacional executa no
modo Kernell
Sistemas MonolíticosSimplesmente não há estruturação visível na organização monolítica. O sistema operacional é escrito como um conjunto de procedimentos, cada um dos quais podendo chamar qualquer dos demais sempre que necessário.
Sistemas em CamadasUm sistema em camadas divide o sistema operacional em camadas sobrepostas. Neste tipo de implementação, as camadas mais internas são mais privilegiadas que as mais externas.
Operador5
Programas de Usuário4
Entrada/Saída3
Comunicação2
Gerência de memória1
Multiprogramação0
Máquinas Virtuais
Sistemas Operacionais Modernos 2ª Ed.
O conceito que surgiu na década de 1970, consiste principalmente em um S. O. que atua como supervisor, e permite a instalação de outros S.O.´s no mesmo Hardware, de maneira independente e hermética.Esta aplicação é atualmente largamente utilizada em ambientes complexos como os DataCenters.
Modelo Cliente ServidorUma tendência dos sistemas operacionais modernos é tornar o núcleo do sistema operacional o menor e mais simples possível.
Núcleo
Hardware
Cliente
Servidorde arquivo
Servidorde memória
Servidorde processo
Servidorde rede
Modo usuário
Modo kernel
O modelo do ProcessoNeste modelo, todo software passível de rodar em um computador, muitas vezes incluindo o próprio sistema operacional, é organizado como um conjunto de processos sequenciais, ou simplesmente processos.
Hierarquias de Processos
Na grande maioria dos sistemas, é preciso haver um mecanismo que permita criar e destruir processos, quando necessário, durante a operação.
Estado do ProcessoConsiderando que os S. O. executam diversos processos simultaneamente, é importante entender as suas instruções serão alternadamente executadas pelo processador.
Sistemas Operacionais Modernos 2ª Ed.
Esta visão dá origem ao modelo mostrado na figura abaixo. Nele, o nível mais baixo do sistema operacional é escalonador de processos, o qual é programado em código de montagem. O resto do sistema operacional é estruturado confortavelmente na forma de processos.
Modelo de Processo
Processo
1 2 ... n-2 n-1
Escalonador
Operação de criação de processos
Principais eventos que levam à criação de processos
1. Início do sistema2. Execução de chamada ao sistema de
criação de processos3. Solicitação do usuário para criar um
novo processo4. Início de um job em lote
Operação de encerramento de processos
Condições que levam ao término de processos
1. Saída normal (voluntária)2. Saída por erro (voluntária)3. Erro fatal (involuntário)4. Cancelamento por um outro processo
(involuntário)
Campos de uma tabela de processos
Threads
Um thread é uma sequência de instruções que vão ser executadas num programa.Pode-se dizer que um thread é um procedimento que é executado dentro de um processo de uma forma independente.
Modelo de Threads
A tabela abaixo apresenta a organização das Threads pelo sistema Operacional, onde a primeira coluna é comum para todos os processos, e a segunda coluna apresenta os itens restritos a cada Thread.
Interrupção e ExceçãoUma interrupção é gerada pelo sistema operacional ou por algum dispositivo e, neste caso, independe do programa que está sendo executado. Neste caso, a UCP deve interromper o programa para atender a solicitação do dispositivo.
Interrupção
.
.
.
.
.
.
.
.
.
.
.
.
.
Salva osregistradores
Identifica a origemda interrupção
Rotina deTratamentoObtém o endereço da
rotina de tratamento :::
Restauraos registradores
Programa
Buffering
A técnica de buffering consiste na utilização de uma área de memória para a transferência de dados entre os periféricos e a memória principal denominada buffer.
BufferControlador
de E/SUCP
Memória Principal
GravaçãoGravação
LeituraLeitura
Spooling
A técnica de spooling (simultaneous peripheral operation on-line) foi introduzida no final dos anos 50 para aumentar a produtividade e a eficiência dos sistemas operacionais. Atualmente, a técnica de spooling é implementada na maioria dos sistemas operacionais.
SistemaOperacionalPrograma
Impressão
Arquivo de Spool
ReentrânciaReentrância é a capacidade de um código de programa (código reentrante) poder ser compartilhado por diversos usuários, exigindo que apenas uma cópia do programa esteja na memória. A reentrância permite que cada usuário possa estar em um ponto diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuários.
Até a próxima aula.