Buscar

Sistemas Operacionais - Processos - IV

Prévia do material em texto

Sistemas Operacionais
1 – Introdução ao estudo de Sistemas 
Operacionais
Instituto Educacional Santo Agostinho – IESA
Faculdade de Ciências Exatas e Tecnológicas Santo Agostinho – FACET
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Fev / 2016
Rafael Antonio Gonçalves Lima
Sumário
1.7. Estrutura do Sistema Operacional
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7. Estrutura do Sistema Operacional
• O S.O. é formado por um conjunto de rotinas que
oferece serviços aos usuários e suas aplicações.
• Esse conjunto de rotinas é denominado núcleo do
sistema, ou kernel.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7. Estrutura do Sistema Operacional
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7. Estrutura do Sistema Operacional
• As rotinas do sistema são executadas
concorrentemente sem uma ordem predefinida, com
base em eventos dissociados do tempo (eventos
assíncronos).
• As principais funções do núcleo encontradas nos 
sistemas operacionais são:
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.1. Funções do Núcleo
• tratamento de interrupções e exceções;
• criação e eliminação de processos e threads;
• Sincronização e comunicação entre processos e threads;
• escalonamento e controle dos processos e threads;
• gerência de memória;
• gerência de sistema de arquivos;
• gerência de dispositivos de E/S;
• suporte a redes locais e distribuídas;
• contabilização do uso do sistema;
• auditoria e segurança do sistema.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.1. Funções do Núcleo
• Como vários programas ocupam a memória simultaneamente,
cada usuário deve possuir uma área reservada onde seus
dados e código são armazenados.
• O S.O. implementa mecanismos de proteção, de forma a
preservar estas informações de memória reservada.
• Caso um programa tente acessar uma posição de memória fora
de sua área ocorrerá um erro indicando a violação de acesso.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.1. Funções do Núcleo
• De modo semelhante ao compartilhamento de memória, um
disco pode armazenar arquivos de diferentes usuários.
• O S.O. deve garantir a integridade e a confidencialidade dos
dados, permitindo ainda que dois ou mais usuários possam ter
acesso simultâneo ao mesmo arquivo.
• O S.O. deve implementar mecanismos de proteção que
controlem o acesso concorrente aos diversos recursos do
sistema.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.2. Modo de Acesso
• Uma preocupação que surge nos projetos de sistemas
operacionais é a implementação de mecanismos de proteção
ao núcleo do sistema e de acesso aos seus serviços.
• Muitas das principais implementações de segurança de um
S.O. utilizam um mecanismo presente no hardware dos
processadores, conhecido como modo de acesso.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.2. Modo de Acesso
• Em geral, os processadores possuem dois modos de acesso;
modo usuário e modo kernel.
• Quando o processador trabalha no modo usuário, uma
aplicação só pode executar instruções conhecidas como não-
privilegiadas, tendo acesso a um número reduzido de
instruções, enquanto no modo Kernel a aplicação pode ter
acesso ao conjunto total de instruções do processador.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.2. Modo de Acesso
• O modo de acesso é determinado por um conjunto de bits,
localizados no registrador de status do processador, que indica
o modo de acesso corrente. Por intermédio desse registrador,
o hardware verifica se a instrução pode ou não ser executada.
• As instruções privilegiadas só podem ser executadas quando o
modo de acesso do processador encontra-se em kernel.
• Os programas por si só, não devem acessar diretamente alguns
recursos, como o disco. A utilização do disco por exemplo
deverá ser gerenciada unicamente pelo S.O.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.2. Modo de Acesso
• Um outro exemplo do uso dos modos de acesso é a proteção
do próprio núcleo do sistema operacional residente na
memória principal.
• Para uma aplicação escrever numa área onde resida o S.O., o
programa deve estar sendo executado no modo kernel.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.3. Rotinas do SO e System Calls
• As rotinas do S.O. compõem o núcleo do sistema.
• Todas as funções do núcleo são implementadas por rotinas do
sistema que necessariamente possuem em seu código
instruções privilegiadas.
• Todo o controle de execução de rotinas do sistema operacional
é realizado pelo mecanismo conhecido como system call. Toda
vez que uma aplicação desejar chamar uma rotina do S.O.
verificará se a aplicação possui privilégios necessários para
executar. Em caso negativo, o S.O. impedirá o desvio para a
rotina do sistema (mecanismo de proteção por software).
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.3. Rotinas do SO e System Calls
• Considerando que a aplicação possua o devido privilégio para
chamar a rotina do sistema desejada, o S.O. primeiramente
salva o conteúdo corrente dos registradores, troca o modo de
acesso do processador de usuário para kernel e realiza o desvio
para a rotina alterando o registrador PC com o endereço da
rotina chamada.
• Ao término da execução da rotina do sistema, o modo de
acesso é alterado de kernel para usuário e o contexto dos
registrados restaurados para que aplicação continue.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.3. Rotinas do SO e System Calls
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.3. Rotinas do SO e System Calls
• Uma aplicação sempre deve executar com o processador em
modo usuário.
• Caso uma aplicação tente executar diretamente uma instrução
privilegiada sem ser por intermédio de uma chamada à rotina
do sistema, um mecanismo de proteção por hardware
garantirá a segurança do sistema, impedindo a operação.
• Nesse caso, o hardware do processador sinalizará um erro,
gerando uma exceção e a execução do programa é
interrompida, protegendo desta forma o núcleo.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.3. Rotinas do SO e System Calls
• Os mecanismos de system call e de proteção por hardware
garantem a segurança e a integridade do sistema.
• Com isso, as aplicações estão impedidas de executarem
instruções privilegiadas sem a autorização e a supervisão do
S.O.
 As rotinas do sistema e o mecanismo system call podem ser 
