aulas - sistemas operacionais 1 a 107

107
Sistemas Operacionais Prof. Leandro Meireles 1/9

Upload: leandro-ramos

Post on 19-Jan-2016

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aulas - Sistemas Operacionais 1 a 107

Sistemas Operacionais

Prof. Leandro Meireles

1/9

Page 2: Aulas - Sistemas Operacionais 1 a 107

Bibliografia

MACHADO, F. B.; MAIA, L. P.. Arquitetura de Sistemas Operacionais. 4. ed. Rio de Janeiro: LTC, 2007.

SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.. Sistemas operacionais com Java. Rio de Janeiro: Elsevier, 2008.

TANENBAUM, A. S.. Sistemas Operacionais Modernos. Rio de Janeiro: Editora Campus, 1995.

STUART, B.L, Princípios de Sistemas Operacionais- Projetos e Aplicações, Rio de Janeiro: LTC,2010

MARQUES, J.A. et al, Sistemas Operacionais, Rio de Janeiro:LTC, 2010. 2/9

Page 3: Aulas - Sistemas Operacionais 1 a 107

Contextualização

Definição:

Conjunto de programas responsável pela gerência de recursos de hardware, segurança de acesso e utilização e interface com os usuários;

3/9

Page 4: Aulas - Sistemas Operacionais 1 a 107

Contextualização

Componentes Básicos:

Interface com o usuário, gerencia de processador, gerência de memória, gerência de dispositivos, sistemas de arquivos;

Componentes Avançados:Segurança de acesso, ferramentas de auditoria

4/9

Page 5: Aulas - Sistemas Operacionais 1 a 107

5/9

Definição de SO

É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final.

É uma estrutura de software ampla, muitas vezes complexa, que incorpora aspectos de baixo nível (como drivers de dispositivos e gerência de memória física) e de alto nível (como programas utilitários e a própria interface gráfica).

Page 6: Aulas - Sistemas Operacionais 1 a 107

6/9

Visão do Sistema Operacional

programadorese analistas

memória discos

UCP

Usuários

Hardware

Sistema OperacionalSistema Operacional

fitas

impressoras monitores

programas,sistemas eaplicativos

usuários

Page 7: Aulas - Sistemas Operacionais 1 a 107

7/9

Abstração de Recursos

Cada hardware tem sua particularidadeCabe ao sistema operacional gerenciar as particularidades do hardware

– Um processador de texto não deve deter o conhecimento de como gravar um arquivo (disquetes, pen drive, hd´s).

Page 8: Aulas - Sistemas Operacionais 1 a 107

8/9

Cabe ao Sistema Operacional

Prover interfaces de acesso aos dispositivos, mais simples de usar que as interface de baixo nível.

Tornar os aplicativos independentes do hardware.

Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas.

Page 9: Aulas - Sistemas Operacionais 1 a 107

9/9

Gerência de Recursos

Cabe ao sistema operacional definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos, e resolver eventuais disputas e conflitos.

– Uso de processador– Acesso a disco– Memória

Page 10: Aulas - Sistemas Operacionais 1 a 107

10/9

Atividade

Quais os sistemas operacionais que vocês conhecem ?

Como eles funcionam ?

Como é sua interface ?

Page 11: Aulas - Sistemas Operacionais 1 a 107

Contextualização

Evolução Histórica dos Sistemas Operacionais

11/9

Page 12: Aulas - Sistemas Operacionais 1 a 107

12/12

Roteiro

• Batch (lote)• De Rede• Distribuído• Multi-usuário• Desktop• Servidor• Embutido• Tempo real

Page 13: Aulas - Sistemas Operacionais 1 a 107

13/12

Batch (lote)

• Todos os programas a executar eram colocados em uma fila.

• O processador recebia um programa após o outro, processando-os em seqüência, o que permitia um alto grau de utilização do sistema.

• O termo lote ainda é usado para definir um conjunto de comandos que rodam sem interferência do usuário

