Você está na página 1de 59

SISTEMAS OPERACIONAIS

Millena Almeida
milliandrade@gmail.com

TIPOS DE SOFTWARE

POR QU?

Sistemas de computadores modernos so


compostos por diversos dispositivos:

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

POR QU?

Com tantos dispositivos, surge a necessidade de


gerenciamento e manipulao desses diversos
dispositivos

Tarefa difcil

Como gerenciar tantos


dispositivos e tarefas???

SISTEMA OPERACIONAL

Um sistema operacional um programa ou um


conjunto de programas (software bsico - kernels,
bibliotecas, drivers, protocolos, compiladores, etc)
cuja funo servir de interface entre um
computador e o usurio e gerenciar dispositivos
que compem um sistema computacional.

PARA QU SOFTWARE BSICO?


O

que acontece quando ligamos o


computador?
E quando clicamos num cone?
Como funcionam dois programas ao
mesmo tempo?
Como ocorre o mapeamento de discos?
E se dois programas quiserem usar o
mesmo recurso?
E se estiverem cooperando, mas em
mquinas diferentes interligadas em rede?
6

ARQUITETURA DO SISTEMA

Navegador
web

Editor de
texto

Reprodutor
de msica

Modo usurio

Programa de Interface com o


usurio
Sistema Operacional
Hardware

Modo ncleo/
supervisor

SISTEMA OPERACIONAL

Funes bsicas:

Gerenciar toda a parte fsica (hardware) do computador

Servir de plataforma (base) para o funcionamento dos


demais programas

Oferecer ao usurio uma interface clara e funcional


para a manipulao e configurao dos recursos
computacionais

SISTEMA OPERACIONAL

Dois modos distintos de conceituar um sistema


operacional:

Como mquina estendida (top-down) tornar uma


tarefa de baixo nvel mais fcil de ser realizada pelo
usurio;
Perspectiva do usurio ou programador
Abstrao do hardware, fazendo o papel de intermedirio
entre o aplicativo (software aplicativo ou aplicao) e os
componentes fsicos do computador (hardware)

Como gerenciador de recursos (bottom-up)


gerenciar os dispositivos que compem o computador,
controlando:
quais aplicaes (processos) podem ser executadas,
quando,
que recursos (memria, disco, perifricos) podem ser
utilizados.

EXEMPLOS DE SISTEMAS OPERACIONAIS

EXEMPLOS DE SISTEMAS OPERACIONAIS

EXEMPLOS DE SISTEMAS OPERACIONAIS

EXEMPLOS DE SISTEMAS OPERACIONAIS

COMPARAO DE SOS

Esta comparao suficiente?

SISTEMAS OPERACIONAIS NO MERCADO

SISTEMAS OPERACIONAIS DE SMARTPHONES

HISTRIA DOS SISTEMAS


OPERACIONAIS

HISTRIA DOS SISTEMAS OPERACIONAIS


Primeira

gerao 1945 - 1955

Vlvulas, painis de programao

Segunda

transistores, sistemas em lote

Terceira

gerao 1965 1980

CIs (circuitos integrados) e multiprogramao

Quarta

gerao 1955 - 1965

gerao 1980 presente

Computadores pessoais

18

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

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
programa
desenvolvido pelo
programador

Estrutura de um
job em 20Fortran

HISTRICO DE EVOLUO (SO)


Anos 50.

Sistemas em Batch (lote)

Programador
Grava loteleva
de Operador
jobs em leva
Execuo
fita para
dos Jobs e Operador
gravao dos
leva
Impresso
fita com
dos
cartes para leitora
fita
processamento
resultados em fita de sada
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

Multiprogramao

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.

HISTRICO DE EVOLUO (SO)


Anos 60.
Spooling

(Simultaneous Peripheral Operation On

Line):
Possibilitou que a leitura de cartes de jobs
fosse feita diretamente do disco;
Assim que um job terminava, o sistema
operacional j alocava o novo job uma
partio livre da memria direto do disco.

HISTRICO DE EVOLUO (SO)


Anos 60.

Timesharing

Cada usurio tem um terminal on-line disposio:

Primeiro sistema TimeSharing: CTSS (Compatible


Time Sharing System) 7094 modificado

Cada usurio tem a sensao de possuir o


