You are on page 1of 45

Universidade Federal do Par Instituto de Cincias Exatas e Naturais Faculdade de Computao

EN05177 - SISTEMAS OPERACIONAIS

Aula 1: - Apresentao da Disciplina - Histrico


Prof. Regiane Silva Kawasaki Francs

Maro/2012

Apresentao - Objetivos

Familiarizar o aluno com os conceitos bsicos de um sistema operacional. Apresentar os elementos que compem um sistema operacional.

Incentivar o desenvolvimento de uma viso crtica em relao escolha, utilizao e anlise de desempenho de sistemas operacionais existentes.
2

Apresentao - Programa

Histrico. Conceitos bsicos. Estrutura de um Sistema Operacional. Gerncia de Processo e Processador. Programao Concorrente. Gerncia de Memria. Entrada e sada. Sistema de Arquivos. Sistemas com Mltiplos Processadores. Estudo de Casos atuais.

Apresentao - Bibliografia Bsica

A.S. TANENBAUM. Sistemas Operacionais Modernos. Prentice-Hall


2010, 3a edio 2003, 2a edio

R. OLIVEIRA; S. TOSCANI; A.S. CARISSIMI, Sistemas Operacionais, 4 edio, Sagra Luzzato, 2010.

Apresentao - Bibliografia

A. SILBERSCHATZ; G. GAGNE; P.B. GALVIN, Fundamentos de Sistemas Operacionais, 8 edio, LTC, 2010. F.B. MACHADO; L.P. MAIA, Arquitetura de Sistemas Operacionais, 4 edio, LTC, 2007.

H.M. DEITEL; P.J. DEITEL; D.R. CHOFFNES, Sistemas Operacionais, 3 edio, Prentice Hall, 2005.
A. SILBERSCHATZ; G. GAGNE; P.B. GALVIN, Sistemas Operacionais com Java, 6 edio, Ed. Campus, 2004.
5

Critrios de avaliao

Sistemas Operacionais (EN05177):


Duas provas tericas (NPr1 e NPr2) ; Listas de exerccios e um trabalho prtico (NTp); Um seminrio (NSe). Nota Final = (NPr1 + NPr2 + NTp + NSe)

Apresentao - Programa

INTRODUO AOS SISTEMAS OPERACIONAIS


Definio e objetivos Histrico Conceitos de hardware e software Tipos de Sistemas Operacionais Estruturas de Sistemas Operacionais

PROCESSOS

Definio Tipos de processos

Diagrama de estados
Escalonamento de CPU Comunicao inter-processos Sincronizao inter-processos Regies crticas

Deadlocks

Apresentao - Programa

GERNCIA DE MEMRIA

Compiladores, ligadores, carregadores e relocadores

Alocao contgua simples


Alocao particionada esttica e dinmica Swapping Paginao e segmentao Memria virtual e paginao por demanda

SISTEMAS DE ARQUIVOS

Gerncia de espao em disco Tipos de estruturas de sistemas de arquivos Tipos de arquivos, nomes, estrutura interna Proteo, operaes

Apresentao - Programa

ENTRADA/SADA

Princpios de hardware e software Dispositivos de E/S Controladores de dispositivos Acesso direto memria (DMA) Discos magnticos

SISTEMAS COM MLTIPLOS PROCESSADORES


EXEMPLOS DE SISTEMAS OPERACIONAIS

Linux Windows

Seminrios

Aula 1 - Roteiro
Por

que necessrio um sistema operacional que um Sistema Operacional

Histrico

10

Por qu?

Sistemas de computadores modernos so compostos por diversos dispositivos:


Processadores; Memria; Controladoras; Monitor; Teclado; Mouse; Impressoras; Etc...

Alta Complexidade

11

Por qu?

Com tantos dispositivos, surge a necessidade de gerenciamento e manipulao desses diversos dispositivos

Tarefa difcil

SISTEMAS OPERACIONAIS
12

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.


Programas de Aplicao; Programas do Sistema.
13

Software

Arquitetura do Sistema
Sistemas de Banco
Compiladores Navegadores Web Editores

Reserva de Passagens Interpretadores de Comando

APLICATIVOS PROGRAMAS DO SISTEMA

SISTEMA OPERACIONAL
Linguagem de Mquina

Micro Arquitetura

HARDWARE

Dispositivos Fsicos

14

Arquitetura do Sistema

Hardware: Diversas camadas

Dispositivos fsicos:

Circuitos (chips) Cabos Transistores Capacitores Memria Disco rgido etc...

15

Arquitetura do Sistema

Micro Arquitetura: dispositivos fsicos so agrupados para formar unidades funcionais


CPU processamento; ULA (Unidade Lgica Aritmtica) operaes aritmticas. Essas operaes podem ser controladas por software (micro programas) ou por circuitos de hardware.

16

Arquitetura do Sistema

Linguagem de Mquina: conjunto de instrues interpretadas pelos dispositivos que compem a micro arquitetura;

Possui entre 50 e 300 instrues; Realiza operaes por meio de registradores; Baixo nvel de abstrao. Ex.: Assembly.

17

Sistema Operacional

Pode atuar de duas maneiras diferentes:

Como mquina estendida (top-down) tornar uma tarefa de baixo nvel mais fcil de ser realizada pelo usurio.

Como gerenciador de recursos (bottomup) gerenciar os dispositivos que compem o computador.

18

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.

19

Sistema Operacional como Gerenciador de Recursos