Page 14: Aulas - Sistemas Operacionais 1 a 107

14/12

Bach (lote)

Processamento

Processamento

Processamento

(a)

(b)

(c)

fita de entrada

fita de entrada

cartões perfurados

fita de saída

relatórios

fita de saída

job 2

job n

relatório 1

relatório 2

relatório n

job 1

Page 15: Aulas - Sistemas Operacionais 1 a 107

15/12

Rede

• Suporte a operação em rede– Maioria dos sistemas operacionais atuais

• Compartilhamento de recursos de/ou para vários computadores.

• Disponibilizar os próprios recursos.• São independentes e caso a conexão entre um

dos nós sofra qualquer problema, os demais continuam operando normalmente , apesar de alguns recursos se tornarem indisponíveis.

Page 16: Aulas - Sistemas Operacionais 1 a 107

• Exemplo:• Os módulos do S.O Rede podem ser:

– Módulo Cliente do Sistema Operacional (SORC)

– Módulo Servidor do Sistema Operacional (SORS)

16/9

Rede

Page 17: Aulas - Sistemas Operacionais 1 a 107

17/12

Distribuído

• Os recursos de cada máquina estão disponíveis globalmente, de forma transparente aos usuários.

• Para o usuário e suas aplicações é como se não existisse uma rede de computadores e sim um único sistema centralizado.– Usuário desconhece o computador em uso.

• Ainda não são uma realidade de mercado.• Exemplo: Google Docs, One Drive, ICloud

Page 18: Aulas - Sistemas Operacionais 1 a 107

18/9

Distribuído

Page 19: Aulas - Sistemas Operacionais 1 a 107

19/12

Multi-usuário

• Múltiplos usuários simultâneos– Maioria dos sistemas operacionais atuais

• Deve suportar a identificação do “dono” de cada recurso dentro do sistema – arquivos, processos, conexões de rede

• Imposição de regras de controle de acesso para impedir o uso desses recursos por usuários não autorizados

Page 20: Aulas - Sistemas Operacionais 1 a 107

20/12

Desktop

• Sistema operacional “de mesa”.• Usuários domésticos e corporativos

– Atividades corriqueiras

• Ambiente gráfico, interatividade com usuário e suporte a rede.

Page 21: Aulas - Sistemas Operacionais 1 a 107

21/12

Servidor

• Gestão de grandes quantidades de recursos – Discos, memórias e processadores e serviços

gerais

• Multi-usuários• Suporte a rede

Page 22: Aulas - Sistemas Operacionais 1 a 107

22/12

Embutido

• Embedded

• Hardwares com pouca capacidade de processamento– Calculadores, tocadores de MP3, computador

de bordo para veículos

• Função específica

Page 23: Aulas - Sistemas Operacionais 1 a 107

Embutido

23/9

Page 24: Aulas - Sistemas Operacionais 1 a 107

24/12

Tempo real

• Comportamento temporal previsível– Tempo de resposta conhecido no melhor caso e pior

caso de operação

• soft real-time systems

– perda de prazo implica em degradação do serviço prestado (gravação de CD)

• hard real-time systems

– perda de prazo pode causar grandes prejuízos econômicos ou ambientais (usina nuclear, caldeiras industriais)

Page 25: Aulas - Sistemas Operacionais 1 a 107

Tempo real

25/9

Page 26: Aulas - Sistemas Operacionais 1 a 107

26/11

Roteiro

• Funcionalidades de um sistema operacional

• Gerência– Processador– Memória– Dispositivos– Arquivos– Proteção

Page 27: Aulas - Sistemas Operacionais 1 a 107

27/11

Sistema Operacional e sua gerência

• Para cumprir sua função, deve atuar em várias frentes.

• São vários os recursos a serem gerenciados

– Atenção: Necessário Abstração

Page 28: Aulas - Sistemas Operacionais 1 a 107

28/11

Gerência de Processador

• Conhecida como gerência de processos ou de atividades.

