Prof. Mauricio S. S. Nunes
Unip - Curso Tecnológico em Análise e
Desenvolvimento de Sistemas
2010
Fungöes Básicas do S. O.
Visáo do sistema
operacional
PARA QUE SOFTWARE BASICO?
O que acontece quando ligamos o
computador?
E quando “clicamos” num icone?
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
máquinas diferentes interligadas em rede?
E ao utilizar um PEN DRIVE ?
MA
Um sistema operacional é um programa ou um conjunto de
programas ( - kernels, biblioteca
protocolos, compiladores, etc) cuja funcäo é é servir de interface
entre um computador e o usuário
Dois modos distintos de conceituar um sistema operacional:
pela perspectiva do usuário ou programador (visáo top-down): é
uma abstraçäo do hardware, fazendo o papel de intermediário
entre o aplicativo (; ou aplicagáo) e os
componentes físicos do computador (hardware); ou
numa visáo bottom-up, de baixo para cima: é um gerenciador de
recur i.e., controla
quais aplicagöes (processos) podem ser executadas,
quando,
D o que recursos (memöria, disco, periféricos) podem ser utilizados.
Reserva de | Visualizador
passagens
aéreas Web
Sistema
by Programas de aplicaçäo
bancário id peat
shell
— | Complladores | Editores | nterpretador
de comandosj| | Programas
do sistema
Kernel —> Sistema operacional
Linguagem de máquina |
Microarquitetura Hardware
Dispositivos fisicos
Um sistema de computaçäo consiste em
hardware
programas do sistema
programas de aplicaçäo
Monitor
Chipsets
Ss
Unidades
periféricas
Unidade de
disco rígido
==
00000)
Controlador
Memota de vídeo
Controlador
de teclado
Unidades.
perléricas
Controlador
de disco
rígido
Barramento
Componentes de um computador pessoal simples
InfraCom
SOFTWARE, HARDWARE E COMUNICACÁO
Ger. Ger.
Processos Memória
Ger. Disco/|
Sist. Arq
Sub-sist.
Comunicagáo
so
Memória
Controlador
de vídeo
Controlador
de teclado
Controlador
de disco
flexivel
Controlador
de disco
rígido
Unidade de disco
= Instrugäo atual
Próxima instrucáo
Controlador ||Controlador
3
CPU Me interrupçäo|| de disco 3. Retornar
It It 2 | 1. Interromper
1
2. Despachar
para tratador:
de interrupgäo
Tratador de interrupçäo 7
(a) (b)
Passos para iniciar um dispositivo de E/S e obter
uma interrupcáo
Como a CPU é interrompida
« SOs monoprogramäveis/monotarefa
« Apenas um controle e alocacäo de O
memória
+ SOs multiprogramaveis/multitarefa
Necessidades :
+ Gerenciamento de
memoria
+ Gerenciamento de
VO
+ Gerenciamento de
Processos
Particöes
de memöria
Sistema
operacional
o Sistema de multiprogramacäo
+ Trés jobs na memória
+ OSO utiliza o conceito de tempo partilhado (time
sharing)
Melhor utilizagáo do tempo de CPU
oExemplos : linux , windows
CONCEITO :
MULTIPROGRAMAGAO
Um contador de programa
Quatro contadores de programa
A | Alternancia
entre
B | processos
Processo
c Al
D
(a) (b)
Multiprogramacáo de quatro programas
Modelo conceitual de 4 processos sequenciais,
independentes, mas
Somente um programa está ativo a cada momento 4%
escalonamento
+ Sos de Rede
Os usuários sabem da existéncia de múltiplos computadores e podem
conectar-se a máquinas remotas e usar servigos de uma máquina para outra.
Estes sistemas utilizam os programas para iniciar sessóes remotas
Servidor de Arquivos
ESTRUTURA DE SISTEMAS OPERACIONAIS EM REDE
Processo | Processo |Servidor de|Servidor de Servidor de|Servidor de
cliente cliente | processos | terminais arquivos | memöria
Modo usuärio
JS A
Micronúcleo EN
> Modo núcleo
* Clientes obtém servigos enviando
mensagens aos processos servidores
A estrutura é baseada no modelo
cliente-servidor
solicitagäo resposta
« Sistema Operacional Distribuido
Máquina 1
Máquina 2
Máquina 3
Para o usuário parece um sistema operacional único,mesmo que na realidade
seja composto de vários processadores e vários equipamentos.
O usuário náo tem controle onde seus programas estáo sendo executados.
Máquina 4
Cliente ?
Servidor de processo
[Servidor de terminais
Nüdeo |
= de arquivos
Núcleo
Núcleo
Núcleo
_
Mensagem de
cliente para servidor
« Sistema Operacional Distribuido — Cluster beowulf
" Sistema que compreende dois ou mais computadores ou
sistemas (denominados nodos) na qual trabalham em
conjunto para executar aplicaçôes ou realizar outras
tarefas, de tal forma para que os usuários que os utilizam
tenham a impressáo que somente um único sistema
responde para eles, criando assim uma ilusáo de um
recurso único (computador virtual).
" Este conceito é denominado transparéncia do sistema.
" Como características fundamentais da plataforma Cluster:
a aumento da confianca,
a distribuiçäo de carga e
a performance
Fonte : http://www.beowulf.org/
TIPOS DE S. O.
Sistema Operacional Distribuido — Cluster beowulf
" Cluster com acionamento remoto
Nós escravos
Back-end's
e
No Controlador
IS
Nós escravos
Back-end's
+ Sistema Operacional Distribuido — Cluster beowulf
" Cluster com acionamento local
Hardware
Processador, memoria principal (RAM) e memoria
secundaria (Acesso a discos, fitas e outros)
Dispositivos de E/S e barramento
Arquitetura do processador :Pipelining e arquiteturas RISC e
CISC
Análise de desempenho
Software
Tradutor, interpretador e linker
Loader e depurador
Interpretador de comandos e linguagem de controle
Ativacáo/desativacáo do sistema
Sistemas operacionais de computadores de grande porte.
ex. /390
Sistemas operacionais de servidores / redes
ex. Linux red Hat / windows 2008 server
Sistemas operacionais de multiprocessadores
ex. Windows 7
Sistemas operacionais de computadores pessoais
Sistemas operacionais de celulares — ex. Windows
mobile
Sistemas operacionais de tempo-real - Devem
responder a qualquer evento é um sistema
operacional/operativo destinado á execucáo de múltiplas
tarefas onde o tempo de resposta a um (externo
ou interno) é pré-definido; náo importando, como é
comum pensar-se, se a velocidade de resposta é elevada
qu
Os leitores de CD e de DVD
possuem Sistemas de Um caca F-16 tem embutido Sistemas
Tempo Real moderados. de Tempo Real rígidos
Sistemas operacionais embarcados
Sistemas operacionais de cartôes inteligentes
5.6mm + 0.12
~
Thicknace: 0.76mm + 0.08
« System call
1]
Nüdeo do
Sistema Operadonal
mum) | System Call
Aplicaçäo Biblioteca Hardware
+ Exemplo : Imprimir um arquivo
+ Fase 1 : gerar uma chamada de impressáo, onde o SO irá instanciar um
processo e alocar memória
+ Fase 2: acionar o núcleo para efetuar o acesso a I/O
Exemplo : os arquivos DLL do Windows
« System call
Ruby Threads (Green Threads)
q ao 25%
Native Threads $ read
+ Alinguagem Ruby on rails executando um System Call
SISTEMAS OPERACIONAIS = CHAMADAS AO SISTEMA
« System call - Funcóes:
— Geréncia de processos e threads
— Geréncia de memória
— Geréncia do sistema de arquivos
— Geréncia de dispositivos
« Arquitetura monolítica
* OSO inteiro é executado como um único
programa no modo núcleo
+ Cada rotina possui uma interface
definida com relagáo a
parámetros e resultados
x i é li lodo usuario < >
Cada rotina é livre para Modo usuä a Ê
Modo kernel
chamar qualquer outra er
eL
en
i |
—
Nr
Hardware
Estrutura basica
para a arquitetura
monolitica
O programa aplicativo invoca
a rotina do servico
Um conjunto de rotinas de
servigo que executam as Mode usuario. nl
Modo kernel
chamadas de sistema O [sysomcan }
Um conjunto de rotinas
utilitárias que auxiliam as
rotinas de servico (9
Procedimento
principal
Procedimentos
de servigos
Procedimentos
utilitários
Modelo simples de SO = um processogom
a n procedimentos
estruturacao E
de um sistema
ESTRUTURA DE SISTEMAS
OPERACIONAIS - EVOLUEAO DA ARQUITETURA
MONOLITIEA
» Arquitetura de Camadas - OpenVMS
Kernel )
N \ =
— A
Virtualizacáo
Máquina virtual — o princípio da virtualizacáo
baseava-se na multiprogramacáo (tempo
partilhado), que oferecia (1) multiprogramagäo e (2)
uma máquina estendida com uma interface mais
conveniente do que o hardware oferece.
A esséncia da virtualizaçäo atual é a separaçäo
completa destas duas funçôes.
O monitor de máquina virtual é executado
diretamente sobre o hardware e implementa
multiprogramagao, provendo assim nao uma, mas
varias maquinas virtuais para a proxima camada
acima.
+ Contudo, ao conträrio dos demais sistema
operacionais, estas máquinas virtuais nao sao
máquinas estendidas, com arquivos e outras
características convenientes.
Sáo cópias exatas de hardware, inclusive com
modos núcleo/ usuário, geréncia de E/S,
interrupgdes e tudo o que uma maquina real tem.
Virtual Virtual Como cada maquina virtual é
Machine for la Machine Ls
driver control uma copia exata do hardware,
Xen Control [ae | [ave cada uma delas pode executar
—; um sistema operacional diferente.
os [os
5
p
Real Drivers
Xen Hypervisor
« Maquina virtual
Ger&ndia de Máquinas Virtuais
Hardware
COMPUTERWORLD — .......:
O PORTA VOZ DO MERCADO DE TIE COMUIICAGAO Sales» Empresas pa
Carreira Telecom
per | Execute Bring | Webmectng
Case: leia sobre 4 empresas que usam
virtualizagao no Brasil
Executivos de General Eletric, Fundacáo Bradesco,
Mackenzie e Mondial Assistance contam sobre a adocáo
desta tecnologia, que já é usada por 42% das grandes e
médias empresas brasileiras, segundo consultoria IDC.
Por REDAGAO DA COMPUTERWORLO
1 de Janero de 2010 -07n00
VIRTUALIZACAO
DATA CENTERS MAIS VERDES NO BB
Dé uma olhada em alguns dos números do Banco do
Brasil: 1 bilhäo de transagöes por més, 48 milhôes de
clientes, 4 354 agéncias e 40,5 mil terminais de auto
atendimento. Como aproveitar melhor a infraestrutura
nstalada nos data centers para economizar recursos
e agredir menos o meio ambiente? A saída escolhida
pela equipe de TI do BB foi a virtualizacáo da rede.
Com um investimento de 800 mil reais, o projeto levou
trés meses para ser implantado. “Tivemos resultados
rápidos”, diz José Luis Prola Salinas, vice-presidente
de tecnología e logística do Banco do Brasil. Com a
virtualizacäo. o banco projeta uma economia de 85%
no consumo de energia, 83% na refrigeragäo, 75% de
espaco nos racks alocados para equipamentos de rede
e 85% na aquisicáo de hardware.
+ Máquina virtual Java — Atua na execucáo do programa
escrito em linguagem java.
O compilador Java produz o código para Java Virtual
Machine, que é executado por um interpretador da
JVM.
Compilador Java
(Pentium) Interpretador Java
Seu Código Pentium
Compilador Java
PowerPC)
PowerPC
Compilador Java
(SPARC)
Java
(independente da
Plataforma)
« Máquina virtual Java
Aplicaçäo
171
Méquina Virtual Java
171
Sistema Operacional
{Tf
Hardware
« Máquina virtual Java — a vantagem é que o código JVM pode
ser enviado a qualquer computador que tenha um interpretador
JVM e ser executado lá.
Por exemplo, suponha que vocé desenvolveu um aplicativo para um telefone
celular. Com poucas modificagöes, vocé poderá rodar esse mesmo aplicativo
em um palmtop, como mostra a imagem acima.
« Arquitetura microkernel
Objetivo: alcangar alta confiabilidade por meio da divisáo do SO em
módulos pequenos, bem definidos, onde apenas o micro núcleo é
executado no modo núcleo e o restante é executado como
processo de usuário.
(Seryidor ‘Seryidor |
: Memoria \ Rede |
(seryidor ö Sensor
Fa)
Modo kernel
Microkernel
Exemplo : utilizagáo de drivers de
dispositivo de hardware, no windows
ESTRUTURA DE SISTEMAS OPERACIONAIS
« Arquitetura microkernel
a EA E \ à
(Servidor y (Servidor \ (Servidor
(ae) de | ("de
\ Arquivo / — == MRede |
N 4 fo ig > 2 N a, A
/ Servidor \ /Seryidor \
(de ) (de)
\ processo / \mpressäo)
Modo unio: X
Modo kernel
Microkernel |
Hardware |
EXEMPLOS DE SISTEMAS OPERACIONAIS
o PC-DOS
o OS/2
o Windows e suas versöes
o Linux e suas distribuicóes
o Unix
o Amoeba
o Minix
oMAC OS
o Symbian e muitos outros
UM SISTEMA EM BATCH EXECUTA JOBS
UM SISTEMA DE TEMPO COMPARTILHADO EXECUTA PROGRAMAS DE
USUARIOS OU TAREFAS
MESMO EM UM SISTEMA MONOUSUARIO, COMO O WIN VISTA, UM
USUARIO PODE EXECUTAR VARIOS PROGRAMAS DE UMA VEZ
MESMO QUE O USUARIO PUDESSE EXECUTAR SO UM PROGRAMA DE
CADA VEZ O S.O PRECISARIA DAR SUPORTE A TODAS AS SUAS
ATIVIDADES, EX GERENCIA DE MEMORIA. TODAS ESSA ATIVIDADES
SAO OS PROCESSOS
INFORMALMENTE, O PROCESSO E UM PROGRAMA EM
EXECUGAO
E VAI ALEM DISSO POIS TAMBEM INCLUI AATIVIDADE |
CORRENTE, CONTADOR DE PROGRAMA, E O CONTEUDO
DOS REGISTRADORES DO PROCESSADOR. INCLUI A
PILHA DE PROCESSO (DADOS TEMPORARIOS), E UMA
SEGÁO DE DADOS QUE CONTÉM VARIAVEIS GLOBAIS
Contexto de processo
all
|
CPU: Registradores
Memória: Posiçôes em uso
E/S: Estado das requisicöes
Estado do processo: Rodando, Bloqueado, Pronto
Processo : rotinas que podem ser executadas para
auxiliar o SO ou apicativos
VALE LEMBRAR QUE UM PROGRAMA POR SI SO NAO E
UM PROCESSO - ENTIDADE PASSIVA. PROCESSO —
ENTIDADE ATIVA
EMBORA 2 PROCESSOS POSSAM SER ASSOCIADOS
COM O MESMO PROGRAMA, SAO CONSIDERADOS 2
SEQUENCIAS SEPARADAS DE EXECUCAO - EX. 2
USUÁRIOS LOGADOS COM O MESMO PROGRAMA
ABERTO
CONCEITO DE PROCESSO -
VISVALIZAGAO DE PROCESSOS
5) Gerenciador de tarefas do Windows QuE
rau Opghes Bib Desh Ajuda
Home da imagem Home de usuario | CPU Uso de memória
Hekon 0
LOCAL SERVICE 00
Hekon 0
aaa \ SYSTEM
avgenc.exe SYSTEM
avons SYSTEM
avgrex.exe SYSTEM
aque er Hekon
SYSTEM
SYSTEM
ctfmon.exe Hekon
explorer.exe Heken
SYSTEM
GhostStartServiceiexe SYSTEM
GoogleUpdate.exe Heton
retinfo.exe SYSTEM
tagserver SYSTEM
bass.exe SYSTEM
mplayerc.exe Hekon
mispaint.exe Hekon
POWERPNT EX Hekon
serve exe SYSTEM
[Mostrar processos de todos os usuários
Processes: 40 Uso deCPU:O% Confmarcarga: 488M / 3875
Estados de um processo
executar,
Criar — > Terminar
uspender
(tempo)
desbloquear bloquear (1/0)
Contexto
ID do Processo
Estado
Prioridade
Program Counter
Ponteiros da Memoria
Contexto (regs.)
VO Status
Informacóes gerais
* tempo de CPU
» limites, usuáriosetc.
CONCEITO BÁSICO DE PROCESSO
CRIACAO DE PROCESSOS
o Principais eventos que levam a criacáo de
processos
» Inicio do sistema
» Execuçäo de chamada ao sistema de criaçäo de
processos
» Solicitacäo do usuario para criar um novo processo
+ Início de um job em lote
CONCEITO BÁSICO DE PROCESSO
TERMINO DE PROCESSOS
o Condigöes que levam ao término de processos
Saída normal (voluntária)
Saída por erro (voluntária)
Erro fatal (involuntário)
Cancelamento por um outro processo (involuntário)
HIERARQUIAS DE PROCI
Processo “pai” cria um proc
ESSOS
esso “filho”, processo
filho pode criar seu próprio processo
Windows náo possui o conceito de hierarquia de
processos
Todos os processos sáo cria
de “pai” e “filho”)
dos iguais (sem conceito
SISTEMAS OPERACIONAIS = ESTRUTURA DE PROCESSOS
« Estrutura do processo
PID registradores
owner (UID) =
pronass'ss registrador PC
data/hora & &
lacá jontexto de texto de
de criagio Software Hardware
tempo de registrador SP
processador
quotas
E registrador
+, de status
Espago de
Endereçamento
enderecos de memoria
principal alocados
SISTEMAS OPERACIONAIS = SINCRONISMO DE PROCESSOS
« Sincronizacáo e comunicagao entre
processos
Sincronizaçäo
La
Processo Le EIG Prooesso
gravador o: leitor
Quando um ou mais processos estáo prontos para
serem executados, o sistema operacional deve
decidir qual deles vai ser executado primeiro
A parte do sistema operacional responsável por
essa decisáo é chamada ‚eo
algoritmo usado para tal é chamado de
Para que um processo näo execute tempo demais,
praticamente todos os computadores possuem um
mecanismo de relögio (clock) que causa uma
, periodicamente
OBRIGADO
Bibliografia:
- livro Sistemas Operacionais Modernos -
Andrew S. Tanenbaum - Ed. Pearson
UNIP - Campus Alphaville -SP [email protected]