prof. pedro luís antonelli anhanguera...
TRANSCRIPT
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
Utilitários
Hardware
Núcleo doSistema Operacional
Aplicativos
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 Biblioteca Hardware
Núcleo doSistema Operacional
Núcleo doSistema Operacional
MACHADO, fig. 4.3, pag 54 – Chamada de uma rotina do sistema – System call
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.