• Visa distribuir a capacidade de processamento de forma justa

– “Justa é diferente de igual”

Page 29: Aulas - Sistemas Operacionais 1 a 107

Gerência de Processador• Sincronização de atividades

– Comunicação entre processos– Manter o processador ocupado a maior parte

do tempo;– Balancear o uso da CPU entre processos;– Privilegiar a execução de aplicações

críticas;– Maximizar o throughput (rendimento) e;– Oferecer tempos de resposta razoáveis

aos usuários interativos.29/9

Page 30: Aulas - Sistemas Operacionais 1 a 107

30/11

Gerência de Memória

• Fornecer a cada aplicação um espaço próprio de memória– Independente e isolado das demais

aplicações

• Uso do disco como memória complementar– Aplicação desconhece o tipo da memória em

uso

Page 31: Aulas - Sistemas Operacionais 1 a 107

31/11

Gerência de Dispositivos

• Gerência de Entrada/Saída• Vários dispositivos diferentes

– Pen drive, disquetes, discos IDE e SCSI

• Permitir, através de drivers, o uso de forma comum– Vetor de blocos de dados (endereçamento de

memória)

Page 32: Aulas - Sistemas Operacionais 1 a 107

32/11

Gerência de Arquivos

• Construída sobre a gerência de dispositivos– Criando abstrações de arquivos e diretórios

• Outros dispositivos podem ser utilizados como arquivos– Gravar arquivos numa saída TCP– Outras devices;

Page 33: Aulas - Sistemas Operacionais 1 a 107

33/11

Gerência de Proteção

• Políticas de acesso para sistemas – Em rede– Multi-usuários

• Definição de usuários, grupos de usuários, registro de recursos por usuários

Page 34: Aulas - Sistemas Operacionais 1 a 107

34/11

Sistemas Operacionais Modernos

• Gerência de energia• Gerência de rede• Gerência de recursos multimidía

Page 35: Aulas - Sistemas Operacionais 1 a 107

35/11

Os módulos de gerência sãointer-dependentes

Page 36: Aulas - Sistemas Operacionais 1 a 107

36/13

Roteiro

• Estrutura de um sistema operacional• Componentes• Uso e importância• Programas Utilitários

Page 37: Aulas - Sistemas Operacionais 1 a 107

37/13

Núcleo

• Kernel• Coração do sistema

operacional• Responsável pela

gerência dos recursos de hardwares utilizados

Page 38: Aulas - Sistemas Operacionais 1 a 107

38/13

Drivers

• Códigos específicos– Acesso dispositivos físicos

• Normalmente fornecido pelo fabricante do hardware – Forma binária– Acoplado ao sistema operacional

Page 39: Aulas - Sistemas Operacionais 1 a 107

Drivers

39/9

Page 40: Aulas - Sistemas Operacionais 1 a 107

Dispositivo para o Drivers

40/9

Page 41: Aulas - Sistemas Operacionais 1 a 107

41/13

Inicialização do Sistema Operacional

• Carregar o núcleo do sistema operacional em memória e iniciar sua execução.

Disco MemóriaPrincipal

boot

SistemaOperacional

Área doSistema

Operacional

Page 42: Aulas - Sistemas Operacionais 1 a 107

42/13

Programas Utilitários

• Facilitam o uso do sistema operacional– Tradutor– Interpretador– Linker– Loader– Depurador– Interpretador de Comandos (shell)

Page 43: Aulas - Sistemas Operacionais 1 a 107

• Qualquer, programas-fonte escritos não esta pronto para ser diretamente executado pelo processador. Para isso eles têm que passar pela ETAPA DE CONVERSÃO.

• “TODA REPRESENTAÇÃO DAS INSTRUÇÕES É TRADUZIDA PARA CÓDIGO DE MÁQUINA”

Tradutor

Page 44: Aulas - Sistemas Operacionais 1 a 107

• Tradutor Montador (assembler);• Tradutor Compilador

44/13

Tradutor

