Vous êtes sur la page 1sur 49

Sistemas Operacionais

Introduo a Sistemas Operacionais

5/29/16

Fagner S. de Lima - Sistemas Operacionais

Objetivos
Identificar as funes e os componentes de um Sistema
Operacional;
Diferenciar os tipos de Sistemas Operacionais existentes;
Identificar os modelos de estruturas existentes de Sistemas
Operacionais;
Compreender os modos de acesso e o funcionamento de
uma chamada ao sistema ("system call");
Compreender a importncia e o funcionamento dos
mecanismos de interrupo;
Compreender os fundamentos de sistemas concorrentes.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

Introduo
Nesta aula, conheceremos as caractersticas de um Sistema
Operacional e a importncia desse sistema em um ambiente
computacional. Para isso, trataremos de dois conceitos muito
importantes para o entendimento dos sistemas modernos:
interrupes e chamadas ao sistema.
Sero abordados, tambm, os principais tipos de Sistemas
Operacionais e suas caractersticas.

Conceitos Fundamentais de Sistemas Operacionais;


Classificao de Sistemas Operacionais;
Estruturas dos Sistemas Operacionais Modernos;
Interrupes;
Conceitos de Concorrncia.
5/29/16

Fagner S. de Lima - Sistemas Operacionais

Conceitos Fundamentais de Sistemas


Operacionais
Sistema Operacional um conjunto de programas
(software) responsvel por:
fazer a interface com os usurios;
gerenciar recursos;
fazer a interface com o hardware.

Funes adicionais: contabilizao de uso,


segurana de acesso, auditoria.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

Conceitos Fundamentais de Sistemas


Operacionais

O Sistema Operacional o
intermdio entre o usurio e o
hardware
5/29/16

Fagner S. de Lima - Sistemas Operacionais

Conceitos Fundamentais de Sistemas


Operacionais
Cada parte (mdulo ou funo) de um Sistema Operacional
responsvel pelo gerenciamento de um recurso especfico.
Esses recursos so:
Tempo de CPU;
Espao em memria;
Espao em disco;
Acesso aos dispositivos de comunicao;
Bibliotecas de software.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

Conceitos Fundamentais de Sistemas


Operacionais
Gerenciar recursos garantir a utilizao compartilhada do
recurso sem que ocorram erros que possam gerar
instabilidade ou falha no sistema.
Na viso do usurio, o Sistema Operacional fornece:
Acesso ao sistema;
Possibilidade de criar e gerir arquivos e diretrios;
Ambiente para execuo de programas;
Acesso aos dispositivos de E/S;
Acesso ao contedo de arquivos;
Deteco de erros.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

Classificao de Sistemas Operacionais


A classificao utilizada como uma forma sinttica de
apresentar, em poucas palavras, as caractersticas de um
Sistema Operacional.
Sistemas Monotarefa x Sistemas Multitarefa

Sistemas Monousurio x Sistemas Multiusurio

Sistemas Monoprocessados x Sistemas


Multiprocessados

5/29/16

Fagner S. de Lima - Sistemas Operacionais

Classificao de Sistemas Operacionais


Sistemas Monotarefa x Sistemas Multitarefa
Definem a capacidade de gerenciar mais de uma tarefa ao
mesmo tempo.
Monotarefa: Admite e gerencia apenas uma tarefa em
execuo por vez.
Exemplo: DOS.
Multitarefa: Admite e gerencia vrias tarefas em
processamento concorrente.
Exemplo: Windows XP, Windows 7, Linux, MacOS.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

Classificao de Sistemas Operacionais

Executa

Espera

Executa

Espera

Monotarefa

Programa A

Executa

Espera

Executa

Espera

Programa B

Espera

Executa

Espera

Executa

Multitarefa
5/29/16

Fagner S. de Lima - Sistemas Operacionais

10

Classificao de Sistemas Operacionais


Sistemas Monousurio x Sistemas
Multiusurio
Definem a capacidade de gerenciar mais de um usurio ao
mesmo tempo, compartilhando os mesmo recursos de
software e hardware.
Monousurio: Admite e gerencia apenas um usurio no
permite que mais de um usurio esteja "logado"
simultaneamente.
Exemplo: Windows XP, Windows NT (exceto verso com
Terminal Server).
Multiusurio: Admite e gerencia vrios usurios permite
que mais de um usurio esteja "logado" simultaneamente.
Exemplo: Linux, VMS.
5/29/16