computador apenas para ele

Ex.: se 20 usurios esto ativos e 17 esto ausentes,


o processador alocado a cada um dos 3 jobs que
esto sendo executados

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

HISTRICO DE EVOLUO (SO)


Anos 70.

Unics
Time

Sharing System

Proposto

por Ken Thompson

Setembro/1969
Baseado
Deu

no MULTICS

origem ao Unix

HISTRICO DE EVOLUO (SO)


Anos 80.

DOS (Disk Operating System)

A IBM tentou utilizar o CP/M,


mas Kildall no quis nenhum
acordo;

IBM contratou Bill Gates para disponibilizar o SO


para o IBM PC;

Bill Gates comprou a empresa que desenvolvia o


DOS Seattle Computer Products; Desenvolvedor:
Tim Paterson;

HISTRICO DE EVOLUO (SO)


Anos 80.
DOS (Disk Operating System)

Lanado em 1981

Monousurio

Monotarefa

Linha de comando

Desenvolvido para computadores Pessoais

HISTRICO DE EVOLUO (SO)


Anos 80
Macintosh Operating System (Mac OS)

Lanado em 1984

Sistemas baseados em janelas (GUI Graphical


User Interface)

HISTRICO DE EVOLUO (SO)


Anos 80

Windows (1985)
Iniciou

como uma interface grfica para

o DOS
Multiprogramao

HISTRICO DE EVOLUO (SO)


Anos 90

Linux
1991
Multiusurio
Desenvolvido

voluntariamente por programadores de


todo o mundo

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

HISTRICO DE EVOLUO (SO)


Anos 90
Sistemas Operacionais Distribudos :

Sistemas Operacionais em Rede;

Apresenta-se como um sistema operacional centralizado, mas


que, na realidade, tem suas funes executadas por um
conjunto de mquinas independentes;

Usurios conhecem a localizao dos recursos que esto


utilizando e no tm a viso de um sistema centralizado

Vrios outros...

TIPOS DE SISTEMAS OPERACIONAIS

Sistemas Operacionais de Tempo Real

Importante:

Gerenciamento de Tempo;

Gerenciamento de processos crticos (avies, caldeiras);

RTLinux (Real Time Linux).

TIPOS DE SISTEMAS OPERACIONAIS


Anos 2000...

Sistemas Operacionais Orientados a Objetos

JavaOS

Reuso
Interface orientada a objetos
Portabilidade;

Sistemas Operacionais Embarcados: telefones,


aparelhos eletrodomsticos; PDAs.

36

DIVERSIDADE DE SISTEMAS
OPERACIONAIS
Sistemas operacionais de computadores de grande
porte
Sistemas operacionais de servidores / redes
Sistemas operacionais de multiprocessadores
Sistemas operacionais de computadores pessoais
Sistemas operacionais de celulares
Sistemas operacionais de tempo-real
Sistemas operacionais embarcados

37

CONCEITOS BSICOS

KERNEL

O ncleo (kernel) o componente central de um


sistema operacional
Serve de ponte entre os aplicativos e o processamento
real de dados realizado pelo hardware
Responsabilidades incluem:

Gerenciar recursos do sistema


Possibilitar a comunicao entre componentes de hw e sw

O usurio pode acessar o kernel atravs de um


interpretador de comandos (shell)

KERNEL

DEFINIES

Multitarefa

Multiusurio

Possibilidade de executar vrias tarefas(jobs) ao


mesmo tempo

Vrios usurios usam o SO e seus recursos ao mesmo


tempo

Multiprocessamento

Capacidado do SO tem de distribuir as tarefas entre


dois ou mais processadores

PROCESSO

Entidade dinmica e efmera

Composto por

Programa (cdigo)
Dados e contexto (valores)

Altera seu estado medida que avana sua execuo

Forma pela qual o SO enxerga um programa e


possibilita sua execuo

Processos executam

Prog. de usurios

Prog. do prprio SO (daemons)

PROCESSO CICLO DE VIDA

Contexto

executar
Criar

Pronto

Rodando

suspender
(tempo)
desbloquear
Bloqueado

Terminar

bloquear (I/O)

ID do Processo
Estado
Prioridade
Program Counter
Ponteiros da Memria
Contexto (regs.)
I/O Status
Informaes gerais
tempo de CPU
limites, usurio, etc.