programa fonte programa objetoTradutor

Compilador

Page 45: Aulas - Sistemas Operacionais 1 a 107

45/13

Interpretador

• Considerado TRADUTOR que não gera módulo-objeto**

• **(Não é um arquivo executável propriamente dito, mas já se encontra em linguagem de máquina).

• Traduz cada comando e executa• Desvantagem: tempo na tradução• Vantagem: ados dinâmicos

Page 46: Aulas - Sistemas Operacionais 1 a 107

46/13

Linker

Tem como função resolver todas as referências simbólicas existentes entre os

módulos e reservar memória para execução do programa.

função é unir vários programas já compilados de uma forma independente e unificá-los em

um programa executável.

Page 47: Aulas - Sistemas Operacionais 1 a 107

47/13

Linker

Page 48: Aulas - Sistemas Operacionais 1 a 107

48/13

Linker

Page 49: Aulas - Sistemas Operacionais 1 a 107

49/13

Loader

• Normalmente é de responsabilidade do sistema operacional carregar e executar arquivos. A parte do sistema operacional que executa essa função é chamada de loader (carregador)

• Há dois tipos de loaders: relocável e absoluto.

Page 50: Aulas - Sistemas Operacionais 1 a 107

50/13

LOADERS: RELOCÁVEL

• Carregará o programa em qualquer locação da memória, e altera vários endereços para assegurar a referência correta.

• A decisão sobre onde o programa é alocado na memória é feita pelo SISTEMA OPERACIONAL, não pelo arquivo de cabeçalho de programas.

Page 51: Aulas - Sistemas Operacionais 1 a 107

51/13

LOADERS: ABSOLUTO.

• O loader carrega o arquivo em memória na locação especificada pela parte inicial (cabeçalho) do arquivo e passa o controle ao programa.

Page 52: Aulas - Sistemas Operacionais 1 a 107

52/13

Depurador

• Permite acompanhar a execução de um programa e detectar erros.

• Breakpoints - Ponto de interrupção é uma parada intencional ou pausar lugar em um programa

• Watchpoints - Ponto programado é uma parada pré estabelecida num ponto determinado do programa

Page 53: Aulas - Sistemas Operacionais 1 a 107

53/13

Interpretador de Comandos

• Interpretador de comandos ou shell permite ao usuário interagir com o sistema

• Linguagem de controle são os comandos disponíveis pelo interpretador

• Exemplos: Shell Bash, console e prompt de comando

Page 54: Aulas - Sistemas Operacionais 1 a 107

54/25

Roteiro

• Hardware• Estrutura de um sistema operacional• Interrupções• Proteção do núcleo• Níveis de privilégio• Chamadas de sistema

Page 55: Aulas - Sistemas Operacionais 1 a 107

55/25

Hardware

• Mono-processadores atuais seguem um padrão definido na década de 40 por János (John) Von Neumann

Page 56: Aulas - Sistemas Operacionais 1 a 107

Arquitetura Von Neumann

• Programa armazenado

“John von Neumann formalizou o projeto lógico de um computador.

Em sua proposta, sugeriu que as instruções fossem armazenadas

na memória do computador. Até então elas eram lidas de cartões

perfurados e executadas, uma a uma. Armazená-las na memória,

para então executá-las, tornaria o computador mais rápido, já que,

no momento da execução, as instruções seriam obtidas com

rapidez eletrônica.”

56/9

Page 57: Aulas - Sistemas Operacionais 1 a 107

57/25

Estrutura de um Sistema Operacional

Controladora de Dispositivos

Dispositivos físicosHardware

Software

Aplicativos

Programas Utilitários Nível usuário

Nível sistemaNúcleo

Código de Inicialização

Drivers de Dispositivo

Page 58: Aulas - Sistemas Operacionais 1 a 107

58/25

Hardware

MemóriaPrincipal

Dispositivosde E/S

Processador / UCP

Unidade Lógicae Aritmética

Registradores

Unidade deControle

