Você está na página 1de 40

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade


Universidade Federal Fluminense - UFF
Plo Universitrio de Rio das Ostras - PURO

Bibliografia
Bibliografia Bsica:
TANENBAUM, A. S. Sistemas Operacionais Modernos. So Paulo : Prentice-Hall, 2004.
SILBERSCHATZ, A., GAGNE, G., GALVIN, P. B. Sistemas Operacionais com Java:
conceitos e aplicaes. Rio de Janeiro : Campus, 2004.
Bibliografia Complementar:
DEITEL, H. M., DEITEL, P.J., CHOFINES, D.R. Sistemas Operacionais. So Paulo :
Pearson Prenticce-Hall, 2005.
OLIVEIRA, R. S., CARISSIMI, A. S., TOSCANI, S. S. Sistemas Operacionais. Porto Alegre :
Instituto de Informtica da UFRGS: Editora Sagra Luzzatto, 2004.
TANENBAUM, A. S., WOODHULL. Sistemas Operacionais: projeto e implementao.
2a. ed.. Porto Alegre : Bookman, 2000.
Material das aulas: http://www.professores.uff.br/mquinet

Introduo
Sistema computacional: conjunto de recursos
computacionais, parte hardware e parte software
Essencialmente, um sistema computacional
consiste em:
hardware;
programas do sistema;
programas de aplicao.

Por que?
Sistemas de computadores modernos so compostos por
diversos dispositivos:
Processadores;
Memria;
Controladoras;
Monitor;

Alta Complexidade

Teclado;
Mouse;
Impressoras;
Etc...
4

Por que?
Com tantos dispositivos, surge a necessidade de
gerenciamento e manipulao desses diversos
dispositivos
Tarefa difcil

SISTEMAS OPERACIONAIS
5

O que um SO?
Software responsvel por gerenciar dispositivos que
compem um sistema computacional e realizar a
interao entre o usurio e esses dispositivos;
Hardware
Processador;
Memria Principal;
Dispositivos de Entrada/Sada;

Software
Programas de Aplicao;
Programas do Sistema;
6

Introduo
Sistema Operacional: software que controla os
recursos do sistema computacional e oferece ao
usurio uma interface para interagir com cada um
destes recursos

Estrutura em Nveis de um SO

O que um Sistema Operacional


Operacional?
?
uma mquina estendida (abordagem topdown, abstraao do todo para as partes)
Oculta os detalhes complicados que tm quer ser executados
Apresenta ao usurio uma mquina virtual, mais fcil de usar

um gerenciador de recursos (abordagem


bottom-up abstrao das partes para o todo)
Gerencia todas as partes de um sistema complexo
Cada programa tem um tempo com o recurso
Cada programa tem um espao no recurso

Sistema Operacional como Mquina


Estendida
Ex.: como feita a entrada/sada de um disco
flexvel tarefa: Leitura e Escrita
SO: baixo nvel de detalhes
Nmero de parmetros;
Endereo de bloco a ser lido;
Nmero de setores por trilha;
Modo de gravao;

Usurio: alto nvel abstrao simples


Visualizao do arquivo a ser lido e escrito;
Arquivo lido e escrito;
Arquivo fechado.
10

Sistema Operacional como Gerenciador de


Recursos
Gerenciar todos os dispositivos e recursos disponveis no
computador
Ex.: se dois processos querem acessar um mesmo recurso, por
exemplo, uma impressora, o SO responsvel por estabelecer uma
ordem para que ambos os processos possam realizar sua tarefa de
utilizar a impressora.
Uso do HD;
Uso da memria;

Coordena a alocao controlada e ordenada dos recursos;

11

Objetivos de um Sistema
Operacional
Apresentar ao usurio do computador uma forma
amena de utilizar a mquina. Criar uma mquina
virtual, de fcil compreenso para o usurio, com
caractersticas diferentes da mquina fsica;
Realizar o melhor uso possvel do hardware
disponvel, aumentando o desempenho do
sistema e diminuindo o custo.