Fagner S. de Lima - Sistemas Operacionais

11

Classificao de Sistemas Operacionais

Ateno:
Todo Sistema Operacional Multiusurio ,
obrigatoriamente, Multitarefa, pois cada usurio
representa, no mnimo, uma tarefa para ser
executada.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

12

Classificao de Sistemas Operacionais


Sistemas Monoprocessados x Sistemas
Multiprocessados
Possuem a capacidade de reconhecer e gerenciar
computadores com mais de um processador.
Monoprocessado: Somente reconhece e utiliza um
processador.
Exemplo: Windows 98.
Multiprocessado: Reconhece e utiliza mais de um
processador.
Exemplo: Windows XP, Windows 7, Linux.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

13

Classificao de Sistemas Operacionais


Outros sistemas com finalidades especficas
Sistemas em Tempo Real
Sistemas que possuem um forte vnculo com o tempo. O
resultado s considerado correto se a execuo acontecer
no tempo previsto.
O sistema deve garantir que uma tarefa possua todos os
recursos necessrios para sua execuo em um intervalo de
tempo pr-definido.
Ateno:
No se trata de velocidade de processamento,
e sim de garantia de tempo de resposta.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

14

Classificao de Sistemas Operacionais


Outros sistemas com finalidades especficas
Sistemas Embarcados
Sistemas inseridos em produtos com funes especficas,
como telefones celulares.
Ateno:
Nem todo dispositivo eletrnico possui um
microcontrolador, e nem todo aparelho com
microcontrolador possui um Sistema Operacional.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

15

Estruturas dos Sistemas Operacionais Modernos


Um velho conhecido pelos usurios de microcomputadores a
famosa "tela azul". Quem j utilizou sistemas operacionais
antigos, como o Windows 95, certamente j se deparou com
este problema. A "tela azul" era de fato uma violao de
acesso que tornava o sistema instvel.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

16

Estruturas dos Sistemas Operacionais Modernos


A partir do 80386, esse problema foi solucionado em termos
de hardware atravs da possibilidade de 2 modos de
execuo: o modo protegido e o modo real. Ficava a cargo
do sistema operacional a comutao entre esses dois modos
por questes de compatibilidade.
A instabilidade evidenciada pela "tela azul" tem razes
histricas. Os primeiros processadores da linha x86 possuam
um nico modo de operao: o modo real. Dessa forma, todas
as operaes poderiam ser executadas diretamente pelas
aplicaes que, ao produzir erros, geravam panes no sistema.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

17

Estruturas dos Sistemas Operacionais Modernos


Modo Usurio x Modo Kernel
As aplicaes so executadas em modo usurio, ou seja,
modo que no possui privilgios para operaes que
coloquem o sistema em risco, tais como, escrever no disco,
criar novas tarefas, etc.
Quando essas aplicaes precisam executar tarefas crticas,
necessrio que haja uma mudana para modo Kernel (ncleo
do Sistema Operacional, responsvel pelas tarefas crticas do
sistema). Essa mudana ocorre atravs de uma "system call"
System Call (Chamada ao Sistema): Mecanismo
(chamada ao sistema).
responsvel pela mudana de modo usurio para modo
kernel. Ao invs de executar diretamente funes no kernel,
a aplicao executa uma funo intermediria, que verifica
se o acesso ao kernel seguro e, s ento, completa a
operao.
5/29/16

Fagner S. de Lima - Sistemas Operacionais

18

Estruturas dos Sistemas Operacionais Modernos


Voltando "tela azul"...
As aplicaes podiam executar diretamente as funes do
kernel sem a proteo da mudana de modo, ou seja, o erro
acontecia aps a execuo de uma funo do kernel. Com a
mudana de modo, se a execuo no for segura, a aplicao
ser impedida de continuar a execuo e o sistema
permanecer estvel.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

19

Estruturas dos Sistemas Operacionais Modernos


Exemplo do Linux de uma chamada ao sistema

5/29/16

Fagner S. de Lima - Sistemas Operacionais

20

Estruturas dos Sistemas Operacionais Modernos


Exemplo do Linux de uma chamada ao sistema
Invocao

setitimer(ITIMER_VIRTUAL,
&timer, NULL);

Wrapper