CRIAO DE PROCESSOS
Momento da execuo
Chamadas de sistema
Podem ser associados a uma sesso de trabalho
(login de usurios)
Identificado por um n nico (PID)
Principais eventos que levam criao de
processos

Incio do sistema
Execuo de chamada ao sistema de criao de
processos
Solicitao do usurio para criar um novo processo
Incio de um job em lote

44

EXECUO DE PROCESSOS

Processos apresentam dois ciclos bsicos de


operao:
Ciclo de processador (tempo em que ocupa a CPU)
Ciclo de E\S (tempo em que espera pela concluso de
um evento)
Primeiro ciclo sempre do processador!

Troca de ciclo por:


CPU E\S: chamada de sistema
E\S CPU: ocorrncia de evento (interrupo)

Situao ideal Misturar processos CPU com E\S


(Benefcios para escalonamento)

ESTADOS DE UM PROCESSO

Aps criado o processo necessita entrar em ciclo


de processador

Existem algumas hipteses

Processador no esta disponvel


Vrios processos sendo criados

Que fazer?

Criao de uma fila de aptos/prontos (para esperar pelo


processador)

MODELO SIMPLIFICADO DE DOIS ESTADOS

Manter uma fila de processos aptos a executar


esperando pelo processador ficar livre

Escalonador (Dispatcher)

Atribui o processador a um processo da fila de aptos


Pode prevenir um nico processo de monopolizar o
processador

MODELO SIMPLIFICADO DE DOIS ESTADOS

Dispatcher
Criao

Apto

Executando

Pausa

Trmino

MODELO DE CINCO ESTADOS

seleo
Criao

Pronto

Interrupo

Executando
tempo voluntrio

Bloqueado

call
system

trmino

Destruio

MODELO DE CINCO ESTADOS

Causas para um processo no executar


Esperando pelo processador
Esperando pela ocorrncia de eventos externos
(bloqueado)

Necessidade de filas!

CONCEITO - MULTIPROGRAMAO

a)
b)

c)

Multiprogramao de quatro programas


Modelo conceitual de 4 processos sequenciais,
independentes, mas
Somente um programa est ativo a cada
momento escalonamento

ESCALONAMENTO DE PROCESSOS

Quando um ou mais processos esto prontos para


serem executados, o sistema operacional deve
decidir qual deles vai ser executado primeiro

A parte do sistema operacional responsvel por


essa deciso chamada escalonador, e o
algoritmo usado para tal chamado de algoritmo
de escalonamento

Para que um processo no execute tempo demais,


praticamente todos os computadores possuem um
mecanismo de relgio (clock) que causa uma
interrupo, periodicamente
52

CARACTERSTICAS

DRIVER

Conjunto de arquivos
responsveis pela
instalao e
configurao de um
novo dispositivo ou
perifrico em um
computador

PLUG AND PLAY

Nesta tecnologia, assim que um novo dispositivo


conectado, o SO reconhece e instala
automaticamente o perifrico sem interveno do
usurio

SISTEMAS DE ARQUIVOS

Conjunto de estruturas lgicas e de rotinas, que


permitem ao SO controlar o acesso ao disco rgido.
Diferentes SOs e mdias usam diferentes sistemas de
arquivos.
Exemplos:

SO

SISTEMA DE ARQUIVOS

Windows XP

FAT32 e NTFS

Windows Vista

FAT32 e NTFS

Windows 7

FAT32 e NTFS

LINUX

Ext2, ext3, ext4, reiserFS, XFS e JFS

CD-ROM

CDFS e ISO9660

DVDs

UDF

PenDrive

FAT32

SISTEMAS DE ARQUIVOS PRINCIPAIS


DIRETRIOS

SISTEMAS DE ARQUIVOS PRINCIPAIS


DIRETRIOS

SISTEMA DE ARQUIVOS

Operaes:

Formatao

Apagar o disco rgido e estrutur-lo de acordo som um tipo de


sistema de arquivos

Particionamento de Disco

Dividir o disco rgido em vrias partes (parties), cada uma


possuindo seu prpio sistema de arquivos que podem ser do
mesmo tipo ou diferentes

Você também pode gostar