Você está na página 1de 49

3/19/15

Rocely Leite - Sistemas Operacionais

SISTEMAS
OPERACIONAIS
Introduo a Sistemas Operacionais

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - Sistemas Operacionais

Conceitos Fundamentais de Sistemas Operacionais

O Sistema Operacional o
intermdio entre o usurio e o
hardware

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - 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

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.

3/19/15

Rocely Leite - Sistemas Operacionais

3/19/15

Rocely Leite - Sistemas Operacionais

10

Classificao de Sistemas Operacionais


Executa

Espera

Executa

Espera

Monotarefa

Programa A

Executa

Espera

Executa

Espera

Programa B

Espera

Executa

Espera

Executa

Multitarefa

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.
3/19/15

Rocely Leite - Sistemas Operacionais

11

3/19/15

Rocely Leite - Sistemas Operacionais

12

Classificao de Sistemas Operacionais


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

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.

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - Sistemas Operacionais

15

3/19/15

Rocely Leite - Sistemas Operacionais

16

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.

3/19/15

Rocely Leite - Sistemas Operacionais

17

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.

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.
3/19/15

Rocely Leite - Sistemas Operacionais

18

3/19/15

Rocely Leite - Sistemas Operacionais

19

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.

Estruturas dos Sistemas Operacionais Modernos


Exemplo do Linux de uma chamada ao sistema

3/19/15

Rocely Leite - 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

3/19/15

_system_cal()

unsigned int alarm(unsigned int


seconds)

Rocely Leite - 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.

3/19/15

Rocely Leite - 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
3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - Sistemas Operacionais

24

Estruturas dos Sistemas Operacionais Modernos


Arquitetura Monoltica

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - Sistemas Operacionais

26

Estruturas dos Sistemas Operacionais Modernos


Arquitetura Microkernel

3/19/15

Rocely Leite - Sistemas Operacionais

27

3/19/15

Rocely Leite - Sistemas Operacionais

28

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.

3/19/15

Rocely Leite - Sistemas Operacionais

29

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).

3/19/15

Rocely Leite - Sistemas Operacionais

30

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

3/19/15

Rocely Leite - Sistemas Operacionais

31

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.

3/19/15

Rocely Leite - Sistemas Operacionais

32

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

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

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - Sistemas Operacionais

34

Interrupes
Interrupo Sequencial

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - Sistemas Operacionais

36

Interrupes
Interrupo em Cascata

3/19/15

Rocely Leite - Sistemas Operacionais

37

3/19/15

Rocely Leite - Sistemas Operacionais

38

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.

3/19/15

Rocely Leite - Sistemas Operacionais

39

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.

3/19/15

Rocely Leite - Sistemas Operacionais

40

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

3/19/15

Rocely Leite - Sistemas Operacionais

INTRODUO A
SISTEMAS
OPERACIONAIS
Exerccios de Fixao

41

3/19/15

Rocely Leite - 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.

3/19/15

Rocely Leite - Sistemas Operacionais

43

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.

3/19/15

Rocely Leite - Sistemas Operacionais

Exerccios de Fixao
2. Para que uma aplicao execute instrues

privilegiadas dever executar um(a):


a)
b)
c)
d)

Arquivo especfico para gerenciamento de hardware.


Interrupo de hardware.
Solicitao ao administrador do sistema.
Chamada ao sistema.

44

3/19/15

Rocely Leite - Sistemas Operacionais

Exerccios de Fixao
2. Para que uma aplicao execute instrues

privilegiadas dever executar um(a):


Arquivo especfico para gerenciamento de hardware.
b) Interrupo de hardware.
c) Solicitao ao administrador do sistema.
d) Chamada ao sistema.
a)

45

3/19/15

Rocely Leite - Sistemas Operacionais

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

46

3/19/15

Rocely Leite - Sistemas Operacionais

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

47

3/19/15

Rocely Leite - Sistemas Operacionais

INTRODUO A
SISTEMAS
OPERACIONAIS
Extras

48

3/19/15

Rocely Leite - Sistemas Operacionais

Links
Navegando pelo kernel do Linux -

http://lxr.linux.no/

49