Você está na página 1de 107

Sistemas Operacionais

Prof. Leandro Meireles


1/9
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, Princpios de Sistemas Operacionais- Projetos e
Aplicaes, Rio de Janeiro: LTC,2010
MARQUES, J.A. et al, Sistemas Operacionais, Rio de Janeiro:LTC,
2010.
2/9
Contextualizao
Definio:
Conjunto de programas responsvel pela gerncia
de recursos de hardware, segurana de acesso e
utilizao e interface com os usurios;
3/9
Contextualizao
Componentes Bsicos:
Interface com o usurio, gerencia de processador,
gerncia de memria, gerncia de dispositivos,
sistemas de arquivos;
Componentes Avanados:
Segurana de acesso, ferramentas de auditoria
4/9
5/9
Definio de SO
uma camada de software que opera entre
o hardware e os programas aplicativos
voltados ao usurio final.
uma estrutura de software ampla, muitas
vezes complexa, que incorpora aspectos de
baixo nvel (como drivers de dispositivos e
gerncia de memria fsica) e de alto nvel
(como programas utilitrios e a prpria
interface grfica).
6/9
Viso do Sistema Operacional
programadores
e analistas
memria
discos
UCP
Usurios
Hardware
Sistema Operacional Sistema Operacional
fitas
impressoras monitores
programas,
sistemas e
aplicativos
usurios
7/9
Abstrao de Recursos
Cada hardware tem sua particularidade
Cabe ao sistema operacional gerenciar as
particularidades do hardware
Um processador de texto no deve deter o
conhecimento de como gravar um arquivo
(disquetes, pen drive, hds).
8/9
Cabe ao Sistema Operacional
Prover interfaces de acesso aos
dispositivos, mais simples de usar que as
interface de baixo nvel.
Tornar os aplicativos independentes do
hardware.
Definir interfaces de acesso homogneas
para dispositivos com tecnologias distintas.
9/9
Gerncia de Recursos
Cabe ao sistema operacional definir
polticas para gerenciar o uso dos recursos
de hardware pelos aplicativos, e resolver
eventuais disputas e conflitos.
Uso de processador
Acesso a disco
Memria
10/9
Atividade
Quais os sistemas operacionais que vocs
conhecem ?
Como eles funcionam ?
Como sua interface ?
Contextualizao
Evoluo Histrica dos Sistemas
Operacionais
11/9
12/12
Roteiro
Batch (lote)
De Rede
Distribudo
Multi-usurio
Desktop
Servidor
Embutido
Tempo real
13/12
Batch (lote)
Todos os programas a executar eram
colocados em uma fila.
O processador recebia um programa aps
o outro, processando-os em seqncia, o
que permitia um alto grau de utilizao do
sistema.
O termo lote ainda usado para definir
um conjunto de comandos que rodam sem
interferncia do usurio
14/12
Bach (lote)
Processamento
Processamento
Processamento
(a)
(b)
(c)
fita de entrada
fita de entrada
cartes perfurados
fita de sada
relatrios
fita de sada
job 2
job n
relatrio 1
relatrio 2
relatrio n
job 1
15/12
Rede
Suporte a operao em rede
Maioria dos sistemas operacionais atuais
Compartilhamento de recursos de/ou para
vrios computadores.
Disponibilizar os prprios recursos.
So independentes e caso a conexo entre um
dos ns sofra qualquer problema, os demais
continuam operando normalmente , apesar de
alguns recursos se tornarem indisponveis.
Exemplo:
Os mdulos do S.O Rede podem ser:
Mdulo Cliente do Sistema Operacional
(SORC)
Mdulo Servidor do Sistema Operacional
(SORS)
16/9
Rede
17/12
Distribudo
Os recursos de cada mquina esto disponveis
globalmente, de forma transparente aos
usurios.
Para o usurio e suas aplicaes como se no
existisse uma rede de computadores e sim um
nico sistema centralizado.
Usurio desconhece o computador em uso.
Ainda no so uma realidade de mercado.
Exemplo: Google Docs, One Drive, ICloud
18/9
Distribudo
19/12
Multi-usurio
Mltiplos usurios simultneos
Maioria dos sistemas operacionais atuais
Deve suportar a identificao do dono de
cada recurso dentro do sistema
arquivos, processos, conexes de rede
Imposio de regras de controle de
acesso para impedir o uso desses
recursos por usurios no autorizados
20/12
Desktop
Sistema operacional de mesa.
Usurios domsticos e corporativos
Atividades corriqueiras
Ambiente grfico, interatividade com
usurio e suporte a rede.
21/12
Servidor
Gesto de grandes quantidades de
recursos
Discos, memrias e processadores e servios
gerais
Multi-usurios
Suporte a rede
22/12
Embutido
Embedded
Hardwares com pouca capacidade de
processamento
Calculadores, tocadores de MP3, computador
de bordo para veculos
Funo especfica
Embutido
23/9
24/12
Tempo real
Comportamento temporal previsvel
Tempo de resposta conhecido no melhor caso e pior
caso de operao
soft real-time systems
perda de prazo implica em degradao do servio
prestado (gravao de CD)
hard real-time systems
perda de prazo pode causar grandes prejuzos
econmicos ou ambientais (usina nuclear, caldeiras
industriais)
Tempo real
25/9
26/11
Roteiro
Funcionalidades de um sistema
operacional
Gerncia
Processador
Memria
Dispositivos
Arquivos
Proteo
27/11
Sistema Operacional e sua
gerncia
Para cumprir sua funo, deve atuar em
vrias frentes.
So vrios os recursos a serem
gerenciados
Ateno: Necessrio Abstrao
28/11
Gerncia de Processador
Conhecida como gerncia de processos
ou de atividades.
Visa distribuir a capacidade de
processamento de forma justa
Justa diferente de igual
Gerncia de Processador
Sincronizao de atividades
Comunicao entre processos
Manter o processador ocupado a maior parte
do tempo;
Balancear o uso da CPU entre processos;
Privilegiar a execuo de aplicaes
crticas;
Maximizar o throughput (rendimento) e;
Oferecer tempos de resposta razoveis
aos usurios interativos.
29/9
30/11
Gerncia de Memria
Fornecer a cada aplicao um espao
prprio de memria
Independente e isolado das demais
aplicaes
Uso do disco como memria
complementar
Aplicao desconhece o tipo da memria em
uso
31/11
Gerncia de Dispositivos
Gerncia de Entrada/Sada
Vrios dispositivos diferentes
Pen drive, disquetes, discos IDE e SCSI
Permitir, atravs de drivers, o uso de
forma comum
Vetor de blocos de dados (endereamento de
memria)
32/11
Gerncia de Arquivos
Construda sobre a gerncia de
dispositivos
Criando abstraes de arquivos e diretrios
Outros dispositivos podem ser utilizados
como arquivos
Gravar arquivos numa sada TCP
Outras devices;
33/11
Gerncia de Proteo
Polticas de acesso para sistemas
Em rede
Multi-usurios
Definio de usurios, grupos de usurios,
registro de recursos por usurios
34/11
Sistemas Operacionais Modernos
Gerncia de energia
Gerncia de rede
Gerncia de recursos multimida
35/11
Os mdulos de gerncia so
inter-dependentes
36/13
Roteiro
Estrutura de um sistema operacional
Componentes
Uso e importncia
Programas Utilitrios
37/13
Ncleo
Kernel
Corao do sistema
operacional
Responsvel pela
gerncia dos recursos
de hardwares
utilizados
38/13
Drivers
Cdigos especficos
Acesso dispositivos fsicos
Normalmente fornecido pelo fabricante do
hardware
Forma binria
Acoplado ao sistema operacional
Drivers
39/9
Dispositivo para o Drivers
40/9
41/13
Inicializao do Sistema Operacional
Carregar o ncleo do sistema operacional
em memria e iniciar sua execuo.
Disco Memria
Principal
b
o
o
t
Sistema
Operacional
rea do
Sistema
Operacional
42/13
Programas Utilitrios
Facilitam o uso do sistema operacional
Tradutor
Interpretador
Linker
Loader
Depurador
Interpretador de Comandos (shell)
Qualquer, programas-fonte escritos no
esta pronto para ser diretamente
executado pelo processador. Para isso
eles tm que passar pela ETAPA DE
CONVERSO.
TODA REPRESENTAO DAS INSTRUES
TRADUZIDA PARA CDIGO DE MQUINA
Tradutor
Tradutor Montador (assembler);
Tradutor Compilador
44/13
Tradutor
programa fonte programa objeto Tradutor
Compilador
45/13
Interpretador
Considerado TRADUTOR que no gera
mdulo-objeto**
**(No um arquivo executvel
propriamente dito, mas j se encontra
em linguagem de mquina).
Traduz cada comando e executa
Desvantagem: tempo na traduo
Vantagem: ados dinmicos
46/13
Linker
Tem como funo resolver todas as
referncias simblicas existentes entre os
mdulos e reservar memria para execuo
do programa.
funo unir vrios programas j compilados
de uma forma independente e unific-los em
um programa executvel.
47/13
Linker
48/13
Linker
49/13
Loader
Normalmente de responsabilidade do
sistema operacional carregar e executar
arquivos. A parte do sistema operacional
que executa essa funo chamada de
loader (carregador)
H dois tipos de loaders: relocvel e
absoluto.
50/13
LOADERS: RELOCVEL
Carregar o programa em qualquer
locao da memria, e altera vrios
endereos para assegurar a referncia
correta.
A deciso sobre onde o programa
alocado na memria feita pelo SISTEMA
OPERACIONAL, no pelo arquivo de
cabealho de programas.
51/13
LOADERS: ABSOLUTO.
O loader carrega o arquivo em memria
na locao especificada pela parte inicial
(cabealho) do arquivo e passa o controle
ao programa.
52/13
Depurador
Permite acompanhar a execuo de um
programa e detectar erros.
Breakpoints - Ponto de interrupo uma parada
intencional ou pausar lugar em um programa
Watchpoints - Ponto programado uma parada
pr estabelecida num ponto determinado do programa
53/13
Interpretador de Comandos
Interpretador de comandos ou shell
permite ao usurio interagir com o sistema
Linguagem de controle so os comandos
disponveis pelo interpretador
Exemplos: Shell Bash, console e prompt
de comando
54/25
Roteiro
Hardware
Estrutura de um sistema operacional
Interrupes
Proteo do ncleo
Nveis de privilgio
Chamadas de sistema
55/25
Hardware
Mono-processadores atuais seguem um
padro definido na dcada de 40 por
Jnos (John) Von Neumann
Arquitetura Von Neumann
Programa armazenado
John von Neumann formalizou o projeto lgico de um computador.
Em sua proposta, sugeriu que as instrues fossem armazenadas
na memria do computador. At ento elas eram lidas de cartes
perfurados e executadas, uma a uma. Armazen-las na memria,
para ento execut-las, tornaria o computador mais rpido, j que,
no momento da execuo, as instrues seriam obtidas com
rapidez eletrnica.
56/9
57/25
Estrutura de um Sistema
Operacional
Controladora de Dispositivos
Dispositivos fsicos
Hardware
Software
Aplicativos
Programas
Utilitrios
Nvel usurio
Nvel sistema
Ncleo
Cdigo de
Inicializao
Drivers de
Dispositivo
58/25
Hardware
Memria
Principal
Dispositivos
de E/ S
Processador / UCP
Unidade Lgica
e Ari tmti ca
Registradores
Unidade de
Controle
59/25
Processador
o ncleo do sistema de computao.
Responsvel por continuamente ler as
instrues e dados da memria ou de
perifricos, process-los e enviar os
resultados de volta a memria ou outros
perifricos.
60/25
Processador
Unidade Central de Processamento (UCP
ou CPU)
Unidade de Controle (UC)
Unidade Lgica e Aritmtica (ULA)
Clock
Memrias de alta velocidade
61/25
Processador
Processador cognitivo no simular o crebro humano, usar o que j se
sabe sobre o funcionamento dos crebros biolgicos para construir um
sistema capaz de aprender e interagir com o ambiente. WATSON IBM
Pesquisa: Sobre o computador WATSON
- IBM
62/9
VEJA NO LINK:
http://www-
03.ibm.com/systems/b
r/power/advantages/w
atson/
63/9
64/25
Barramento
Ocorre todas as transferncias de dados.
Barramento de endereos
Indica a posio de memria (ou dispositivo) a
acessar
Barramento de controle
Indica a operao a efetuar (leitura ou escrita)
Barramento de dados
Transporta a informao indicada entre o
processador e a memria ou controlador de
dispositivo
65/25
Barramento
Barramento processador-memria
B
a
r
r
a
m
e
n
t
o