Page 59: Aulas - Sistemas Operacionais 1 a 107

59/25

Processador

• É o núcleo do sistema de computação.• Responsável por continuamente ler as

instruções e dados da memória ou de periféricos, processá-los e enviar os resultados de volta a memória ou outros periféricos.

Page 60: Aulas - Sistemas Operacionais 1 a 107

60/25

Processador

• Unidade Central de Processamento (UCP ou CPU)– Unidade de Controle (UC)– Unidade Lógica e Aritmética (ULA)– Clock– Memórias de alta velocidade

Page 61: Aulas - Sistemas Operacionais 1 a 107

61/25

Processador

Processador cognitivo não é simular o cérebro humano, é usar o que já se sabe sobre o funcionamento dos cérebros biológicos para construir um sistema capaz de aprender e interagir com o ambiente. – WATSON IBM

Page 62: Aulas - Sistemas Operacionais 1 a 107

• Pesquisa: Sobre o computador WATSON - IBM

62/9

Page 63: Aulas - Sistemas Operacionais 1 a 107

VEJA NO LINK:

•http://www-03.ibm.com/systems/br/power/advantages/watson/

63/9

Page 64: Aulas - Sistemas Operacionais 1 a 107

64/25

Barramento

• Ocorre todas as transferências de dados.• Barramento de endereços

– Indica a posição de memória (ou dispositivo) a acessar

• Barramento de controle– Indica a operação a efetuar (leitura ou escrita)

• Barramento de dados– Transporta a informação indicada entre o

processador e a memória ou controlador de dispositivo

Page 65: Aulas - Sistemas Operacionais 1 a 107

65/25

Barramento

Barramento processador-memóriaBarr

am

ento

de

E/S

Barr

am

ento

de

E/S

Adaptador Adaptador

MemóriaPrincipal

UCP

Page 66: Aulas - Sistemas Operacionais 1 a 107

66/25

MMU

• Memory Management Unit (Unidade de Gerência de Memória)

• Responsável por analisar cada endereço solicitado pelo processador, validá-los, efetuar conversões de endereçamento necessárias e executar a operação solicitada pelo processador – leitura ou escrita de uma posição de memória

Page 67: Aulas - Sistemas Operacionais 1 a 107

67/25

Memória

maiorcapacidade de

armazenamento

maior custo evelocidadede acesso

Memória Secundária

Memória Cache

Memória Principal

Registradores

Page 68: Aulas - Sistemas Operacionais 1 a 107

68/25

Memória

• Secundária• Chamadas de “memórias de

armazenamento em massa”, para armazenamento permanente de dados. – Não podem ser endereçadas diretamente, a

informação precisa ser carregada em memória principal antes de poder ser tratada pelo processador.

Page 69: Aulas - Sistemas Operacionais 1 a 107

69/25

Memória

• Secundária

Page 70: Aulas - Sistemas Operacionais 1 a 107

70/25

Memória

• PRIMÁRIA• “Chamadas de memória real, são memórias que o

processador pode endereçar diretamente, sem as quais o computador não pode funcionar.

• Estas fornecem geralmente uma ponte para as secundárias, mas a sua função principal é a de conter a informação necessária para o processador num determinado momento; esta informação pode ser, por exemplo, os programas em execução.

Page 71: Aulas - Sistemas Operacionais 1 a 107

71/25

Memória

• Primária• Nesta categoria insere-se a RAM, que é uma

memória de semicondutores, volátil, com acesso aleatório, isto é, palavras individuais de memória são acessadas diretamente, utilizando uma lógica de endereçamento implementada em hardware.

Page 72: Aulas - Sistemas Operacionais 1 a 107

72/25

Memória

• CACHE• Dispositivo de acesso rápido, interno a um

sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede.

Page 73: Aulas - Sistemas Operacionais 1 a 107

73/25

Memória

• CACHE• Atualmente há cache em processadores, discos

