Baixe o app para aproveitar ainda mais
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
Compartilhar