05-Conceitos básicos

Propaganda
Sistemas Operacionais
Prof. Pedro Luís Antonelli
Anhanguera Educacional
INTRODUÇÃO
• Sistema Operacional (S.O.)
– Formado por um conjunto de
rotinas que oferecem
serviços aos usuários, às
aplicações e ao próprio
sistema
Aplicativos
Utilitários
Núcleo do
Sistema Operacional
Hardware
MACHADO, fig.4.1, pag 51 – Estrutura do sistema computacional
FUNÇÕES DO S.O.
• 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
• Gerencia de memória
• Gerência do sistema de arquivos
FUNÇÕES DO S.O.
• Gerencia de dispositivos de E/S
• Suporte às redes locais e distribuídas
• Contabilização do uso do sistema
• Auditoria e segurança do sistema
• Interface com o usuário
VISÃO DO S.O.
• Apresentar ao usuário uma Máquina Virtual
equivalente ao hardware e mais simples de
programar.
• Máquina Estendida (Virtual)
– Máquina Virtual
– Esconde o verdadeiro hardware
– Isola o usuário dos detalhes de operações em disco
– Trata questões de baixo nível
VISÃO DO S.O.
• Gerenciador de Recursos
– Fornece Interface aos aplicativos
– Gerencia usuários no uso de recursos da máquina
– Aloca processador, memória, dispositivos de E/S
ESTRUTURA DO S.O.
• Kernel ( núcleo)
– Núcleo do Sistema Operacional
• System Call ( Chamadas do sistema)
– Mecanismo de proteção ao núcleo
• Modos de Acesso
– Mecanismo de proteção de segurança e violação do
sistema
KERNEL
• Kernel
– Núcleo do S.O.
– Oferece serviços básicos para todas as outras partes
– Rotinas que fornece serviços aos usuários e aplicações
– Interpretador de comandos = SHELL
• Desempenha papel de interação com o usuário
– UNIX = c shell (%), bourne shell ($)
– Linux = bash (#)
– MS-DOS = command.com
– Windows = API Win32
SYSTEM CALL
• System Call (Chamadas do Sistema)
– Mecanismo de proteção ao núcleo do S.O. e de acesso
aos seus serviços
– UNIX e Linux – System Calls
– OpenVMS – System Services
– Windows – API (Aplication Program Interface)
– Quando um usuário ou aplicação deseja solicitar um
serviço do S.O., realiza uma chamada ao serviço por
meio de uma System Call.
SYSTEM CALL
• Funções das System Calls
– Gerência de processos e threads
– Gerência de memória
– Gerência do sistema de arquivos
– Gerência de dispositivos
System Call
Aplicação
Núcleo do
Sistema Operacional
Biblioteca
MACHADO, fig. 4.3, pag 54 – Chamada de uma rotina do sistema – System call
Hardware
EXEMPLOS DE SYSTEM CALL UNIX E WINDOWS NT
TANENBAUM, fig.1.23, pag 41 – As chamadas da interface API Win32
EXEMPLO DE SYSTEM CALL
• read (fd, buffer, nbytes)
1, 2 e 3 – Guarda parâmetros na pilha
4 – chamada real ao procedimento na biblioteca
5 – programa coloca o número da chamada ao
sistema de um local esperado pelo SO
6 – TRAP para passar do modo usuário para modo
núcleo e iniciar a execução em um endereço no
núcleo
7 – despacha para procedimento correto de
tratamento de chamada
8 – executado o procedimento de tratamento da
chamada ao sistema
9 – retorna para o procedimento de biblioteca do
espaço do usuário
10 – retorno ao espaço do usuário
11 – programa do usuário limpa pilha
TANENBAUM, fig.1.17, pag 33 – Os 11 passos para fazer uma chamada ao sistema read(arq, buffer, nbytes)
MODOS DE ACESSO
• Métodos ou Modos de Acesso
– Certas instruções devem ser executadas apenas pelo SO
– As chamadas de sistema estão relacionadas aos modos de
acesso do processador
– Mecanismo para impedir a ocorrência de problemas de
segurança e violação do sistema
– Modo Núcleo (Kernel)
• Todas as instruções do processador
– Modo Usuário
• Somente instruções não-privilegiadas
ESTRUTURA DO SO
• Chamada a uma rotina do sistema
MACHADO, fig.4.2, pag 54 – Chamada a uma rotina do sistema
SOFTWARE
• Ativação/Desativação do
Sistema
– Boot – processo que carrega
o SO da memória secundária
para a memória principal e
executa os arquivos de
inicialização
MACHADO, fig.4.5, pag 57 – Ativação do sistema
SOFTWARE
• Desativação do Sistema
– Shutdown – processo de
desativação do SO
MACHADO, fig.4.5, pag 57 – Ativação do sistema
ARQUITETURAS DE SOs
• Arquitetura Monolíticos
– Interação entre rotinas
• Arquitetura em Camadas
– Módulo de uma camada faz referência aos módulos
das camadas inferiores
ARQUITETURAS DE SOs
• Arquitetura Cliente-Servidor
– Baseado em microkernel (micro núcleo)
– Usuário não tem acesso direto ao hardware
– Exemplo: Minix, Windows NT, QNX
• Máquinas Virtuais
– Exemplo: CP/CMS, JVM
ARQUITETURA MONOLÍTICA
• Aplicação formada por
vários módulos compilados
separadamente e depois
lincados em um grande e
único programa executável
onde os módulos podem
interagir livremente
– Exemplo
• MS-DOS
• UNIX (primeiros)
MACHADO, fig.4.6, pag 59 – Arquitetura monolítica
ARQUITETURA MONOLÍTICA
Modelo simples de estruturação de um sistema monolítico
ARQUITETURA EM CAMADAS
• Sistema dividido em níveis sobrepostos
• Módulos de uma camada podem fazer referência
apenas aos módulos das camadas inferiores
• Isola as funções do S.O. facilitando sua manutenção
• Exemplo
–
–
–
–
–
THE
OpenVMS
UNIX
Linux
Windows 200X
MACHADO, fig.4.7, pag 59 – Arquitetura em camadas do OpenVMS
ARQUITETURA EM CAMADAS
Estrutura do sistema operacional THE
ARQUITETURA EM CAMADAS
Estrutura do sistema operacional THE
MÁQUINA VIRTUAL
•
•
•
•
Nível intermediário entre o hardware e o SO
São independentes do SO
Grande segurança para cada Máquina Virtual
Desvantagem – desempenho
• Exemplo
– JVM (Java Virtual Machine)
– VMWare
– Microsoft Virtual PC
– Oracle Virtual Box
MACHADO, fig.4.8, pag 60 – Máquina virtual
ARQUITETURA MICROKERNEL
• A função do núcleo é realizar a comunicação entre o
cliente (aplicação que solicita o serviço) e o servidor
(processo que responde à solicitação)
• Surgiu com o Mach (1980- Carnegie Mellon University)
• Manutenção mais fácil de depurar e mais confiável
ARQUITETURA MICROKERNEL
MACHADO, fig.4.9, pag 61 – Arquitetura Microkernel
ARQUITETURA CLIENTE/SERVIDOR
• Baseado em Microkernel
• Tornar o núcleo do S.O. menor e mais simples
• Implementar a maior parte dos serviços do SO em processos de
usuários
• Usuários não tem acesso direto ao hardware
• Adaptável para sistemas de processamento paralelo ou distribuído
• Exemplos
– MINIX
– Mach
– Windows NT
ARQUITETURA CLIENTE/SERVIDOR
O modelo cliente-servidor
BIBLIOGRAFIA
• MACHADO, F. B. & MAIA, L. P., Arquitetura de
Sistemas
Operacionais, 4 Edição, São Paulo, LTC, 2007.
• TANENBAUM, A. S. Sistemas Operacionais Modernos:
2ª edição,
São Paulo, editora Prentice Hall, 2003.
• SILBERSCHATZ, A. Sistemas Operacionais – Conceitos:
São Paulo,
editora LTC, 2004.
Download