12

Histrico de Evoluo (SO)


Meados do sculo XIX: Charles Babbage (17921871), por volta de 1833, projetou o primeiro
computador. No entanto, a pouca tecnologia da
poca no permitiu que o projeto tivesse sucesso.
Mquina analtica:
No tinha um SO;
Percebeu que precisava de um software que possibilitasse seu
uso;
Contratou Ada Lovelace, que se tornou a 1 programadora

13

Histrico de Evoluo
Primeira Gerao
Primeira Gerao (1940-1955): Vlvulas
1940: John von Neumann cria o primeiro computador
digital (ainda primitivo. baseado em vlvulas)

Mquinas enormes que ocupavam salas imensas;


Dezenas de milhares de vlvulas 20.000
No existiam ainda os conceitos de sistema
operacional e linguagem de programao de alto
nvel;

14

Histrico de Evoluo
Primeira Gerao
Mesmo grupo de pessoas projetava, construa,
programava, operava e fazia a manuteno de cada
mquina;
O acesso s mquinas era feito por meio de reserva de
tempo: cada usurio fazia sua programao diretamente
nos painis das mquinas hardwired;
Praticamente todos os problemas submetidos eram
clculos numricos diretos (tabelas de seno, logaritmos,
etc);

15

Histrico de Evoluo
Primeira Gerao
Final dos anos 40: primeiro computador eletrnico
ENIAC (Electronic Numerical Integrator And
Computer);
1950: surgem os cartes perfurados
Os programas eram codificados nos cartes e sua leitura era
feita por mquina

operadores de mquina;

John von Neumann prope uma programao no


hardwired nasce o Assembler/Assembly;

16

Histrico de Evoluo
Segunda Gerao
Segunda Gerao (1955-1965) Transistores e
Sistemas em Batch
O desenvolvimento dos transistores tornou o
computador mais confivel possibilitando sua
comercializao - Mainframes;
Separao entre projetistas, fabricante, programadores
e tcnicos de manuteno;
No entanto, devido aos altos custos, poucos tinham
acesso a essa tecnologia somente grandes empresas,
rgos governamentais ou universidades;

17

Histrico de Evoluo
Segunda Gerao
Surge a idia de linguagem de programao de alto nvel
Fortran (desenvolvida pela IBM 1954-1957);
Cartes perfurados ainda so utilizados
Operao: cada programa (job) ou conjunto de programas escrito e
perfurado por um programador era entregue ao operador da
mquina para que o mesmo fosse processado alto custo

Sistemas em Batch (lote)


Consistia em coletar um conjunto de jobs e fazer a gravao
desse conjunto para uma fita magntica

18

Histrico de Evoluo
Segunda Gerao

Estrutura de um job em Fortran


19

Histrico de Evoluo - Segunda Gerao


Antigo sistema em batch (lote):

traz os cartes para o 1401;


l os cartes para a fita;
coloca a fita no 7094 que executa o processamento;
coloca a fita no 1401 que imprime a sada.

FMS (Fortran Monitor System)


Processamento: IBSYS SO IBM para o 7094
20

Histrico de Evoluo
Terceira Gerao
Terceira Gerao (1965-1980) Circuitos integrados e
Multiprogramao
Produtos Incompatveis
Mquinas imensas e poderosas
orientadas a palavra (7094)

Mquinas comerciais
orientadas a caracter (1401)

Alta carga de desenvolvimento e


manuteno
IBM introduz o System/360
21

Histrico de Evoluo
Terceira Gerao
System/360
Srie de mquinas com software compatvel;
Essas mquinas diferiam apenas no
desempenho, variando da 1401 at a 7094;

preo

Foi a primeira a usar circuito integrado em pequena