d
e

E
/
S
B
a
r
r
a
m
e
n
t
o

d
e

E
/
S
Adaptador Adaptador
Memria
Principal
UCP
66/25
MMU
Memory Management Unit (Unidade de
Gerncia de Memria)
Responsvel por analisar cada endereo
solicitado pelo processador, valid-los,
efetuar converses de endereamento
necessrias e executar a operao
solicitada pelo processador
leitura ou escrita de uma posio de memria
67/25
Memria
maior
capacidade de
armazenamento
maior custo e
velocidade
de acesso
Memria Secundria
Memria Cache
Memria Principal
Registradores
68/25
Memria
Secundria
Chamadas de memrias de
armazenamento em massa, para
armazenamento permanente de dados.
No podem ser endereadas diretamente, a
informao precisa ser carregada em
memria principal antes de poder ser tratada
pelo processador.
69/25
Memria
Secundria
70/25
Memria
PRIMRIA
Chamadas de memria real, so memrias que o
processador pode enderear diretamente, sem as quais
o computador no pode funcionar.
Estas fornecem geralmente uma ponte para as
secundrias, mas a sua funo principal a de conter a
informao necessria para o processador num
determinado momento; esta informao pode ser, por
exemplo, os programas em execuo.
71/25
Memria
Primria
Nesta categoria insere-se a RAM, que uma
memria de semicondutores, voltil, com acesso
aleatrio, isto , palavras individuais de
memria so acessadas diretamente, utilizando
uma lgica de endereamento implementada
em hardware.
72/25
Memria
CACHE
Dispositivo de acesso rpido, interno a um
sistema, que serve de intermedirio entre um
operador de um processo e o dispositivo de
armazenamento ao qual esse operador acede.
73/25
Memria
CACHE
Atualmente h cache em processadores, discos
rgidos, sistemas, servidores, nas placa me,
cluter de bancos de dados, entre outros.
Qualquer dispositivo que requeira do usurio
uma solicitao/requisio a algum outro
recurso, seja de rede ou local, interno ou
externo a essa rede, pode requerer ou possuir
de fbrica o recurso de cache.
74/25
Memria
CACHE
75/25
Memria
REGISTRADORES
uma unidade de memria capaz de armazenar n bits.
Os registradores esto no topo da hierarquia de
memria, sendo assim, so o meio mais rpido e caro
de se armazenar um dado.
Obs: Apesar dos registradores apresentarem um bom
desempenho no quesito rapidez, possuem uma
capacidade de armazenamento baixssima comparada a
outros circuitos de armazenamento, como o caso da
memria secundria.
76/25
Diversos Dispositivos
Memria secundria
Discos
Fitas magnticas
Interface usurio-mquina
Teclados
Impressoras
Outros dispositivos
Placa de vdeo
Dispositivos USBs
So acessados atravs de circuitos especficos
denominados controladores
77/25
Arquitetura de um Computador
controle
endereos
dados
Processador MMU
Memria
Controladora
USB
Mouse Teclado
Controladora
de vdeo
Monitor
Controladora
de disco
Controladora
de rede
Unidade
de disco
Conexo
de rede
78/25
Interrupes
Quando um controlador de perifrico
possui uma informao importante para
fornecer ao processador
Aguarda at que o processador o consulte
Notifica o processador atravs do barramento
de controle
Requisio de interrupo (IRQ Interrupt
ReQuest)
79/25
Interrupo
A. EXEMPLO:
1. O processador est executando um programa qualquer
(em outras palavras, um fluxo de execuo);
2. Um pacote vindo da rede recebido pela placa
Ethernet;
3. A placa envia uma solicitao de interrupo (IRQ) ao
processador;
4. O processamento desviado do programa em
execuo para a rotina de tratamento da interrupo
5. A rotina de tratamento executada para receber as
informaes da placa de rede (via barramentos de
dados e de endereos) e atualizar as estruturas de
dados do sistema operacional;
6. A rotina de tratamento da interrupo finalizada e o
processador retorna execuo do programa que havia
sido interrompido.
80/25
Interrupo
controle
endereos
dados
Processador MMU
Controladora
de rede
Programa em
execuo
memria
1
Rotina de
tratamento da
interrupo
4
6
2
5
5
3
81/25
Proteo ao Ncleo
Certas instrues no podem estar
disponveis para as aplicaes, pois isso
poderia ocasionar um srio problema de
integridade no sistema.
Por exemplo, um acesso ao disco rgido para
gravao de um arquivo.
Ateno: Aplicativos de auto gravao
exercem a mesma funo de solicitao de
IRQ
82/25
Nveis de privilgio
Ento, existe 2 tipos de
instrues:
Instrues privilegiadas
Instrues no-privilegiadas.
O processador implementa
2 modos de acesso:
Modo usurio
Modo kernel (ou supervisor).