rígidos, sistemas, servidores, nas placa mãe, cluter de bancos de dados, entre outros. Qualquer dispositivo que requeira do usuário uma solicitação/requisição a algum outro recurso, seja de rede ou local, interno ou externo a essa rede, pode requerer ou possuir de fábrica o recurso de cache.

Page 74: Aulas - Sistemas Operacionais 1 a 107

74/25

Memória

• CACHE

Page 75: Aulas - Sistemas Operacionais 1 a 107

75/25

Memória

• REGISTRADORES• É uma unidade de memória capaz de armazenar n bits.

Os registradores estão no topo da hierarquia de memória, sendo assim, são o meio mais rápido e caro de se armazenar um dado.

• Obs: Apesar dos registradores apresentarem um bom desempenho no quesito rapidez, possuem uma capacidade de armazenamento baixíssima comparada a outros circuitos de armazenamento, como é o caso da memória secundária.

Page 76: Aulas - Sistemas Operacionais 1 a 107

76/25

Diversos Dispositivos

• Memória secundária– Discos– Fitas magnéticas

• Interface usuário-máquina– Teclados– Impressoras

• Outros dispositivos– Placa de vídeo– Dispositivos USB’s

São acessados através de circuitos específicos denominados controladores

Page 77: Aulas - Sistemas Operacionais 1 a 107

77/25

Arquitetura de um Computador

controle

endereços

dados

Processador MMU

Memória

ControladoraUSB

Mouse Teclado

Controladorade vídeo

Monitor

Controladorade disco

Controladorade rede

Unidade de disco

Conexãode rede

Page 78: Aulas - Sistemas Operacionais 1 a 107

78/25

Interrupções

• Quando um controlador de periférico possui uma informação importante para fornecer ao processador– Aguarda até que o processador o consulte– Notifica o processador através do barramento

de controle• Requisição de interrupção (IRQ – Interrupt

ReQuest)

Page 79: Aulas - Sistemas Operacionais 1 a 107

79/25

InterrupçãoA. EXEMPLO:1. O processador está executando um programa qualquer

(em outras palavras, um fluxo de execução);2. Um pacote vindo da rede é recebido pela placa

Ethernet;3. A placa envia uma solicitação de interrupção (IRQ) ao

processador;4. O processamento é desviado do programa em

execução para a rotina de tratamento da interrupção5. A rotina de tratamento é executada para receber as

informações da placa de rede (via barramentos de dados e de endereços) e atualizar as estruturas de dados do sistema operacional;

6. A rotina de tratamento da interrupção é finalizada e o processador retorna à execução do programa que havia sido interrompido.

Page 80: Aulas - Sistemas Operacionais 1 a 107

80/25

Interrupção

controle

endereços

dados

Processador MMUControladora

de rede

Programa emexecução

memória1 Rotina de

tratamento dainterrupção

4

6

2

5

5

3

Page 81: Aulas - Sistemas Operacionais 1 a 107

81/25

Proteção ao Núcleo

• Certas instruções não podem estar disponíveis para as aplicações, pois isso poderia ocasionar um sério problema de integridade no sistema.– Por exemplo, um acesso ao disco rígido para

gravação de um arquivo.– Atenção: Aplicativos de auto gravação

exercem a mesma função de solicitação de IRQ

Page 82: Aulas - Sistemas Operacionais 1 a 107

82/25

Níveis de privilégio

• Então, existe 2 tipos de instruções:

• Instruções privilegiadas Instruções não-privilegiadas.

• O processador implementa 2 modos de acesso:

• Modo usuário• Modo kernel (ou supervisor).

CPU Intel x86

Sistema Operacional

Aplicação

Não utilizado

Não utilizado

0

1

2

3

Page 83: Aulas - Sistemas Operacionais 1 a 107

83/25

Separação entre núcleo e as aplicações

Hardware

NúcleoNívelnúcleo

Nívelusuário

Aplicação Aplicação Aplicação Aplicação

Page 84: Aulas - Sistemas Operacionais 1 a 107

