Top Banner
1/9 Sistemas Operacionais
64

Introdução a Sistemas Operacionais

Jul 01, 2015

Download

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introdução a Sistemas Operacionais

1/9

Sistemas Operacionais

Page 2: Introdução a Sistemas Operacionais

2/9

Roteiro

• Conceitos

• Visão de um sistema operacional

• Abstração de recursos

Page 3: Introdução a Sistemas Operacionais

3/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 4: Introdução a Sistemas Operacionais

4/9

Visão do Sistema Operacional

p r o g r a m a d o r e se a n a l i s t a s

m e m ó r i a d i s c o s

U C P

U s u á r i o s

H a r d w a r e

S i s t e m a O p e r a c i o n a lS i s t e m a O p e r a c i o n a l

f i t a s

i m p r e s s o r a s m o n i t o r e s

p r o g r a m a s ,s i s t e m a s ea p l i c a t i v o s

u s u á r i o s

Page 5: Introdução a Sistemas Operacionais

5/9

Abstração de Recursos

• Cada hardware tem sua particularidade

• Cabe 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 6: Introdução a Sistemas Operacionais

6/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 7: Introdução a Sistemas Operacionais

7/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 8: Introdução a Sistemas Operacionais

8/12

Tipos de S.O.

Page 9: Introdução a Sistemas Operacionais

9/12

Roteiro

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

Page 10: Introdução a Sistemas Operacionais

10/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 11: Introdução a Sistemas Operacionais

11/12

Bach (lote)

P r o c e s s a m e n t o

P r o c e s s a m e n t o

P r o c e s s a m e n t o

( a )

( b )

( c )

f i t a d e e n t r a d a

f i t a d e e n t r a d a

c a r t õ e s p e r f u r a d o s

f i t a d e s a í d a

r e l a t ó r i o s

f i t a d e s a í d a

j o b 2

j o b n

r e l a t ó r i o 1

r e l a t ó r i o 2

r e l a t ó r i o n

j o b 1

Page 12: Introdução a Sistemas Operacionais

12/12

Rede

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

• Compartilhamento de recursos de 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 13: Introdução a Sistemas Operacionais

13/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: Amoeba

Page 14: Introdução a Sistemas Operacionais

14/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 15: Introdução a Sistemas Operacionais

15/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 16: Introdução a Sistemas Operacionais

16/12

Servidor

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

• Multi-usuários

• Suporte a rede

Page 17: Introdução a Sistemas Operacionais

17/12

Embutido

• Embedded

• Hardwares com pouca capacidade de processamento– Celulares, calculadores, tocadores de MP3

• Função específica

Page 18: Introdução a Sistemas Operacionais

18/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 19: Introdução a Sistemas Operacionais

19/11

Funcionalidades

Page 20: Introdução a Sistemas Operacionais

20/11

Roteiro

• Funcionalidades de um sistema operacional

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

Page 21: Introdução a Sistemas Operacionais

21/11

Sistema Operacional

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

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

Page 22: Introdução a Sistemas Operacionais

22/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”

• Sincronização de atividades– Comunicação entre processos

Page 23: Introdução a Sistemas Operacionais

23/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 24: Introdução a Sistemas Operacionais

24/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

Page 25: Introdução a Sistemas Operacionais

25/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 (Unix)

Page 26: Introdução a Sistemas Operacionais

26/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 27: Introdução a Sistemas Operacionais

27/11

Sistemas Operacionais Modernos

• Gerência de energia

• Gerência de rede

• Gerência de recursos multimidía

Page 28: Introdução a Sistemas Operacionais

28/11

Visão Geral

• Os módulos de gerência são inter-dependentes

Page 29: Introdução a Sistemas Operacionais

29/13

Estrutura

Page 30: Introdução a Sistemas Operacionais

30/13

Roteiro

• Estrutura de um sistema operacional

• Componentes

• Uso e importância

• Programas Utilitários

Page 31: Introdução a Sistemas Operacionais

31/13

Núcleo

• Kernel• Coração do sistema

operacional• Responsável pela

gerência dos recursos de hardwares utilizados

Page 32: Introdução a Sistemas Operacionais

32/13

Drivers

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

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

Page 33: Introdução a Sistemas Operacionais

33/13

Código de Inicialização do Sistema

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

D i s c o M e m ó r i aP r i n c i p a l

b o o t

S i s t e m aO p e r a c i o n a l

Á r e a d oS i s t e m a

O p e r a c i o n a l