entendidos como uma porta de entrada para o núcleo do 
sistema operacional e seus serviços.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.3. Rotinas do SO e System Calls
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
System Call
1.7.4. Chamada a Rotinas do SO
• O termo system call é tipicamente utilizado em sistemas Unix, 
porém em outros sistemas o mesmo conceito é apresentado 
com diferentes nomes, como system services, no OpenVMS, e 
Application Program Interface (API), no MS Windows.
• Ex.: Utilizando a API GetSystemTime no Delphi
• GetSystemTime(SystemTime);
• DataHoraT := SystemTimeToDateTime(SystemTime);
• DataHoraS := DateTimeToStr(DataHoraT);
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.4. Chamada a Rotinas do SO
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Funções das System Calls
1.7.4. Chamada a Rotinas do SO
• Cada S.O. possui seu próprio conjunto de rotinas, com nomes,
parâmetros e formas de ativação específicos.
• Consequentemente, uma aplicação não pode ser portada
diretamente para outro sistema.
• Assim, a ISO e IEEE desenvolveram um padrão conhecido como
POSIX(Portable Operation System Interface for Unix). O POSIX
estabeleceu um biblioteca-padrão, permitindo que uma
aplicação desenvolvida seguindo este conjunto de chamadas
possa ser portada para os demais sistemas. A maioria dos S.O.
modernos oferece algum suporte ao POSIX, como MS
Windows, SUN-Solaris, etc.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.5. Linguagem de Comandos
• Permite o usuário se comunicar com o sistema operacional.
• Cada comando, depois de digitado pelo usuário, é interpretado
pelo shell ou interpretador de comandos, que verifica a sintaxe
do comando, faz chamadas a rotinas do sistema e apresenta
um resultado.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.6. Interface do usuário com o SO
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.7. Ativação/Desativação do SO
• O procedimento de ativação (boot) se inicia com a execução de
um programa chamado boot loader, que se localiza em um
endereço fixo de uma memória ROM da máquina.
• Este programa chama a execução de outro programa
conhecido como POST (Power-On Self Test), que identifica
possíveis problemas de hardware no equipamento.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.7. Ativação/Desativação do SO
• Após esta fase, o procedimento de ativação verifica se há no
sistema computacional algum dispositivo de armazenamento
onde há um S.O. residente.
• Se um dispositivo com o S.O. é encontrado, um conjunto de
instruções é carregado para a memória e localizado em um
bloco específico do dispositivo conhecido como setor de boot
(boot sector).
• A partir da execução deste código, o S.O. é finalmente
carregado para a memória principal.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.7. Ativação/Desativação do SO
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.8. Exemplos de Comandos
• No Linux / Unix
• ls - Lista o conteúdo de um diretório
• cd – Altera o diretório
• mv – renomeia e move arquivos/pastas
• rm – remove arquivos/pastas
• No MS Windows
• Manual Linux: www.guiafoca.org
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.9. Arquiteturas de SO
• Arquitetura 
Monolítica
• Pode ser comparada
com uma aplicação
formada por vários
módulos que são
compilados
separadamente e depois
linkados, formando um
grande e único
programa executável.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.9. Arquiteturas de SO
• Arquitetura em Camadas do 
OpenVMS
• O sistema é divido em níveis
sobrepostos.
• Cada camada oferece um conjunto
de funções que podem ser
utilizadas apenas pelas camadas
superiores.
• Exemplos de S.O.:
• THE
• MULTICS
• OpenVMS
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.9. Arquiteturas de SO
• Arquitetura em Camada
• Atualmente, a maioria dos sistemas utiliza o modelo de duas
camadas, em que existem os modos de acesso usuário (não-
privilegiado) e kernel (privilegiado).
• Ex.: Unix e MS Windows.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.9. Arquiteturas de SO
• Máquina Virtual
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.9. Arquiteturas de SO
• Máquina Virtual Java
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.9. Arquiteturas de SO
• Arquitetura Microkernel
• Núcleo é menor e o mais simples possível.
• Serviços dos sistema são disponibilizados através de
processos, em que cada um tem determinadas funções.
• Utiliza troca de mensagens.
• Utilizado em sistemas distribuídos.
• Ex. de S.O.:
• Amoeba e Exokernel.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.7.9. Arquiteturas de SO
• Arquitetura Microkernel
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Exercícios de Fixação
1. O que é o núcleo do S.O. e suas principais funções?
2. O que são instruções privilegiadas e não privilegiadas? Qual a
relação dessas instruções com os modos de acesso?
3. Explique como funciona a mudança de modos de acesso e dê
um exemplo de como um programa faz uso desse mecanismo.
4. Por que as rotinas do S.O. possuem instruções privilegiadas?
5. O que é uma system call e qual sua importância para a
segurança do sistema?
6. Explique o processo de ativação (boot) do S.O.
7. Quais as vantagens do modelo de máquina virtual?
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Bibliografia
1. MACHADO, Francis B. Arquitetura de Sistemas Operacionais. 4 ed.
Rio de Janeiro: LTC, 2007.
2. TANENBAUM, Andrew S. Sistemas operacionais modernos. 2 Ed.
Rio de Janeiro: Prentice-Hall, 2005.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Conteúdo da Próxima Aula
• Unidade 2: Processos e Threads
Obrigado ! 
Rafael A. G. Lima (rafaelg@fasa.edu.br)
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA

Continue navegando