aula 04 estrutura do sistema operacional - tic - gestÃo · 2 estrutura do sistema operacional •...

13
1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2

Upload: phungkhanh

Post on 08-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

1

Sistemas OperacionaisProf. Esp. André Luís BeliniBacharel em Sistemas de InformaçõesMBA em Gestão Estratégica de Negócios

Aula 04

Estrutura do Sistema Operacional

2

2

Estrutura do Sistema Operacional

• O sistema operacional é formado por um conjunto derotinas que oferece serviços aos usuários e às suasaplicações.

• Esse conjunto de rotinas é chamado de núcleo dosistema, ou kernel.

• Há algumas maneiras dos usuários interagirem com oKernel:

1. Por intermédio das rotinas do sistema, realizadas poraplicações;

2. Utilitários ou linguagens de comandos

3

Funções do Núcleo

4

3

Principais 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 de processos e threads• Gerência de memória• Gerência do 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

5

Modo de Acesso

•Uma preocupação dos S.O.s é a implementação demecanismos de proteção do sistema e de acesso aos seusserviços.•Caso uma aplicação, que tenha acesso ao núcleo, realizeuma operação que altere sua integridade, todo o sistemapoderá ficar comprometido e inoperante•Em geral, os processadores possuem dois modos deacesso: modo usuário e modo kernel.•Modo usuário: uma aplicação só pode executar instruçõesconhecidas como não privilegiadas, tendo acesso a umnúmero reduzido de instruções.•Modo kernel: pode ter acesso ao conjunto total deinstruções do processador.

6

4

• O modo de acesso é determinado por um conjunto debits, localizado no registrador de status do processador,que indica o modo de acesso corrente.

• Ações privilegiadas não devem ser utilizadas de maneiraindiscriminada pelas aplicações, pois isso traria gravesinstabilidades e inseguranças ao S.O.

• As instruções não privilegiadas são as que nãooferecem risco ao sistema e podem ser executadas emmodo não privilegiado, ou seja, modo usuário.

7

Rotinas do Sistema Operacional e System Calls

• As rotinas do S.O. Compõem o núcleo do sistema,oferecendo serviços aos usuários e suas aplicações.

• Todo o controle de execução de rotinas do S.O. érealizado pelo mecanismo conhecido como system call.

• Esse é um mecanismo de proteção por software, noqual o S.O. Garante que as aplicações só poderãoexecutar rotinas do sistema que estão previamenteautorizadas.

8

5

Chamada a uma rotina do sistema

9

10

• As rotinas do sistema e o mecanismo de system callpodem ser entendidos como uma porta de entrada para onúcleo no S.O. e seus serviços.

• Sempre que uma aplicação desejar algum serviço dosistema, deve ser realizada uma chamada a uma de suasrotinas através de uma system call.

• O termo system calls é tipicamente utilizado no Unix,porém, em outros sistemas o mesmo conceito éapresentado com outros nomes, como system services,no OpenVMS e Application Program Interface (API), noWindows.

Chamada a rotinas do S.O.

6

11

System Call

System Call

Aplicação Biblioteca Hardware

Núcleo doSistema Operacional

Núcleo doSistema Operacional

Linguagem de Comandos

• A linguagem de comandos, ou linguagem de controle,permite que o usuário se comunique de uma formasimples com o S.O., capacitando-o a executar diversastarefas específicas do sistema como criar, ler ou eliminararquivos, consultar diretórios ou verificar a data e horaarmazenadas no sistema.

• Exemplo de comandos no MS Windows

12

Comando Descrição

dir Lista o conteúdo de um diretório

cd Altera o diretório default

type Exibe o conteúdo de um arquivo

del Elimina arquivos

mkdir Cria um diretório

ver Mostra a versão do Windows

7

Ativação / Desativação do Sistema

• Inicialmente, quando um computador é ligado, não háS.O. carregado na memória da máquina. Em geral, elereside num disco rígido.

• Os componentes do S.O. devem ser carregados para amemória principal toda vez que o computador é ligadopor intermédio de um procedimento denominadoativação do sistema ou boot.

• O procedimento de ativação se inicia com a execuçãode um programa chamado boot loader, que está namemória ROM da máquina.

• POST (Power on Self Test) – Identifica possíveisproblemas no hardware do equipamento.

13

Ativação / Desativação do Sistema