escala, ao invs de transistores;
O sistema operacional era o OS/360
Sua maior vantagem era tambm sua maior fraqueza: SO enorme
e muito complexo, pois precisava realizar as funes de todas as
mquinas ineficiente, cheio de erros (milhes de linhas de
cdigo assembly escritas por milhares de programadores =
milhares de erros)
22

Histrico de Evoluo
Terceira Gerao
Aplicaes que eram CPU-bound no tinham
problema com relao ao tempo que se precisava
esperar para realizar E/S
Aplicaes que eram IO-bound gastavam de 80 a
90% do tempo realizando E/S
Enquanto isso, a CPU ficava parada
Soluo: Multiprogramao

23

Histrico de Evoluo
Terceira Gerao
Multiprogramao:
Dividir a memria em diversas partes e alocar a cada
uma dessas partes um job.
Manter na memria simultaneamente uma quantidade
de jobs suficientes para ocupar 100% do tempo do
processador, diminuindo a ociosidade.
Importante: o hardware que protegia cada um dos
jobs contra acesso indevidos de outros jobs.

24

Histrico de Evoluo
Terceira Gerao
Spooling (Simultaneous Peripheral Operation On
Line):
Possibilitar que a leitura de cartes de jobs fosse feita
direta do disco;
Assim que um job terminava, o sistema operacional j
alocava o novo job uma partio livre da memria
direto do disco;
Eliminao de mquinas como as 1401 e a necessidade
de se ficar andando entre as mquinas

25

Histrico de Evoluo
Terceira Gerao
Mesmo com o surgimento de novas tecnologias, o tempo
de processamento ainda era algo crtico. Para corrigir um
erro de programao, por exemplo, o programador
poderia levar horas pois cada job era tratado dentro de
um lote

Timesharing
26

Histrico de Evoluo
Terceira Gerao
Timesharing: cada usurio tinha um terminal on-line
disposio;
Primeiro sistema Timesharing: CTSS (Compatible Time Sharing
System) 7094 modificado.
Ex.: se 20 usurios esto ativos e 17 esto ausentes, o processador
alocado a cada um dos 3 jobs que esto sendo executados;

27

Histrico de Evoluo
Terceira Gerao
Surge o MULTICS (Multiplexed Information and Computing
Service), predecessor do UNIX;
Fruto de uma idia do MIT, Bell Labs e General Electric, de desenvolver
um computador que suportasse centenas de usurios simultneos em
timesharing
Codificado em PL/I, o que atrapalhou seu desenvolvimento
(compilador fraco)
Apesar do fracasso comercial, teve enorme influncia em SOs futuros

Famlia de minicomputadores PDP da DEC;


Diferente da famlia System/360, eram incompatveis;
Unix original rodava no PDP-7 (Ken Thompson cientista da Bell Labs)
O PDP-1 custava $120 mil (5% do valor de um 7094)
Tinha 4K palavras de 18 bits

28

Histrico de Evoluo
Quarta Gerao
Quarta Gerao (1980-1990) Computadores
Pessoais
Com a tecnologia de circuitos integrados de larga escala
(LSI) surgem chips com milhares de transistores
encapsulados em um centmetro quadrado de silcio
Intel 8080 (1974)
IBM PC (incio dos anos 80)
Apple Apple e Macintosh

29

Histrico de Evoluo
Quarta Gerao
Intel 8080 CP/M da Digital Research Gary Kildall)
CP/M (Control Program for MicroComputer) sistema operacional
baseado em disco;

IBM PC - DOS
Inicialmente, a IBM tentou utilizar o CP/M, mas Kildall no quis
nenhum acordo;
IBM procurou Bill Gates pedindo um sistema operacional para rodar e
ser vendido juntamente com o IBM PC;
Bill Gates comprou a empresa que desenvolvia o DOS (Disk Operating
System): Seattle Computer Products; Desenvolvedor: Tim Paterson;

30

Histrico de Evoluo
Quarta Gerao
Evoluo do DOS

