Você está na página 1de 26

Tecnologia em Anlise e

Desenvolvimento de Sistemas

Sistemas Operacionais

Professor: Andr
Andr Sobral
e-mail: sobral@univercidade.br

Sistemas Operacionais
Introduo

O que se espera de um sistema de


computa
computao?
Execu
Execuo de programas de usu
usurios
Permitir a solu
soluo de problemas
Sistema Operacional (SO) um programa
colocado entre o hardware do computador e os
programas dos usu
usurios de forma a atingir esses
dois objetivos.

Sistemas Operacionais
Introduo

Estrutura do Sistema Computacional:


O sistema computacional pode ser dividido em 4
componentes gen
genricos:
Hardware - recursos b
bsicos (CPU, mem
memria,
dispositivos de E/S)
Sistema Operacional - controla e coordena o uso
do hardware entre v
vrios programas aplicativos e
usu
usurios
Programas aplicativos e de sistema - define
como os recursos de hardware so empregados na
solu
soluo de um problema (Processadores de texto,
compiladores, browsers,
browsers, SGBDs,
SGBDs, v
vdeos, jogos, etc)
etc)
Usu
Usurios - Pessoas, m
mquinas, outros

Sistemas Operacionais
Introduo
Componentes Gen
Genricos do Sistema Computacional:

Sistemas Operacionais
Introduo
Sistema Operacional: Conceito
Um programa que controla a execu
execuo de programas
aplicativos
Interface entre aplicativos e hardware

Duas vises para definir o Sistema Operacional:


SO um alocador de recursos
Gerencia todos os recursos
Decide entre requisitos conflitantes para uso mais
eficiente dos recursos

SO um programa de controle


 Controla a execu
execuo dos programas para

prevenir erros e uso impr


imprprio do computador

Sistemas Operacionais
Introduo
Objetivos do Sistema Operacional
Tornar mais conveniente a utiliza
utilizao de um
computador
Esconder
Esconder detalhes internos de funcionamento
Tornar mais eficiente a utiliza
utilizao de um
computador
Gerenciamento justo
justo dos recursos do sistema
Facilitar a evolu
evoluo do sistema
Desenvolvimento, teste e atualiza
atualizao de novas
facilidades

Sistemas Operacionais
Introduo
Sistema Operacional: Interface entre usu
usurio /
computador