_syscall1(unsigned int, alarm, unsigned


int, seconds)
Mudana de Modo

Handler

Rotina de servio

5/29/16

_system_cal()

unsigned int alarm(unsigned int


seconds)

Fagner S. de Lima - Sistemas Operacionais

21

Estruturas dos Sistemas Operacionais Modernos


Tipos de Estrutura
Os sistemas so classificados em relao s atribuies do
kernel e a relao entre seus mdulos em monolticos,
camadas e microkernel.
Os sistemas modernos so divididos em dois grandes grupos:
Arquitetura monoltica;
Microkernel.
A diferena entre elas est nas atribuies do ncleo do
Sistema Operacional, denominado KERNEL.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

22

Estruturas dos Sistemas Operacionais Modernos


Tipos de Estrutura
Essa caracterstica muito importante no projeto de um
Sistema Operacional e foi alvo de discusso entre dois
grandes nomes da computao: Andrew Tanenbaum e
Linus Torvalds.
De um lado, Torvalds defendia um kernel monoltico por ser
mais rpido e, de outro, Tanenbaum defendia o microkernel
pela elegncia e facilidade de adaptao e substituio de
mdulos.
Quem ganhou? Os dois.

Link: http://oreilly.com/catalog/opensources/book/appa.html
5/29/16

Fagner S. de Lima - Sistemas Operacionais

23

Estruturas dos Sistemas Operacionais Modernos


Arquitetura Monoltica
Todo o kernel compilado e "linkado" em um nico bloco,
tornando o cdigo eficiente, porm de difcil manuteno. A
incluso ou excluso de um mdulo requer que todo o kernel
seja recriado.
Nota:
O kernel do Linux incorporou caractersticas modulares.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

24

Estruturas dos Sistemas Operacionais Modernos


Arquitetura Monoltica

5/29/16

Fagner S. de Lima - Sistemas Operacionais

25

Estruturas dos Sistemas Operacionais Modernos


Arquitetura Microkernel
Somente as funes crticas fazem realmente parte do kernel.
Demais funes so tratadas como tarefas e executam em
modo usurio, fazendo chamadas ao kernel quando
necessrio.
Essa arquitetura simplifica a manuteno, incluso e excluso
de mdulos do Sistema Operacional, no sendo necessrio
gerar um novo kernel a cada modificao e nem mesmo
reiniciar o computador para ativao e desativao do
mdulo.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

26

Estruturas dos Sistemas Operacionais Modernos


Arquitetura Microkernel

5/29/16

Fagner S. de Lima - Sistemas Operacionais

27

Interrupes
So sinais de hardware fundamentais para a existncia de
sistemas multitarefa, pois provocam a suspenso da tarefa em
execuo pela ocorrncia de um evento externo, permitindo
que outras tarefas compartilhem o tempo de uso do
processador.
ATENO:

Neste caso, o que est


sendo compartilhado o
TEMPO DE USO do
processador e NO o
processador em si.
Cada tarefa utiliza 100%
do processador.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

28

Interrupes
Parte do mecanismo executada pelo hardware (identificao
do dispositivo, empilhamento dos registradores de sistema) e
parte feita por software atravs da Rotina de Tratamento
da Interrupo (interrupt handler).

5/29/16

Fagner S. de Lima - Sistemas Operacionais

29

Interrupes
As interrupes so geradas por dispositivos de hardware e
podem ocorrer de forma sncrona ou assncrona.
Relgio (temporizador) sncrona
Dispositivos de E/S (sinalizao de concluso) assncrona
Falha de hardware (paridade de memria, erro de disco, etc.)
assncrona

5/29/16

Fagner S. de Lima - Sistemas Operacionais

30

Interrupes
O termo interrupo muitas vezes utilizado para qualquer
atividade que suspenda a execuo de uma tarefa, mesmo
que seja solicitada pelo prprio programa.
Utilizaremos, para este fim, o termo "estado de exceo".
Estados de exceo: so provocados pela prpria aplicao.
Estouro aritmtico;
Diviso por zero;
Instruo ilegal;
Acesso no permitido;
Chamadas ao sistema.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

31

Interrupes
ATENO:
Mascaramento de interrupes: Capacidade de inibir a
ao de uma interrupo. As interrupes de segurana no
podem ser mascaradas.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

32

Interrupes
Tipos de Interrupes
As interrupes podem acontecer de forma sequencial ou em
cascata.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