CPU Intel x86
Sistema Operacional
Aplicao
No utilizado

No utilizado
0
1
2
3
83/25
Separao entre ncleo e as
aplicaes
Hardware
Ncleo
Nvel
ncleo
Nvel
usurio
Aplicao Aplicao Aplicao Aplicao
84/25
Chamadas de Sistema
o mecanismo usado pelo programa para
requisitar um servio do sistema operacional, ou
mais especificamente, do ncleo do sistema
operacional.
85/25
Chamadas de Sistema
So portas de entrada para se ter acesso ao
ncleo do sistema operacional.
Exemplo: Quando o usurio deseja algum
servio, realiza uma chamada a uma de suas
rotinas atravs de system calls (chamadas ao
sistema).
Para cada servio existe um system call
associada e cada sistema operacional tem o
seu prprio conjunto de chamadas.
86/25
System Calls
Aplicao
System Call
Ncleo
Hardware
87/25
Syscalls - Grupos de Funo
Gerncia de Processos
Criao e eliminao de processos, alterao das
caractersticas do processo e sincronizao e
comunicao entre processos.
Gerncia de memria
Alocao e desalocao de memria.
Gerncia de entrada/sada
Operaes de entrada e sada e manipulao de
arquivos e diretrios.
88/25
Chamada a uma rotina de acesso
89/25
API - Interface de Programao de
Aplicativos
Conjunto de chamadas de sistema
oferecidas por um ncleo, chamada de
API
API Win32 (Windows)
POSIX (Unix/Linux)
90/25
API - Interface de Programao de
Aplicativos
API Win32 (Windows)
APIs do Windows so bibliotecas de vnculo
dinmico (DLLs) que fazem parte do sistema
operacional Windows. Voc as usa para
executar tarefas quando difcil escrever
procedimentos equivalentes de sua
preferncia. Por exemplo, o Windows fornece
uma funo chamada FlashWindowEx que
permite que voc crie a barra de ttulo para
um aplicativo alternativo entre tonalidades
claras e escuras.
91/25
API - Interface de Programao de
Aplicativos
POSIX (Unix/Linux)
Interface Portvel entre Sistemas
Operacionais) uma famlia de normas
definidas pelo IEEE e designada formalmente
por IEEE 1003, que tem como objetivo
garantir a portabilidade do cdigo-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.
92/25
API - Interface de Programao de
Aplicativos
Um sistema operacional possui uma grande
quantidade de funes na API, que permitem ao
programador criar janelas, acessar arquivos,
criptografar dados etc.
As APIs dos sistemas operacionais costumam
ser dissociadas de tarefas mais essenciais,
como a manipulao de blocos de memria e
acesso a dispositivos. Essas tarefas so
atributos do ncleo de sistema e raramente so
programveis.
Avaliao Bimestral
Data:_______
- Leitura do material
- Reviso de exerccios/Exemplos
93/9
94/13
Roteiro
Sistemas monolticos
Sistemas em camadas
Sistemas micro-ncleo
Mquinas virtuais
95/13
Sistema Monoltico
A organizao mais comum aquela que
estrutura o sistema como um conjunto de rotinas
que podem interagir livremente umas com as
outras.
Pode ser comparada com uma aplicao
formada por vrios procedimentos que so
compilados separadamente e depois linkados,
formando um grande e nico programa
executvel.
Grande desempenho
Uma falha pode paralisar o todo o ncleo
96/13
Sistema Monoltico
Aplicao Aplicao
System Calls
Hardware
Modo Usurio
Modo Kernel
ncleo
Sistema Monoltico
PESQUISAR OS TIPOS DE SISTEMAS
OPERACIONAIS MONOLTICOS
98/13
Sistema em Camadas
Divide o sistema operacional em sistemas
sobrepostos. Cada mdulo oferece um conjunto
de funes que pode ser usado por outros
mdulos.
A vantagem da estruturao em camadas
isolar o sistema operacional, facilitando sua
alterao e depurao, alm de criar uma
hierarquia de nveis de modos, protegendo as
camadas mais internas.
99/13
Sistema em Camadas
O empilhamento de vrias camadas de software
faz com que cada pedido de uma aplicao
demore mais tempo para chegar at o
dispositivo perifrico ou recurso a ser acessado,
prejudicando o desempenho do sistema.
No bvio dividir as funcionalidades de um
ncleo de sistema operacional em camadas
horizontais de abstrao crescente, pois essas
funcionalidades so inter-dependentes, embora
tratem muitas vezes de recursos distintos.
100/13
Sistema em Camadas
2
1
3
Programas de Usurio
Multiprogramao
0
Gerncia de Memria
Entrada/Sada
Comunicao
4
5
Operador
Kernel
Supervisor
Usurio
Executivo
Sistema VMS
Sistema Multics
Sistema em Camadas
PESQUISAR OS TIPOS DE SISTEMAS
OPERACIONAIS CAMADAS
102/13
Sistemas micro-ncleo (microkernel)
Uma tendncia dos sistemas operacionais
tornar o ncleo menor e mais simples possvel e
para implementar esta idia o sistema dividido
em processos.
Desta forma, sempre que uma aplicao deseja
algum servio ela solicita ao processo
responsvel, assim, a aplicao que solicita um
servio chamada de cliente e o processo que
responde a solicitao chamado de servidor.
103/13
Sistema micro-ncleo
A utilizao deste modelo permite que os servidores
executem em modo usurio.
Apenas o ncleo do sistema, responsvel pela
comunicao entre clientes e servidores, executa no
modo kernel.
O sistema operacional passa a ser de mais fcil
manuteno.
No importa se o servio esta sendo processado em um
nico processador, com mltiplos processadores
(fortemente acoplado) ou em sistema distribudo
(fracamente acoplado).
104/13
Sistema micro-ncleo
Em ambiente distribudo permite que um cliente
solicite um servio e a resposta seja processada
remotamente.
Sua implementao difcil e mais usualmente
implantado uma combinao do modelo de
camadas com o cliente-servidor.
O ncleo do sistema passa a incorporar o
escalonamento e gerncia de memria alm
das funes de device drivers.
105/13
Micro-ncleo Viso Geral
Micro-ncleo
Gerente de
memria
Gerente de
proteo
Gerente de
discos
Gerente de
arquivos
Nvel
ncleo
Nvel
usurio
aplicao aplicao
aplicao
Sistema micro-ncleo
PESQUISAR OS TIPOS DE SISTEMAS
OPERACIONAIS MONOLTICOS
107/13
Mquina Virtual
Hardware
Gerncia de Mquinas Virtuais
HV1 HV2 HV3
SO1 SO2 SO3
APL1 APL1 APL1