84/25

Chamadas de Sistema

• É o mecanismo usado pelo programa para requisitar um serviço do sistema operacional, ou mais especificamente, do núcleo do sistema operacional.

Page 85: Aulas - Sistemas Operacionais 1 a 107

85/25

Chamadas de Sistema

• São portas de entrada para se ter acesso ao núcleo do sistema operacional.

• Exemplo: Quando o usuário deseja algum serviço, realiza uma chamada a uma de suas rotinas através de system calls (chamadas ao sistema).

• Para cada serviço existe um system callassociada e cada sistema operacional tem o seu próprio conjunto de chamadas.

Page 86: Aulas - Sistemas Operacionais 1 a 107

86/25

System Calls

Aplicação System CallNúcleo

Hardware

Page 87: Aulas - Sistemas Operacionais 1 a 107

87/25

Syscalls - Grupos de Função

• Gerência de Processos– Criação e eliminação de processos, alteração das

características do processo e sincronização e comunicação entre processos.

• Gerência de memória– Alocação e desalocação de memória.

• Gerência de entrada/saída– Operações de entrada e saída e manipulação de

arquivos e diretórios.

Page 88: Aulas - Sistemas Operacionais 1 a 107

88/25

Chamada a uma rotina de acesso

Page 89: Aulas - Sistemas Operacionais 1 a 107

89/25

API - Interface de Programação de Aplicativos

• Conjunto de chamadas de sistema oferecidas por um núcleo, é chamada de API

– API Win32 (Windows)

– POSIX (Unix/Linux)

Page 90: Aulas - Sistemas Operacionais 1 a 107

90/25

API - Interface de Programação de Aplicativos

– API Win32 (Windows)– APIs do Windows são bibliotecas de vínculo

dinâmico (DLLs) que fazem parte do sistema operacional Windows. Você as usa para executar tarefas quando é difícil escrever procedimentos equivalentes de sua preferência. Por exemplo, o Windows fornece uma função chamada FlashWindowEx que permite que você crie a barra de título para um aplicativo alternativo entre tonalidades claras e escuras.

Page 91: Aulas - Sistemas Operacionais 1 a 107

91/25

API - Interface de Programação de Aplicativos

– POSIX (Unix/Linux)– Interface Portável entre Sistemas

Operacionais) é uma família de normas definidas pelo IEEE e designada formalmente por IEEE 1003, que tem como objetivo garantir a portabilidade do código-fonte de um programa a partir de um sistema operacional que atenda as normas POSIX para outro sistema POSIX, desta forma as regras atuam como uma interface entre sistemas operacionais distintos.

Page 92: Aulas - Sistemas Operacionais 1 a 107

92/25

API - Interface de Programação de Aplicativos

• Um sistema operacional possui uma grandequantidade de funções na API, que permitem aoprogramador criar janelas, acessar arquivos,criptografar dados etc.

• As APIs dos sistemas operacionais costumamser dissociadas de tarefas mais essenciais,como a manipulação de blocos de memória eacesso a dispositivos. Essas tarefas sãoatributos do núcleo de sistema e raramente sãoprogramáveis.

Page 93: Aulas - Sistemas Operacionais 1 a 107

Avaliação Bimestral

• Data:_______

- Leitura do material- Revisão de exercícios/Exemplos

93/9

Page 94: Aulas - Sistemas Operacionais 1 a 107

94/13

Roteiro

• Sistemas monolíticos• Sistemas em camadas• Sistemas micro-núcleo• Máquinas virtuais

Page 95: Aulas - Sistemas Operacionais 1 a 107

95/13

Sistema Monolítico

• A organização mais comum é aquela queestrutura o sistema como um conjunto de rotinasque podem interagir livremente umas com asoutras.

• Pode ser comparada com uma aplicaçãoformada por vários procedimentos que sãocompilados separadamente e depois linkados,formando um grande e único programaexecutável.– Grande desempenho– Uma falha pode paralisar o todo o núcleo

