Sistemas Operacionais Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 20 Sumário 1 Estrutura dos Sistemas Operacionais 2 System Calls 2 / 20 Estrutura dos Sistemas Operacionais 1 Estrutura dos Sistemas Operacionais 2 System Calls 3 / 20 Estrutura dos Sistemas Operacionais Sistemas Monolíticos São os mais comuns; O SO inteiro é executado como um único programa no modo núcleo; Escrito como uma coleção de procedimentos com parâmetros e resultados; Elas podem chamar umas as outras; Principal vantagem: tempo de resposta das tarefas; Desvio de controle (trap): chaveamento entre modo usuário e modo núcleo. 4 / 20 Estrutura dos Sistemas Operacionais Estrutura básica [Tanenbaum and Machado Filho, 1995] 1 Um programa principal invoca a rotina do serviço; 2 Um conjunto de rotinas de serviço executam as chamadas de sistema; 3 Um conjunto de rotinas utilitárias que auxiliam as rotinas de serviço. Figura 1.1: Modelo de estruturação para um kernel monolítico 5 / 20 Estrutura dos Sistemas Operacionais Sistemas Operacionais Unix Figura 1.2: Organização dos sistemas Unix [Galvin et al., 2013] 6 / 20 Estrutura dos Sistemas Operacionais MS-DOS Não é dividido em módulos; Não tem uma separação muito clara entre as interfaces e a funcionalidade. Figura 1.3: Estrutura do MS-DOS [Galvin et al., 2013] 7 / 20 Estrutura dos Sistemas Operacionais Sistemas em Camadas Hierarquia entre as camadas; Os níveis superiores prestam serviço aos inferiores, odecendo a níveis de complexidade; Camadas do sistema são dependentes. Figura 1.4: Funções das camadas [Tanenbaum and Machado Filho, 1995] 8 / 20 Estrutura dos Sistemas Operacionais Organização em camadas do SO Figura 1.5: Organização das camadas [Galvin et al., 2013] 9 / 20 Estrutura dos Sistemas Operacionais Microkernel Ideia: mover parte dos serviços do kernel para o espaço do usuário; Implementação: separar o sistema operacional em partes, sendo cada uma responsável por um tipo de serviço Comunicação acontece por meio de troca de mensagem entre os programas e os serviços. Vantangens [Galvin et al., 2013]: Mais fácil de estender; Mais conável, pois possui menos programas rodando em modo kernel; Mais seguro. Desvantagens: Perde performance na comunicação constante entre os programas em mdo usuário e modo kernel. 10 / 20 Estrutura dos Sistemas Operacionais Estrutura do microkernel Figura 1.6: Estrutura de um sistema operacional com microkernel [Galvin et al., 2013] 11 / 20 Estrutura dos Sistemas Operacionais Linus x Tanenbaum Figura 1.7: Fonte: https: //groups.google.com/forum/#!topic/comp.os.minix/wlhw16QWltI[1-25] 12 / 20 System Calls 1 Estrutura dos Sistemas Operacionais 2 System Calls 13 / 20 System Calls Denição Interface de programação para os serviços do Sistema Operacional. Um SO tem duas funções principais: 1 2 Fornecer abstrações para os programas de usuário; Administrar os recursos do computador. O usuário não precisa administrar manualmente todos os recursos do computador; Absração de alto nível: API - Application Programmable Interface. Exemplos: POSIX (Unix, Linux e Mac OS X); Java API. 14 / 20 System Calls Exemplo de uma SYSCALL Lembre-se: o processador só pode rodar um programa de cada vez! Figura 2.1: Copiando o conteúdo para um arquivo [Galvin et al., 2013] 15 / 20 System Calls Exemplo de API Padrão 16 / 20 System Calls Sequência de execução 1 Armazena os bytes; 2 Carrega no buer; 3 Gera o descritor de arquivo (fd); 4 Chama a rotina da biblioteca (call); 5 Executa a instrução TRAP. Nesse momento a chamada é promovida ao modo kernel; 6 Passa a instrução para um endereço especíco do kernel; 7 Ativa o endereço especíco para a chamada (registradores); 8 Rotina de tratamento das chamadas de sistema; 9 Retorna para a instrução TRAP. Podem também bloquear o programa que a chamou; 10 Retorna ao programa do usuário; 11 Limpa a pilha. 17 / 20 System Calls Execução da API Figura 2.3: Fluxo de execução da chamada read [Tanenbaum and Machado Filho, 1995] 18 / 20 System Calls Galvin, P. B., Gagne, G., and Silberschatz, A. (2013). Operating system concepts. John Wiley & Sons, Inc. Tanenbaum, A. S. and Machado Filho, N. (1995). Sistemas operacionais modernos, volume 3. Prentice-Hall. 19 / 20 System Calls OBRIGADO!!! PERGUNTAS??? 20 / 20