III – Estrutura do Sistema Operacional
1.
2.
3.
4.
5.
6.
7.
8.
Introdução
Funções do Núcleo
Modo de Acesso
Rotinas do S.O. e System Call
Chamada a Rotinas do S.O.
Linguagem de Comandos
Ativação/Desativação do Sistema
Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
1. Introdução
S.O.
Conjunto de rotinas que oferece Núcleo
serviços aos usuários e às suas Kernel
aplicações
Ferramentas que acompanham o S.O.:
Utilitários
Linguagens de comando
III – Estrutura do Sistema Operacional
1.
III – Estrutura do Sistema Operacional
Introdução
Aplicações
Kernel
Utilitários
Linguagem
de
Comando
Rotinas do Sistema Operacional
Hardware
III – Estrutura do Sistema Operacional
2. Funções do Núcleo
III – Estrutura do Sistema Operacional
Seu funcionamento é diferente de uma
aplicação convencional.
• As rotinas são executadas sem ordem
predefinidas, com base em eventos
dissociados do tempo (eventos assíncronos);
• Muitos desses eventos estão relacionados ao
hardware e a tarefas internas do próprio S.O.;
III – Estrutura do Sistema Operacional
2. Funções do Núcleo
III – Estrutura do Sistema Operacional
Principais Funções do Núcleo
•
Tratamento de interrupções e exceções;
•
Criação e eliminação de 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.
III – Estrutura do Sistema Operacional
2. Funções do Núcleo .................Principais Funções do Núcleo
III – Estrutura do Sistema Operacional
Para um sistema multiprogramável
problemas relativos à segurança como:
há
Considerando a utilização de mais de um
usuário utilizando os mesmos recursos:
Processador
Memória
Dispositivos de E/S
Exigências: O S.O. garante a confiabilidade dos
recursos concorrentes de todos os programas e
dados bem como da sua integridade fazendo:
III – Estrutura do Sistema Operacional
2. Funções do Núcleo .................Principais Funções do Núcleo
III – Estrutura do Sistema Operacional
• Compartilhamento da CPU.
• Reserva de memória para dados e códigos
armazenados, implementando mecanismos
de proteção.
• Para o caso em que diferentes programas
compartilhem a mesma área de memória, o
S.O. deve oferecer mecanismos para que a
comunicação seja realizada de forma
sincronizada
e
controlada,
evitando
inconsistência das informações.
III – Estrutura do Sistema Operacional
2. Funções do Núcleo .................Principais Funções do Núcleo
III – Estrutura do Sistema Operacional
• O armazenamento simultâneo em disco
também é .
• Para a solução de diversos problema
originados
pelo
ambiente
multiprogramável, o S. O. deve
implementar mecanismos de proteção
que controlem o acesso concorrente aos
diversos recurso do sistema.
III – Estrutura do Sistema Operacional
3. Modo de Acesso
III – Estrutura do Sistema Operacional
O sistema operacional deve permanecer
protegido, pois, uma vez corrompido, os
processos ficarão inadequados.
Em geral os processadores possuem dois
modos de acesso:
 Modo Usuário
 Modo Kernel
III – Estrutura do Sistema Operacional
3. Modo de Acesso
III – Estrutura do Sistema Operacional
 Modo Usuário: é o modo não privilegiado
com acesso a um número reduzido de
instruções
 Modo Kernel: Acessa o conjunto total de
instruções do processador.
O modo de acesso é determinado no
registrador de Status do processador que
indica o modo de acesso corrente. Através
deste registrador o hardware verifica se as
instruções podem ou não ser executada.
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
4. Rotinas do S.O. (RSO) e System Call
As RSO compõem o núcleo do S.O. oferecendo
serviços aos usuários e suas aplicações.
 Possuem instruções privilegiadas