33

Interrupes
Interrupo Sequencial
Uma interrupo s poder ser atendida se nenhuma outra
estiver em atendimento.
A Rotina de Servio desabilita as interrupes;
Uma nova interrupo s tratada aps o retorno;
A interrupo pode demorar a ser tratada, o que pode
eventualmente ocasionar uma perda de dados;
Finalizada a Rotina de Servio de Interrupo, o
processador verifica por interrupes adicionais.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

34

Interrupes
Interrupo Sequencial

5/29/16

Fagner S. de Lima - Sistemas Operacionais

35

Interrupes
Interrupo em Cascata
Uma interrupo pode interromper a ao de uma rotina de
tratamento de outra interrupo.
Interrupes tm prioridade;
Interrupes com alta prioridade interrompem Rotinas de
Servio de Interrupes de menor prioridade.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

36

Interrupes
Interrupo em Cascata

5/29/16

Fagner S. de Lima - Sistemas Operacionais

37

Concorrncia
Compartilhar recursos significa que diferentes usurios ou
programas usam os recursos de forma concorrente.
Os recursos so limitados e, assim, o uso dos mesmos pelos
diferentes programas ou usurios precisa ser controlado e
administrado de forma a evitar possveis conflitos ou uma
alocao por tempo indeterminado de algum recurso.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

38

Concorrncia
Concorrncia a capacidade de execuo concorrente de
tarefas, permitindo um melhor aproveitamento de recursos.
Uma tarefa pode deixar a CPU por vontade prpria, quando
precisa aguardar por um recurso, ou por uma interrupo.
Em particular, uma interrupo de temporizador provoca a
substituio da tarefa em execuo, criando uma
alternncia entre as tarefas.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

39

Concorrncia

ATENO:
A alternncia entre as tarefas pode dar a impresso de
execuo simultnea de tarefas, mas no o que ocorre.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

40

Introduo a Sistemas
Operacionais
Exerccios de Fixao

5/29/16

Fagner S. de Lima - Sistemas Operacionais

41

Exerccios de Fixao
1. So funes do Sistema Operacional:
a) Gerenciar recursos de hardware e fornecer um
aplicativo para navegao na Internet.
b) Gerenciar recursos de hardware e interface com o
usurio.
c) Interface com o usurio e correo ortogrfica.
d) Gerenciar recursos de software e interromper uma
tarefa em execuo.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

42

Exerccios de Fixao
1. So funes do Sistema Operacional:
a) Gerenciar recursos de hardware e fornecer um
aplicativo para navegao na Internet.
b) Gerenciar recursos de hardware e interface com
o usurio.
c) Interface com o usurio e correo ortogrfica.
d) Gerenciar recursos de software e interromper uma
tarefa em execuo.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

43

Exerccios de Fixao
2. Para que uma aplicao execute instrues privilegiadas
dever executar um(a):
a) Arquivo especfico para gerenciamento de hardware.
b) Interrupo de hardware.
c) Solicitao ao administrador do sistema.
d) Chamada ao sistema.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

44

Exerccios de Fixao
2. Para que uma aplicao execute instrues privilegiadas
dever executar um(a):
a) Arquivo especfico para gerenciamento de hardware.
b) Interrupo de hardware.
c) Solicitao ao administrador do sistema.
d) Chamada ao sistema.

5/29/16

Fagner S. de Lima - Sistemas Operacionais

45

Exerccios de Fixao
3. O
a)
b)
c)
d)

uso de interrupes permite a utilizao de:


Sistemas concorrentes.
Comunicao de dados.
Dispositivos de hardware como, teclado e mouse.
Bibliotecas de software

5/29/16

Fagner S. de Lima - Sistemas Operacionais

46

Exerccios de Fixao
3. O uso de interrupes permite a utilizao de:
a) Sistemas concorrentes.
b) Comunicao de dados.
c) Dispositivos de hardware como, teclado e mouse.
d) Bibliotecas de software

5/29/16

Fagner S. de Lima - Sistemas Operacionais

47

Introduo a Sistemas
Operacionais
Extras

5/29/16

Fagner S. de Lima - Sistemas Operacionais

48

Links
Navegando pelo kernel do Linux -

5/29/16

http://lxr.linux.no/

Fagner S. de Lima - Sistemas Operacionais

49