Sistemas Operacionais
Introduo
Servi
Servios oferecidos pelo Sistema Operacional:
Cria
Criao de programas (Editores, depuradores,
compiladores)
Execu
Execuo de programas (Carga de programas em
mem
memria)
Acesso a dispositivos de E/S
Controle de acesso a arquivos
Acesso a recursos de sistema (Prote
(Proteo entre
usu
usurios)
Contabilidade (Estat
(Estatsticas, monitora
monitorao de
desempenho, sinalizar upgrades
necess
necessrios de hardware)

Sistemas Operacionais
Introduo
As diferentes imagens de um Sistema Operacional:
Sistema operacional na viso do usu
usurio:
Imagem que o usu
usurio tem do sistema
Interface oferecida ao usu
usurio para ter
acesso a recursos do sistema:
Chamadas de sistema
Programas de sistema
Sistema operacional na viso do projeto
Organiza
Organizao interna do sistema
operacional
Mecanismos empregados para gerenciar
recursos do sistema

Sistemas Operacionais
Introduo
Chamadas de sistema:
Forma que programas solicitam servi
servios ao
sistema operacional:
 An
Anlogo a subsub-rotinas: transferem controle
para o sistema operacional inv
invs de transferir
para outro ponto do programa;
 o n
ncleo (kernel
(kernel)) do sistema operacional que
implementa as chamadas de sistema:
Existem chamadas de sistema associadas a
gerncia do processador, de mem
memria, arquivos
e de E/S

Sistemas Operacionais
Introduo
Programas de sistema:
Programas executados fora do kernel (utilit
(utilitrios)
Implementam tarefas b
bsicas:
Muitas vezes confundido com o pr
prprio SO
(por exemplo compiladores, assemblers e etc.)
Interpretador de comandos (ativado sempre
que o SO inicia uma se
seo de trabalho / interface
gr

fica
de
usu

rio)
gr
usu

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Prim
Primrdios (d
(dcada de 40):
40): Sistema operacional
inexistente
O programador tamb
tambm o operador
Existe uma planilha para aloca
alocao de hor
horrio
da m
mquina
O programador controla todo o equipamento
O programa acessa diretamente os perif
perifricos

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Prim
Primrdios (d
(dcada de 40):
40): Sistema operacional
inexistente
A evolu
evoluo foi motivada por:
Melhorar a utiliza
utilizao dos recursos
Avan
Avanos tecnol
tecnolgicos (novos tipos de
hardware)
Adi
Adio de novos servi
servios

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistema em lote (batch):
Introdu
Introduo de operadores profissionais (o
usu
usurio no era mais o operador da m
mquina)
Job:
Job: programa a ser compilado e executado,
acompanhado dos dados de execu
execuo (cartes
perfurados)
Jobs so organizados em lote (batch)
Jobs possuem necessidades
semelhantes (ex. Mesmo compilador)
 Passagem entre jobs continua sendo
manual

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Monitor residente (d
(dcada de 50): um programa
que fica permanentemente em mem
memria.
Fun
Funo: automatizar a transi
transio entre
programas
Funcionamento do monitor residente:

Execu
Execuo inicial
Controle transferido para o job (cartes
controle)
Quando um job termina o controle retorna ao
monitor
O monitor residente carrega o pr
prximo
programa

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Monitor residente (d
(dcada de 50): um programa
que fica permanentemente em mem
memria.
Cartes de controle indicam o que fazer:
Identifica
Identificao do usu
usurio
Tempo de execu
execuo
Origem das linguagens de programa
programao
 Monitor residente centraliza as rotinas de
acesso aos perif
perifricos
As aplica
aplicaes no acessam os
perif
perifricos diretamente

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistema batch multiprogramado multitarefa
(d
(dcada de 60)
No monitor residente um programa
executado de cada vez
Evolu
Evoluo:
Manter diversos programas na mem
memria ao
mesmo tempo
Enquanto um programa realiza E/S, outro pode
ser executado

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistema batch multiprogramado multitarefa
(d
(dcada de 60)

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistema batch multiprogramado multitarefa
(d
(dcada de 60)
Multiprograma
Multiprogramao:
o:
 Manter mais de um programa em
execu
execuo
o simultaneamente
O tempo do processador dividido entre
vrios programas
Os perif
perifricos so melhor utilizados
O processador fica menos tempo parado

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistema batch multiprogramado multitarefa
(d
(dcada de 60)
Multiprograma
Multiprogramao:
o:
 Duas inova
inovaes de hardware possibilitaram
o surgimento da multiprograma
multiprogramao:
o:
Interrup
Interrupes: sinaliza
sinalizaes de eventos
Aviso do perif
perifrico (in
(incio ou t
trmino)
Discos magn
magnticos
Acesso randmico a diferentes jobs no
disco
Melhor desempenho em acesso de E/S

10

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Timesharing (d
(dcada de 70):
Tipo de multiprograma
multiprogramao
Al
Alm da multiprograma
multiprogramao,
o, cada usu
usurio
possui um terminal
Intera
Interao com o programa em execu
execuo
Iluso de possuir a m
mquina dedicada a
execu
execuo de seu programa
 Diviso do tempo de processamento
entre usu
usurios
Tempo de resposta importante

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Timesharing (d
(dcada de 70):
Sistema Monousu
Monousurio vs.
vs. Multiusu
Multiusurio
Sistema monousu
monousurio - Projetados para
serem usados por um nico usu
usurio
Ex. MSMS-DOS, Windows 3.x, Windows9x,
Millenium
Sistema multiusu
multiusurio - Projetados para
suportar v
vrias sesses de usu
usurios em um
computador
Ex. Windows NT (2000), UNIX

11

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Timesharing (d
(dcada de 70):
Sistema Monotarefa vs.
vs. Multitarefa
Sistema monotarefa - Capazes de executar
apenas uma tarefa de cada vez
Ex. MSMS-DOS
Sistema multitarefa Projetados ara
suportar v
vrias sesses de usu
usurios em um
computador. Existem dois tipos de sistemas
multitarefas:
multitarefas:
No preemptivos (cooperativo)
Preemptivos

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Operacionais Distribu
Distribudos:
dos:
Distribuir a realiza
realizao de uma tarefa entre
vrios computadores interconectados atrav
atravs de
algum tipo de rede de comunica
comunicao
Sistema distribu
distribudo:
conjunto de computadores autnomos
interconectados de forma a possibilitar a
execu
execuo de um servi
servio
existncia de v
vrias m
mquinas
transparente
software fornece uma viso nica do
sistema

12

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Operacionais Distribu
Distribudos:
dos:
Sistemas fracamente acoplados (loosely
(loosely
coupled system):
system):
Mquinas independentes (cada m
mquina
possui seu pr
prprio sistema operacional)
Comunica
Comunicao feita atrav
atravs de troca de
mensagens entre processos
Vantagens:
Compartilhamento de recursos
Balanceamento de carga
Aumento de confiabilidade

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Operacionais paralelos:
paralelos:
Mquinas multiprocessadoras possuem mais
de um processador
Sistemas fortemente acoplados (tightly
(tightly coupled
system)
system)
Processadores compartilham mem
memria e
rel
relgio comuns
Comunica
Comunicao realizada atrav
atravs de
mem
memria

13

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Operacionais paralelos:
paralelos:
Vantagens:
Aumento de throughput (n
(nmero de
processos executados)
Aspectos econmicos
 Aumento de confiabilidade

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Operacionais paralelos:
paralelos:
Symmetric multiprocessing (SMP):
Cada processador executa uma c
cpia
idntica do sistema operacional
Vrios processos podem ser executados em
paralelo sem perda de desempenho para o
sistema
A maioria dos sistemas operacionais atuais
suportam SMP atrav
atravs do conceito de
multithreading

14

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Operacionais paralelos:
paralelos:
Asymmetric multiprocessing
Cada processador executa uma tarefa
espec
especfica: ex. Processador mestre para
aloca
alocao de tarefas a escravos

Sistemas Operacionais
Introduo
Hist
Histrico dos Sistemas Operacionais:
Sistemas Operacionais de tempo real:
real:
Empregado para o controle de procedimentos
que devem responder dentro de um certo
intervalo de tempo
Ex. Experimentos cient
cientficos, tratamento de
imagens m
mdicas, controle de processos etc.
No
Noo de tempo real dependente da
aplica
aplicao (milisegundos
(milisegundos,, minuto, horas etc)
etc)

15

Sistemas Operacionais
Introduo
Opera
Operao dos Sistemas de Computa
Computao:
Uma CPU e uma s
srie de controladoras de
dispositivos conectadas a um barramento comum
que fornece acesso mem
memria compartilhada.
Execu
Execuo concorrente da CPU e dispositivos,
competindo por ciclos de

Sistemas Operacionais
Introduo
Opera
Operao dos Sistemas de Computa
Computao:

16

Sistemas Operacionais
Introduo
Opera
Operao dos Sistemas de Computa
Computao:

Cada controlador de dispositivo est


est a cargo de um
tipo espec
especfico de dispositivo.
Para garantir o acesso correto mem
memria
compartilhada, uma controladora de mem
memria
fornecida e sua fun
funo sincronizar o acesso
mem
memria.
Cada controlador de dispositivo possui um buffer local.
A CPU move dados de/para a mem
memria principal
de/para os buffers locais.
O controlador de dispositivo informa CPU que esta
tem que terminar sua opera
operao causando uma
interrup
interrupo.
Os sistemas operacionais modernos so
baseados em interrup
interrupes.

Sistemas Operacionais
Introduo
Opera
Operao dos Sistemas de Computa
Computao:
Fun
Funes comuns de interrup
interrupo:
Existem diversos tipos diferentes de eventos que
podem causar uma interrup
interrupo (ex. opera
operao de E/S,
diviso por zero, acesso inv
invlido mem
memria, etc).
etc).
Para cada interrup
interrupo uma rotina de servi
servio
designada respons
responsvel para tratar a interrup
interrupo.
Quando a CPU interrompida, ela p
pra o que est
est
fazendo e imediatamente transfere a execu
execuo para
um local fixo, que cont
contm o endere
endereo de in
incio onde
est
est a rotina de servi
servio para a interrup
interrupo.
A rotina de servi
servio de interrup
interrupo executa;
quando conclu
concluda, a CPU retoma a
computa
computao interrompida.

17

Sistemas Operacionais
Introduo
Opera
Operao dos Sistemas de Computa
Computao:
Processos:
Um processo uma parte de um programa em
execu
execuo.
 poss
possvel que v
vrios processos sejam partes de
um mesmo programa.
O momento e a forma que um processo criado ou
destru
destrudo depende do sistema operacional
(chamadas de sistema).
Processos do usu
usurio: Ex. para imprimir um arquivo
utilizado um diret
).
diretrio especial (spooling
(spooling).

Sistemas Operacionais
Introduo
Opera
Operao dos Sistemas de Computa
Computao:
Processos:
Hierarquia de processos: Pais e filhos

18

Sistemas Operacionais
Introduo
Opera
Operao dos Sistemas de Computa
Computao:
Processos:
Estados de um Processo:

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
O SO um sistema muito complexo, que dividido em
partes menores para simplifica
simplificao.
Cada uma dessas partes deve ser uma por
poro bem
delineada do sistema.
Nem todos os SO tm a mesma estrutura, no entanto,
compartilham a meta de dar suporte aos v
vrios
componentes.

19

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia de processos
Gerncia de mem
memria principal
Gerncia de arquivos
Gerncia do sistema I/O
Gerncia de armazenamento secund
secundrio
Redes
Sistema de Prote
Proteo
Sistema interpretador de comandos

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia de processos
Um programa no faz nada a no ser que suas
instru
instrues sejam executadas por uma CPU.
Um processo pode ser considerado um programa
em execu
execuo.
Um processo precisa de determinados recursos
incluindo tempo de CPU, mem
memria, arquivos e
dispositivos de I/O para realizar sua tarefa.
Esses recursos so dados ao processo quando ele
criado ou so alocados durante sua execu
execuo.

20

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia de processos
O sistema operacional respons
responsvel pelas
seguintes atividades em rela
relao gerncia de
processos:
Criar e excluir processos de usu
usurio e de
sistema
Suspender e retomar processos
Fornecer mecanismos para a sincroniza
sincronizao
de processos
Fornecer mecanismos para a comunica
comunicao
de processos

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia de Mem
Memria Principal
A mem
memria principal (MP) central opera
operao de
um sistema de computa

o
moderno.
computa
A MP geralmente o nico dispositivo de
armazenamento grande que a CPU pode endere
enderear
e acessar diretamente.
Para que um programa seja executado, ele deve
ser mapeado para endere
endereos absolutos e carregados
na mem
memria.

21

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia de Mem
Memria Principal
 medida que o programa executa, ele acessa
instru
instrues e dados do programa a partir da mem
memria
gerando esses endere
endereos absolutos.
O SO respons
responsvel pelas seguintes atividades:
Manter registro das partes da mem
memria que
esto sendo usadas no momento e por quem.
Decidir que processos devero ser
carregados na mem
memria quando houver
espa

o
dispon

espa dispon vel.


Alocar e desalocar espa
espao na mem
memria,
conforme necess
necessrio.

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia de Arquivos
A gerncia de arquivos um dos componentes
mais vis
visveis de um sistema operacional. Os
computadores podem armazenar informa
informaes em
vrios tipos diferentes de meios f
fsicos. Cada meio
controlado por um dispositivo.
O SO respons
responsvel pelas seguintes atividades:
Criar e excluir arquivos
Criar e excluir diret
diretrios
Mapear arquivos no armazenamento
secund
secundrio

22

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia do Sistema I/O
O subsistema de I/O consiste em:
Um componente de gerncia de mem
memria que
inclui buffering,
buffering, armazenamento em cache e
spooling.
spooling.
Uma interface geral de driver de dispositivo
Drivers para dispositivos de hardware
espec
especficos.

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Gerncia de Armazenamento Secund
Secundrio (Disco)
Quando um sistema de computa
computao executa
programas, esses programas e seus dados devem
estar na mem
memria principal, ou armazenamento
prim
primrio, como a mem
memria principal pequena e
como os dados que armazena so perdidos quando
a energia desconectada, o sistema de computa
computao
deve fornecer armazenamento secund
secundrio para dar
suporte mem
memria principal.
O SO respons
responsvel pelas seguintes atividades:
Gerncia de espa
espao livre
Aloca
Alocao de espa
espao (armazenamento)

23

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Redes
Um sistema distribu
distribudo uma cole
coleo de
processadores que no compartilham mem
memria,
dispositivos perif
perifricos ou um clock.
clock. Em vez disso,
cada processador tem sua pr
prpria mem
memria local e
clock,
clock, e os processadores se comunicam entre si
atrav
atravs de v
vrias linhas de comunica
comunicao, como
barramentos ou redes de alta velocidade.

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Redes
Um sistema distribu
distribudo re
rene sistemas fisicamente
separados e possivelmente heterogneos em um
nico sistema coerente, fornecendo ao usu
usurio
acesso aos v
vrios recursos mantidos pelo sistema. O
acesso a um recurso compartilhado permite maior
velocidade de computa
computao, maior funcionalidade,
maior disponibilidade de dados e melhor
confiabilidade.

24

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Sistema de Prote
Proteo
A prote
proteo qualquer mecanismo para controlar o
acesso de programas, processos ou usu
usurios aos
recursos definidos por um sistema de computa
computao.
Esse mecanismo deve fornecer meios para a
especifica
especificao dos controles a serem impostos e os
meios para seu cumprimento.
 A prote
proteo pode melhorar a confiabilidade
detectando erros latentes nas interfaces entre os
subsistemas.

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Sistema Interpretador de Comandos
Um dos programas de sistema mais importantes
para um sistema operacional o interpretador de
comandos, que a interface entre o usu
usurio e o
sistema operacional.
Alguns sistemas operacionais incluem o
interpretador de comandos no Kernel.
Kernel. Outros
sistemas operacionais, tais como MSMS-DOS e UNIX,
tratam o interpretador de comandos como um
programa especial que fica executando quando um
job iniciado.

25

Sistemas Operacionais
Introduo
Componentes de Um Sistema Operacional:
Sistema Interpretador de Comandos
Muitos comandos so passados ao sistema
operacional por instru
instrues de controle.
Quando um novo job iniciado em um sistema em
batch, ou quando um usu
usurio efetua logon em um
sistema de tempo compartilhado, um programa que
l e interpreta instru
instrues de controle executado
automaticamente. Esse programa s vezes
chamado de interpretador de cartes de controle, ou
o interpretador da linha de comandos, e geralmente
chamado de Shell.

Prxima Aula

Servios do Sistema Operacional;

26