Para que estas rotinas sejam executadas, o
processador deve estar no modo kernel,
exigindo mecanismos de proteção (System Call).
Toda vez que uma aplicação chama uma
aplicação chama uma rotina do S.O., o
mecanismo de System Call é ativado.
III – Estrutura do Sistema Operacional
4. Rotinas do S.O. (RSO) e System Call
III – Estrutura do Sistema Operacional
O S.O. verifica se a aplicação possui privilégios.
Em caso negativo o desvio é impedido,
sinalizando a impossibilidade ao programa
chamador.
Este mecanismo de proteção por software é
previamente definido pelo administrador do
sistema.
Havendo privilegio, o processo ocorre conforme
figura abaixo.
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
4. Rotinas do S.O. (RSO) e System Call
Modo Usuário
Aplicação
Salva Contexto dos
Registradores
Altera o modo do
processador para
Kernel
Altera o modo do
processador para
Usuário
Restaura Contexto
dos Registradores
III – Estrutura do Sistema Operacional
Rotina do
S.O.
Modo
kernel
4. Rotinas do S.O. (RSO) e System Call
III – Estrutura do Sistema Operacional
Instruções privilegiadas executadas no modo
usuário são bloqueadas por hardware para
solicitação de acesso à disco, o mecanismo de
system call verifica se a aplicação possui
privilegio.
Em caso positivo, o modo usuário do
processador é alterado para kernel, executa-se a
rotina de acesso e posteriormente retorna-se o
modo para kernel.
Os mecanismos: System Call e proteção por
Hardware garantem a integridade do sistema.
III – Estrutura do Sistema Operacional
5. Chamada a Rotinas do S.O.
III – Estrutura do Sistema Operacional
Aplicação
As chamada a RSO seguem o seguinte esquema.
Rotinas do S.O
Núcleo
do S.O.
Hardware
System Call  Típico do Unix
System Services  OpenVMS
API (Aplication Program Interface) Ms Windows
III – Estrutura do Sistema Operacional
5. Chamada a Rotinas do S.O.
III – Estrutura do Sistema Operacional
Exemplo: Uso da API GetSystemTime para obter
a hora do MS Widows.
Função: SystemTimeToDateTime converte a
hora para o formato DataHoraT do Delphi e em
seguida para o formato DataTimeToStr.
GetSystemTime(SystemTime);
DataHoraT:=SystemToDateTime(SystemTime);
DataHoraS:=DateTimeToStr(DataHoraT);
RichiEdit1.Lines.Add(DataHoraS);
A última linha exibe a data e a hora do sistema
em uma janela previamente criada.
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
5. Chamada a Rotinas do S.O.
As rotinas do sistema podem ser divididas por
grupos de funções.
Funções do System Call
Funções
Gerencia de
processos e
threads
•
•
•
•
Gerencia de
Memória
III – Estrutura do Sistema Operacional
•
System Call
Criação e eliminação de processos e
threads
Alteração das características de processos
e threads
Sincronização e comunicação entre
processos e threads
Obtenção de informações entre processos
e threads
Alocação e desalocação de memória
III – Estrutura do Sistema Operacional
5. Chamada a Rotinas do S.O.
Funções do System Call
Funções
Gerencia de
Sistemas de
arquivos
•
•
•
•
•
Gerencia de
dispositivos
•
•
•
III – Estrutura do Sistema Operacional
System Call
Criação e eliminação de arquivos e
diretórios
Alteração das características de arquivos e
diretórios
Abrir e fechar arquivos
Leitura e gravação de arquivos
Obtenção de informações sobre arquivos e
diretórios
Alocação e desalocação de dispositivos
Operações de entrada e saída em
dispositivos
Obtenção de informações sobre
dispositivos
5. Chamada a Rotinas do S.O.
III – Estrutura do Sistema Operacional
Cada S.O. possui o seu próprio conjunto de
rotinas, com nomes, parâmetros e formas
de ativação específicos.
A aplicação de um S.O. não são portadas
diretamente para outro S.O. sem correção
do programa fonte.
III – Estrutura do Sistema Operacional
5. Chamada a Rotinas do S.O.
III – Estrutura do Sistema Operacional
Houve uma tentativa de padronização pelos institutos
ISO (International Organization for Standardization)
e IEEE (Institute of Eletrical end Eletronic Enginners)
resultando em um conjunto conhecido com PROXI
(Portable Operating System Interface for Unix),
voltada, inicialmente, para unificação de várias
versões do Unix.
O PROXI estabeleceu uma biblioteca padrão.
A maioria dos S.O.’s modernos oferece algum suporte
ao padrão PROXI(Ms Windows, IBM-AIX, UP-UX,
SUN=Solaris)
III – Estrutura do Sistema Operacional
6. Linguagem de Comandos
III – Estrutura do Sistema Operacional
É a linguagem que permite a comunicação
do usuário de forma simples como o
S.O., permitindo, portanto, a execução
de tarefas simples como:
•
•
•
Criar, ler e eliminar arquivos
Consultar diretório
Verificar data e hora armazenadas no
sistema
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
6. Linguagem de Comandos
Cada S.O. possui sua própria linguagem de
Comandos:
•
•
•
OpenVMS – DCL (Digital Command Language)
VMS da IBM – JCL (Job Control Language)
Unix – Comandos do Shell
Exemplos para comandos do MS Windows
Comando
dir
cd
Descrição
Lista conteúdo do diretório
Altera diretório default
type
del
mkdir
ver
Exibe conteúdo do arquivo
Elimina arquivos
Cria um diretório
Mostra versão do windows
III – Estrutura do Sistema Operacional
6. Linguagem de Comandos
III – Estrutura do Sistema Operacional
Algoritmo de execução do comando:
c:\>Comando
O shell interpreta e verifica a sintaxe
Chama as rotinas do sistema
Apresenta os resultados
Por não fazer parte do kernel, o
interpretador de comandos é flexível.
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
6. Linguagem de Comandos
Usuário
Linguagem de
Comandos
Bach ou
shell scripts
Interface Gráfica
Sistema
Operacional
Hardware
Possibilitam a automatização de tarefas.
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
7. Ativação/Desativação do Sistema
O S.O. reside no HD (ou DVD ou CD ou
pendrive.
É carregado no momento que se liga o
computador
pelo
procedimento
denominado ativação do sistema (boot).
O programa boot loader é carregado
endereço fixo da ROM Chama
POST(Power-On-Self-Test) – identificador
dos possíveis problemas de Hardware
III – Estrutura do Sistema Operacional
7. Ativação/Desativação do Sistema
III – Estrutura do Sistema Operacional
Verifica dispositivo de armazenamento
onde há um S.O. residente – não
havendo, é apresentada uma mensagem
de erro e a ativação é interrompida.
Sendo encontrado, um conjunto de
instruções é carregado para a memória e
localizado em um bloco específico (boot
sector)
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
7. Ativação/Desativação do Sistema
Além da carga, executa-se arquivos de
inicialização onde são especificados
procedimentos de customização e
configuração de hardware e software
específicos para o ambiente.
S.O.
S.O.
III – Estrutura do Sistema Operacional
Memória
Principal
7. Ativação/Desativação do Sistema
A
III – Estrutura do Sistema Operacional
maioria
dos
S.O.’s
possuem
procedimento
de
desativação
(shutdown) que garante a integridade do
mesmo.
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Projeto:
O projeto do S.O. é bastante complexo
para atender os seguintes requisitos:
•
•
•
•
•
Confiabilidade
Portabilidade
Fácil manutenção
Flexibilidade
desempenho
III – Estrutura do Sistema Operacional
Podem ser
conflitantes
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Projeto:
Depende da arquitetura do hardware e do
tipo de sistema que se deseja construir.
•
•
•
•
•
Batch
Tempo de compartilhamento
Monousuário
Multiusuário
Tempo real, etc
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Os primeiros S.O. possuiam 1 milhão de
instruções em Assembly;
Evoluíram para 20 milhões de linhas de
código modular em PL/I e Algol
Hoje possuem 40 milhões de linhas
(Windows 2000) escrito em C/C++
As linguagens de alto nível facilitam o
desenvolvimento e manutenção dos S.O.
e melhoram a portabilidade.
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
A desvantagem é que há perda de
desempenho.
Consequentemente os devices drivers,
escalonador e rotinas de tratamento de
interrupção são desenvolvidos em
assembly.
Tendência atual  Orientação ao objeto
Benefícios:
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Benefícios:
• Melhoria de organização das funções e
recursos do sistema;
• Redução do tempo de desenvolvimento;
• Maior facilidade na
extensão do sistema;
manutenção
e
• Facilidade na implementação do modelo
de computação distribuída.
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Arquitetura Monolítica
Constituída de vários módulos compilados
separadamente e posteriormente linkados
formando um grande e único programa
onde os módulos podem interagir
livremente
Seu desenvolvimento e manutenção são
bastante difíceis.
Exemplo: MS-DOS, primeiros Unix
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
Arquitetura Monolítica
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Arquitetura de Camadas
É dividida em níveis sobrepostos.
Cada camada possui um conjunto de funções
que podem ser utilizadas apenas pelas
camadas superiores.
Exemplo:
THE (Thechnische Hogeschool Eindhoven)
construído em 1968 por Digkstra na Holanda.
MULTICS e OpenVMS: possuindo camadas
concêntricas.
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
Arquitetura de Camadas
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Arquitetura de Camadas
Vantagem:
• Isolar as funções do S.O.
• Criar hierarquia de níveis de modo de
acesso protegendo as camadas internas.
Desvantagem:
• Fraco desempenho.
• Cada nova camada implica na mudança do
modo de acesso.
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Arquitetura de Camadas
Atualmente a maioria dos S.O.’s possuem
apenas duas camadas: usuário (não
privilegiada) e kernel (privilegiada).
Exemplo: maioria das versões do Unix e MS
Windows
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Máquina Virtual
É um modelo virtual entre o hardware e o
S.O, oferecendo uma cópia virtual do
hardware, inclusive do modo de acesso.
Vantagens:
• S.O.’s independentes no mesmo hardware
• Segurança de acesso
Desvantagem: Complexidade
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
Máquina Virtual
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Arquitetura Microkernel
Função
Principal
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
III – Estrutura do Sistema Operacional
Arquitetura Microkernel
Constituída por um núcleo menor e mais
simples.
Os serviços são disponibilizados através de
processos onde cada um é responsável por
oferecer um conjunto de funções:
•
•
•
•
Gerência de arquivo
Gerencia de processos
Gerência de memória
Escalonamento
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
8. Arquiteturas do Núcleo
Arquitetura Microkernel
É um modelo cliente servidor.
Cliente
solicita
Servidor
responde
Nesta arquitetura os servidores não possuem
acesso direto a certos componentes do
sistema. Apenas o núcleo executa no modo
kernel.
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
III – Estrutura do Sistema Operacional
Download

III.Estrutura