Gerenciar todos os dispositivos disponveis no computador

recursos

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.

20

Histrico

21

Histrico de Evoluo (SO)


Anos 40.
Nenhum Sistema Operacional
Instrues por fios e vlvulas Painel de controle Operador = Programador Para compartilhar a mquina planilha de horrios Ex. ENIAC (Electronic Numerical Integrator And Computer)
Problema no ENIAC: inseto (BUG) entre fio de sada e de entrada impedia envio dos dados -> erro

22

Histrico de Evoluo (SO)


Anos 40.
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 hard-wired; Mquinas realizavam clculos numricos.
23

Histrico de Evoluo (SO)


Anos 50.
Surge a ideia de Jobs e cartes perfurados
Os programas eram codificados nos cartes e sua leitura era feita por mquina operadores de mquina.

Operador responsvel por carregar montadores, compiladores, etc. e ativar job com o programa desenvolvido pelo programador

Estrutura de um 24 job em Fortran

Histrico de Evoluo (SO)


Anos 50.

Operao: cada programa (job) ou conjunto de programas era escrito e perfurado pelo programador em um carto. O carto perfurado era entregue ao operador da mquina para que o mesmo fosse processado.

Sistemas em Batch (lote) Consistia em coletar um conjunto de jobs e fazer a gravao desse conjunto para uma fita magntica.
25

Histrico de Evoluo (SO)


Anos 50.

Sistemas em Batch (lote)

Programador leva Operador leva fita Jobs e gravao dosfita com Grava lote de jobs Execuo dos Operador Impresso dos leva 26 cartes para leitora em fita para processamento em fita de sada Resultados resultados resultados

Histrico de Evoluo (SO)


Anos 60.
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

27

Histrico de Evoluo (SO)


Anos 60.

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

Histrico de Evoluo (SO)


Anos 60.
Mquinas

separadas para E/S e processamento. Operadores precisavam ficar andando entre as mquinas.
Soluo

Spooling
29

Histrico de Evoluo (SO)


Anos 60.

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 a uma partio livre da memria direto do disco.
30

Histrico de Evoluo (SO)


Anos 60.

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

TimeSharing
31

Histrico de Evoluo (SO)


TimeSharing Cada usurio tem um terminal on-line disposio:

Anos 60.

Primeiro sistema TimeSharing: CTSS (Compatible Time Sharing System) desenvolvido no MIT - IBM 7094 modificado.
Cada usurio tem a sensao de possuir o computador apenas para ele Ex.: Se 20 usurios esto conectados, mas apenas 3 esto processando de fato, o processador alocado apenas a esses 3 jobs.

32

Histrico de Evoluo (SO)


Anos 70.

Cada mquina possua um Sistema Operacional diferente


Por exemplo, OS/360 para o System/360; MULTICS (GE) Incompatibilidade

Sistemas Operacionais de Propsito Geral


33

Histrico de Evoluo (SO)


Anos 70.

Unics
Time Proposto

Sistemas Operacionais de Propsito Geral Sharing System por Ken Thompson no MULTICS
34

Setembro/1969 Baseado Deu

origem ao Unix

Histrico de Evoluo (SO)


Anos 80.

Sistemas Operacionais de Propsito Geral

DOS (Disk Operating System)

A IBM tentou utilizar o CP/M (Control Program/ Microcomputer), mas no conseguiu firmar acordo;

IBM procurou Bill Gates solicitando SO para o IBM PC;


Bill Gates comprou a empresa que desenvolvia o DOS Seattle Computer Products; Desenvolvedor: Tim Paterson.
35

Histrico de Evoluo (SO)


Anos 80.

Sistemas Operacionais de Propsito Geral

DOS (Disk Operating System)


Lanado em 1981 Monousurio Desenvolvido para computadores Pessoais Linha de comando


36

Histrico de Evoluo (SO)


Anos 80.

Sistemas Operacionais de Propsito Geral

Macintosh Operating System

(Mac OS)
Lanado

em 1984 baseados em janelas (GUI


37

Sistemas

Graphical User Interface)

Histrico de Evoluo (SO)


Anos 80.

Sistemas Operacionais de Propsito Geral

Windows
1985 Iniciou

como uma interface grfica para o DOS


38

Multiprogramao

Histrico de Evoluo (SO)


Anos 90.

Sistemas Operacionais de Propsito Geral

Linux
1991 Desenvolvido

voluntariamente por programadores de todo o mundo


39

Multiusurio

Histrico de Evoluo (SO)


Anos 90. 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
40

Histrico de Evoluo (SO)


Anos 90. 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
41

Tipos de Sistemas Operacionais

Sistemas Operacionais de Tempo Real

Importante:

Gerenciamento de Tempo. Gerenciamento de processos crticos (avies, usinas).

RTLinux (Real Time Linux).

42

Tipos de Sistemas Operacionais


Anos 2000.

Sistemas Operacionais Orientados a Objetos


Reuso; Interface orientada a objetos.


Portabilidade.

JavaOS

Sistemas Operacionais Embarcados: telefones, aparelhos eletrodomsticos; PDAs (Personal Digital Assistants).

43

Sistemas Paralelos

Mquinas que possuem mais de um processador Tipos:

Sistemas fortemente acoplados


Processadores compartilham memria e relgios comuns Comunicao realizada atravs da memria

Sistemas fracamente acoplados

Processadores no compartilham memria Comunicao realizada atravs da troca de mensagens

Sistemas Paralelos