Page 34: Introdução a Sistemas Operacionais

34/13

Programas Utilitários

• Facilitam o uso do sistema operacional– Tradutor

• Montador e Compilador

– Interpretador– Linker– Loader– Depurador– Interpretador de Comandos (shell)

Page 35: Introdução a Sistemas Operacionais

35/13

Tradutor

• Montador e Compilador

programa fonte programa objetoTradutor

Compilador

Page 36: Introdução a Sistemas Operacionais

36/13

Interpretador

• Tradutor que não gera módulo-objeto

• Traduz cada comando e executa

• Desvantagem: tempo na tradução

• Vantagem: dados dinâmicos

• Exemplos: Basic e Perl

Page 37: Introdução a Sistemas Operacionais

37/13

Linker

Page 38: Introdução a Sistemas Operacionais

38/13

Loader

• Carregar na memória principal um programa para ser executado

• Loader absoluto

• Loader relocável

Page 39: Introdução a Sistemas Operacionais

39/13

Depurador

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

• Visualização e alteração de variáveis

• Breakpoints

• Watchpoints

Page 40: Introdução a Sistemas Operacionais

40/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

Page 41: Introdução a Sistemas Operacionais

41/25

Estrutura - Hardware

Page 42: Introdução a Sistemas Operacionais

42/25

Roteiro

• Hardware

• Estrutura de um sistema operacional

• Interrupções

• Proteção do núcleo

• Níveis de privilégio

• Chamadas de sistema

Page 43: Introdução a Sistemas Operacionais

43/25

Hardware

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

• Programa armazenado– Programa a ser executado reside na memória

junto com os dados

Page 44: Introdução a Sistemas Operacionais

44/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 45: Introdução a Sistemas Operacionais

45/25

Hardware

M e m ó r i aP r i n c i p a l

D i s p o s i t i v o sd e E / S

P r o c e s s a d o r / U C P

U n i d a d e L ó g i c ae A r i t m é t i c a

R e g i s t r a d o r e s

U n i d a d e d eC o n t r o l e

Page 46: Introdução a Sistemas Operacionais

46/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 47: Introdução a Sistemas Operacionais

47/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 48: Introdução a Sistemas Operacionais

48/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 49: Introdução a Sistemas Operacionais

49/25

Barramento

B a r r a m e n t o p r o c e s s a d o r - m e m ó r i a

Ba

rra

me

nto

de

E/S

Ba

rra

me

nto

de

E/S

A d a p t a d o r A d a p t a d o r

M e m ó r i aP r i n c i p a l

U C P

Page 50: Introdução a Sistemas Operacionais

50/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 51: Introdução a Sistemas Operacionais

51/25

Memória

m a i o rc a p a c i d a d e d e

a r m a z e n a m e n t o

m a i o r c u s t o ev e l o c i d a d ed e a c e s s o

M e m ó r i a S e c u n d á r i a

M e m ó r i a C a c h e

M e m ó r i a P r i n c i p a l

R e g i s t r a d o r e s

Page 52: Introdução a Sistemas Operacionais

52/25

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 53: Introdução a Sistemas Operacionais

53/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 54: Introdução a Sistemas Operacionais

54/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 55: Introdução a Sistemas Operacionais

55/25

Interrupção

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 56: Introdução a Sistemas Operacionais

56/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 57: Introdução a Sistemas Operacionais

57/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.

Page 58: Introdução a Sistemas Operacionais

58/25

Níveis de privilégio

• Então, existe 2 tipos de instruções: instruções privilegiadas e instruções não-privilegiadas.

• O processador implementa 2 modos de acesso: modo usuário e o modo kernel (ou supervisor).

CPU Intel x86

Sistema Operacional

Aplicação

Não utilizado

Não utilizado

0

1

2

3

Page 59: Introdução a Sistemas Operacionais

59/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 60: Introdução a Sistemas Operacionais

60/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 call associada e cada sistema operacional tem o seu próprio conjunto de chamadas.

Page 61: Introdução a Sistemas Operacionais

61/25

System Calls

Aplicação System CallNúcleoNúcleo

Hardware

Page 62: Introdução a Sistemas Operacionais

62/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 63: Introdução a Sistemas Operacionais

63/25

Chamada a uma rotina de acesso

Page 64: Introdução a Sistemas Operacionais

64/25

Application Programming Interface

• Conjunto de chamadas de sistema oferecidas por um núcleo é chamada de API– API Win32 (Windows)– POSIX (Unix/Linux)