MS-DOS (MicroSoft DOS)

Tanto o CP/M quanto o MS-DOS eram baseados em


comandos;

Macintosh Apple - Sistemas baseados em janelas (GUI


Graphical User Interface)
Microsoft Plataforma Windows
A histria deste perodo da computao est muito bem
retratada no filme Piratas da Informtica (Pirates of
Sylicon Valley) e no documentrio em trs partes O
Triunfo dos Nerds
31

Histrico de Evoluo
Quinta Gerao - (1990
(1990--hoje)
Era da computao distribuda: um processo
dividido em subprocessos que executam em
sistemas multiprocessados e em redes de
computadores ou at mesmo em sistemas
virtualmente paralelos

32

Histrico de Evoluo
Quinta Gerao (1990(1990-hoje)
O protocolo de comunicaes TCP/IP tornou-se
largamente utilizado (Depto. de Defesa dos EUA) e as LANs
(Local Area Networks) tornaram-se mais prticas e
econmicas com o surgimento do padro Ethernet,
desenvolvido pela Xerox;
Desenvolvimento e popularizao do modelo cliente/servidor;
Difuso das redes de computadores
Internet

33

Histrico de Evoluo
Quinta Gerao - (1990
(1990--hoje)
Sistemas Operacionais Distribudos:
Apresenta-se como um sistema operacional centralizado, mas que,
na realidade, tem suas funes executadas por um conjunto de
mquinas independentes;

Sistemas Operacionais em Rede;


Usurios conhecem a localizao dos recursos que esto utilizando
e no tm a viso de um sistema centralizado

Sistema Operacionais para dispositivos mveis;


Execuo de tarefas com economia de energia (baterias limitadas),
aplicaes voltadas principalmente para web
Unix Minix Linux;
Famlia Windows (NT, 95, 98, 2000, XP, Vista,7, 8);
Apple iOS, Android, WinCE Win 7 Win8
34

Histria dos Sistemas Operacionais Resumo


Primeira gerao anos 50
Vlvulas, painis de programao; processamento em lotes

Segunda gerao anos 60


Multiprogramao, multiprocessamento, timesharing, tempo
real

Terceira gerao meados 60 a meados 70


Sistemas de propsito geral; desenvolvimento em linguagens
de alto nvel

Quarta gerao meados 70 a meados 80


Cliente/servidor, processamento distribudo, interface grfica

Quinta gerao meados 80 aos dias atuais


Redes,
computao
multiprocessamento

distribuda,

software

livre,
35

O Zoolgico de Sistemas
Operacionais
Sistemas operacionais de computadores de grande porte;
Sistemas operacionais de servidores;
Sistemas operacionais de multiprocessadores;
Sistemas operacionais de computadores pessoais;
Sistemas operacionais de tempo real;
Sistemas operacionais embarcados;
Sistemas operacionais de cartes inteligentes;
Sistemas operacionais para dispositivos mveis
36

Arquiteturas de Sistemas
Operacionais
Arquitetura Monoltica
Todos os componentes do SO esto contidos no ncleo,
comunicando-se diretamente entre si
Rapidez na comunicao, mas complexidade no cdigo

Arquitetura em Camadas
Componentes autocontidos, em camadas
componentes que realizam tarefas similares

de

Pior desempenho que a monoltica

37

Arquiteturas de Sistemas
Operacionais
Arquitetura de microncleo
Tambm uma forma de arquitetura em camadas
(modular)
Somente uma pequena parte dos servios pode acessar
diretamente o hardware

38

Qual S.O. devo usar?


Para saber qual sistema operacional utilizar, diversos
critrios devem ser considerados:
Preo;
Confiabilidade;
Desempenho;
Compatibilidade com o hardware;
Facilidade de interao;
Aplicativos disponveis;
Filosofia de uso.
39

Na dvida...

40

Você também pode gostar