Page 96: Aulas - Sistemas Operacionais 1 a 107

96/13

Sistema Monolítico

Aplicação Aplicação

System Calls

Hardware

Modo Usuário

Modo Kernel

núcleo

Page 97: Aulas - Sistemas Operacionais 1 a 107

Sistema Monolítico

•PESQUISAR OS TIPOS DE SISTEMAS

OPERACIONAIS MONOLÍTICOS

Page 98: Aulas - Sistemas Operacionais 1 a 107

98/13

Sistema em Camadas

• Divide o sistema operacional em sistemas sobrepostos. Cada módulo oferece um conjunto de funções que pode ser usado por outros módulos.

• A vantagem da estruturação em camadas é isolar o sistema operacional, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de modos, protegendo as camadas mais internas.

Page 99: Aulas - Sistemas Operacionais 1 a 107

99/13

Sistema em Camadas

• O empilhamento de várias camadas de software faz com que cada pedido de uma aplicação demore mais tempo para chegar até o dispositivo periférico ou recurso a ser acessado, prejudicando o desempenho do sistema.

• Não é óbvio dividir as funcionalidades de um núcleo de sistema operacional em camadas horizontais de abstração crescente, pois essas funcionalidades são inter-dependentes, embora tratem muitas vezes de recursos distintos.

Page 100: Aulas - Sistemas Operacionais 1 a 107

100/13

Sistema em Camadas

2

1

3

Programas de Usuário

Multiprogramação0

Gerência de Memória

Entrada/Saída

Comunicação

4

5 Operador

Kernel

Supervisor

Usuário

Executivo

Sistema VMS

Sistema Multics

Page 101: Aulas - Sistemas Operacionais 1 a 107

Sistema em Camadas

PESQUISAR OS TIPOS DE SISTEMAS

OPERACIONAIS CAMADAS

Page 102: Aulas - Sistemas Operacionais 1 a 107

102/13

Sistemas micro-núcleo (microkernel)

• Uma tendência dos sistemas operacionais é tornar o núcleo menor e mais simples possível e para implementar esta idéia o sistema é dividido em processos.

• Desta forma, sempre que uma aplicação deseja algum serviço ela solicita ao processo responsável, assim, a aplicação que solicita um serviço é chamada de cliente e o processo que responde a solicitação é chamado de servidor.

Page 103: Aulas - Sistemas Operacionais 1 a 107

103/13

Sistema micro-núcleo

• A utilização deste modelo permite que os servidores executem em modo usuário.

• Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, executa no modo kernel.

• O sistema operacional passa a ser de mais fácil manutenção.

• Não importa se o serviço esta sendo processado em um único processador, com múltiplos processadores (fortemente acoplado) ou em sistema distribuído (fracamente acoplado).

Page 104: Aulas - Sistemas Operacionais 1 a 107

104/13

Sistema micro-núcleo

• Em ambiente distribuído permite que um cliente solicite um serviço e a resposta seja processada remotamente.

• Sua implementação é difícil e mais usualmente é implantado uma combinação do modelo de camadas com o cliente-servidor.

• O núcleo do sistema passa a incorporar o escalonamento e gerência de memória além das funções de device drivers.

Page 105: Aulas - Sistemas Operacionais 1 a 107

105/13

Micro-núcleo – Visão Geral

Micro-núcleo

Gerente de memória

Gerente de proteção

Gerente de discos

Gerente de arquivos

Nívelnúcleo

Nívelusuário

aplicação aplicação aplicação

Page 106: Aulas - Sistemas Operacionais 1 a 107

Sistema micro-núcleo

PESQUISAR OS TIPOS DE SISTEMAS

OPERACIONAIS MONOLÍTICOS

Page 107: Aulas - Sistemas Operacionais 1 a 107

107/13

Máquina Virtual

Hardware

Gerência de Máquinas Virtuais

HV1 HV2 HV3

SO1 SO2 SO3

APL1 APL1 APL1