• Após essas etapas, o procedimento de ativação verificase há algum dispositivo de armazenamento onde há umsistema operacional residente.

• Caso não haja, uma mensagem de erro é exibida e oprocesso é interrompido.

• Se for encontrado, um conjunto de instruções écarregado para um bloco específico do dispositivo,conhecido como setor de boot .

• A partir da execução desse código, o S.O. é finalmentecarregado para a M.P.

• Na maioria dos S.O. existe também a desativação oushutdown, que garante que os componentes do S.O.sejam desativados ordenadamente, garantindo a suaintegridade.

14

8

15

Ativação do Sistema

Disco MemóriaPrincipal

boot

SistemaOperacional

Área doSistema

Operacional

Arquiteturas do Núcleo

• Um projeto de S.O. é bastante complexo e deve atendera diversos requisitos, tais como: confiabilidade,portabilidade, fácil manutenção, flexibilidade edesempenho.

• Os primeiros S.O., escritos integralmente em assembly,possuiam cerca de um milhão de instruções.

• S.O. como o Windows Vista, possuem cerca de 50milhões de linhas de código.

• Estima-se que o Windows 7 tenha aproximadamente100 milhões de linhas de código

• O S.O. Linux (versão do kernel 2.6.35), possuiaproximadamente 13 milhões de linhas de código

16

9

Arquitetura Monolítica

• A arquitetura monolítica pode ser comparada com umaaplicação formada por vários módulos que sãocompilados separadamente e depois linkados, formandoum grande e único programa executável, onde osmódulos podem interagir livremente.

• Os primeiros S.O. foram desenvolvidos com base nessemodelo, o que tornava seu desenvolvimento e,principalmente, sua manutenção bastante difíceis.

17

18

Arquitetura Monolítica

Modo kernel

aplicação aplicação

Modo usuário

System call

Hardware

10

Arquitetura de camadas

• Na arquitetura de camadas, o S.O. é dividido em níveissobrepostos.

• Cada camada oferece um conjunto de funções quepodem ser utilizadas apenas pelas camadas superiores.

• A vantagem da estruturação em camadas é isolar asfunções do S.O., facilitando sua manutenção edepuração, além de criar uma hierarquia de níveis demodos de acesso, protegendo as camadas maisinternas.

19

20

Arquitetura em Camadas do OpenVMS

11

Máquina Virtual

• O modelo de máquina virtual (VM), cria um nívelintermediário entre o hardware e o S.O., denominadogerência de máquinas virtuais. Este nível cria máquinasvirtuais independentes, onde cada uma oferece umacópia virtual do hardware, incluindo os modos deacesso, interrupções, dispositivos de E/S, etc.

• Cada máquina virtual é independente das demais e épossível que cada VM tenha seu próprio S.O. e queseus usuários executem suas aplicações como se todoo computador estivesse dedicado a cada um deles.

• Além de permitir a convivência de S.O. diferentes nomesmo computador, este modelo cria o isolamento entrecada VM, oferecendo grande segurança para cada VM.

21

22

Máquina Virtual

Ap1

VM

1

VM

2

VM

n

Gerência de Máquinas Virtuais

Hardware

SO1

HV1

Ap2

SO2

HV2

Apn

SOn

HVn

12

Arquitetura de Microkernel

• Existe uma tendência nos S.O. modernos de tornar onúcleo do S.O. o menor e mais simples possível.

• Para tal, os serviços do sistema são disponibilizadosatravés de processos, onde cada um é responsável poroferecer um conjunto específico de funções, comogerência de arquivos, gerência de processos, gerênciade memória e escalonamentos.

• Quando uma aplicação deseja algum serviço, érealizada uma solicitação ao processo responsável.

• A aplicação que solicita é chamada de cliente e oprocesso que responde é chamado de servidor.

23

• Um cliente pode ser uma aplicação do usuário ou umoutro componente do S.O., que solicita um serviçoenviando uma mensagem para o servidor.

• O servidor responde ao cliente através de outramensagem.

• A principal função do núcleo é realizar a comunicação,ou seja, a troca de mensagens entre cliente e servidor.

24

13

25

Arquitetura Microkernel

Modo kernel

Modo usuário

Microkernel

men

sage

m

mensagem

Hardware

Prof. André Luís Belini E-mail: [email protected]

Blog: http://profandreluisbelini.blogspot.com/