Buscar

Introdução a Sistemas Operacionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Universidade Federal do Pará
Sistemas Operacionais
Prof. Diego Cardoso
diego@ufpa.br
dlisboacardoso@gmail.com
mailto:diego@ufpa.br
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Ementa
Sistemas Operacionais (Operating Systems) 
Disciplina(s) de base: Arquitetura e Organização de Computadores 
Ementa: Introdução: definições, histórico e classificação. Gerência de 
processos/processador: definições e conceitos fundamentais, 
concorrência, sincronização e comunicação entre processos, algoritmos 
de escalonamento de processos, monoprocessamento e 
multiprocessamento. Gerência de memória: definições e conceitos 
fundamentais, swapping, memória virtual e paginação e segmentação 
de memória. Sistemas de arquivo: Definições e conceitos fundamentais, 
diretórios, Segurança e mecanismos de proteção. Gerência de entrada e 
saída: entrada e saída por hardware e software, discos, terminais, 
relógios e vídeo. Alocação de recursos e “deadlocks”. Estudo de casos. 
Bibliografia TANENBAUM, A. Sistemas Operacionais Modernos. 3
nd
 Ed.: Prentice 
Hall, 2010. 
SILBERSCHATZ, ABRAHAM / GALVIN, PETER BAER / GAGNE, 
GREG, Fundamentos de Sistemas Operacionais, 8 ed. LTC, 2010. 
ALBERT S. Sistemas Operacionais: Projeto e Implementação. 3 Ed. 
Prentice-Hall, 2008. 
DEITEL & CHOFFNES. Sistemas Operacionais, 3 ed. Editora: Prentice-
Hall, 2005. 
Carga Horária: 60 horas 
Créditos: 4 
 
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Livro Texto
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Definições e Informativos
3 Avaliações (Prova e Trabalhos)
3 Trabalhos (pequenos trabalhos + trabalho final)
3 Provas (pelo menos duas)
3 Celular e Notebooks
3 Presença
3 SIGAA
3 Possíveis faltas do professor
3 Onde me encontrar:
3 FCT (quase nunca)
3 LPRAD / LPO (quase sempre)
3 Prédio Anexo, segundo andar, última sala (interseção)
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Assunto da Aula
3 Definição
3 Funções de um SO
3 Máquina de Níveis
3 Histórico
3 Tipos de SO
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Operacionais
Sistemas Operacionais 
existem em toda parte 
(em qualquer aparelho 
com processamento)!! 
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Tipos de Sistemas
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Emergentes
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Emergentes
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Um S.O. para cada tipo de máquina 
 Alguns Exemplos: 
 PCs/Netbooks: Linux, variantes do UNIX, Windows 7, Vista, Mac 
OS X, ... 
 Cloud Computing: Hadoop, Amazon EC, Xen, ... 
 Celulares: Symbian, Windows Mobile, 
 Smartphones/PDAs: iOS, PalmOS, Android, Windows Mobile, 
BlackBerry, AlyunOS... 
 Embarcados: iOS, inferno, Maemo, etc. 
 Sistemas de Tempo Real: QNX, RT-UNIX, e muitos outros 
 Redes de Sensores (MicaMotes): TinyOS, Contiki, ... 
 Clusters/Sist. distribuídos: Mach, Plan9, Amoeba, Beowulf, 
Chorus .. 
 WebOS: ChromeOS, JoliOS, DesktopTwo, EyeOS, ... 
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Definição
Definição de SO: é um programa cuja 
tarefa principal é gerenciar cada um dos 
recursos da máquina, contabilizando o 
tempo de uso e garantindo o acesso 
ordenado de usuários a esses recursos.
Exemplos: UNIX, MS-Windows, Android.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Funções de um SO
• Como Máquina Estendida (Máquina Virtual)
⚫ Facilita o acesso aos recursos do sistema;
⚫ O usuário interage com o SO;
⚫ Visão Top-down.
 Como Gerente de Recursos
⚫ Compartilha os recursos de forma organizada e
protegida;
⚫ Visão Bottom-up.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Funções de um SO
 Sistema Computacional = hardware + software;
 SISTEMA OPERACIONAL é quem controla todos os 
recursos do computador (dispositivos físicos e funções 
de software).
 Ex.:
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Funções de um SO
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Objetivos de um S.O.
 Gerenciamento dos Recursos: O S.O. deve
evitar conflitos no uso do hardware.
 Abstração do Hardware: O S.O. deve definir
interfaces abstratas para os recursos do
hardware, visando atender os seguintes
objetivos:
◼ Tornar os aplicativos independentes do hardware;
◼ Definir interfaces de acesso homogêneas para
dispositivos com tecnologias distintas.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Funções de um S.O.
 Um sistema operacional possui as seguintes funções:
◼ Gerência de Processos: Distribui a capacidade do
processador de forma justa.
◼ Gerência de Memória: Fornece a cada aplicação um espaço
de memória próprio, independente e isolado dos demais.
◼ Gerência de Dispositivos: Implementa a interação com cada
dispositivo por meio de drivers.
◼ Gerência de Arquivos: Cria abstração de arquivo e diretório,
definindo também sua interface de acesso e regras para seu
uso.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Máquina de Níveis
Aplicativos
Utilitários
Sistemas Operacionais
Microprogramação
Linguagem de Máquina
Dispositivos Físicos
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Máquina de Níveis (Linux)
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Máquina de Níveis
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Máquina de Níveis
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Componentes Típicos de um SO
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Primeira Fase (1945 – 1955):
◼ Surgimento dos primeiros computadores digitais:
Válvulas.
◼ Sem Sistemas Operacionais
◼ ENIAC (Eletronic Numerical Integrator and Computer)
foi o primeiro computador de propósito geral (18 mil
válvulas, 10 mil capacitores, 70 mil resistores e pesava
cerca de 30 toneladas).
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Primeira Fase (1945 – 1955):
◼ Programação realizada em painéis (Linguagem de
máquina).
◼ EDVAC (Eletronic Discrete Variable Automatic
Computer): 1ª proposta de máquina com programa
armazenado (Instituição da “Arquitetura de von
Neumann”).
◼ UNIVAC (Universal Automatic Computer): 1º
computador comercial de sucesso.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Arquitetura de von Neumann
Unidade de 
Controle
Unidade de 
Aritmética e 
Lógica
Armazenamento
UCP
Dispositivo de 
Entrada
Dispositivo de 
Saída
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Segunda Geração (1955-1965):
− Criação do transistor e das memórias magnéticas.
− Criação das primeiras linguagens de programação:
⚫ Assembly;
⚫ Fortran.
◼ Surgimento dos primeiros SO: FMS (Fortran Monitor
System) e o IBSYS.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Segunda Geração (1955-1965):
− Processamento Batch (em lote).
− SO passa a ter seu próprio conjunto de rotinas para
operações de Entrada/Saída – IOCS (Input/Output
Control System).
◼ Spooling.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Terceira Geração (1966-1980):
− Surgimento dos Circuitos Integrados (CIs).
− Diminuição de custos dos sistemas computacinais.
− IBM lança a série 360 (S.O. OS/360).
− Multiprogramação: Compartilhamento de memória.
− Interação on-line (terminais de vídeos e teclado).
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Terceira Geração (1966-1980):
− Time-Sharing.
− Lançamento do CTSS, o primeiro sistema de
compartilhamento de tempo, desenvolvido
pelo MIT.
− Criação do Unix.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Quarta Geração (1981-1990):
− LSI (Large Scale Integration).
− VLSI (Very Large Scale Integration).
− Surgimento dos PCs de 16 bits.
− DOS (Disk Operation System).
− Sistemas Multiusuários.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4Quarta Geração (1981-1990):
− Sistemas Multitarefas.
− Multiprocessamento.
− Sistemas Operacionais de Rede (ex: Novell).
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Quinta Geração (1991-??):
− IA, Multimídia, BD Distribuídos, Redes Neurais,
entre outras.
− VLSI evoluem para ULSI (Ultra Large Scale
Integration).
− Arquiteturas Paralelas.
− Programação Concorrente.
− Sistemas Operacionais Distribuídos.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Histórico
4 Quinta Geração (1991-??):
− Problemas: Segurança, Gerência e
Desempenho (SO e Redes).
− S.O. baseados em interfaces gráficas.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Tipos de SO
Sistemas Operacionais
Sistemas 
Monoprogramáveis/
Monotarefa
Sistemas 
Multiprogramáveis/
Multitarefa
Sistemas 
com Múltiplos
Processadores
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Monoprogramáveis/Monotarefa
 Execução de um único programa, para um outro
programa executar deve aguardar o término do
programa concorrente.
 Apenas um único usuário pode interagir.
 Processador, memória e periféricos são
exclusivamente dedicados a uma única tarefa.
 Relacionados ao surgimento de mainframes (1ª
geração).
 Não tem problema com proteção.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Multiprogramáveis/ Multitarefa
 Vários programas dividem os mesmos
recursos.
◼ Exemplo: Enquanto um programa espera por
uma operação de leitura, outros programas
podem estar sendo processados nesse
intervalo de tempo.
 Controla o acesso concorrente à memória,
processador (escalonamento de CPU) e
periféricos, de forma ordenada e protegida.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas 
Multiprogramáveis/ 
Multitarefa
Sistemas 
Batch
Sistemas 
de Tempo 
Compartilhado
Sistemas 
de Tempo
Real
Tipos de Sistemas 
Multiprogramáveis/Multitarefa
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Tipos de Sistemas 
Multiprogramáveis/Multitarefa
 Sistemas em Batch
◼ Programas quando submetidos são armazenados 
em discos ou fitas para serem executados 
seqüencialmente.
 Sistemas de Tempo Compartilhado
◼ Permitem a interação do usuário com o sistema
através de terminais, vídeos, teclados e outros.
◼ Sistemas online: registram na hora o que está
sendo feito, mas não necessariamente obtém uma
resposta imediatamente.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Tipos de Sistemas 
Multiprogramáveis/Multitarefa
 Sistemas de Tempo Compartilhado
◼ Alocação de uma fatia de tempo para cada
usuário, caso o processamento não seja
terminado nesse tempo, o programa é
substituído por outro, e esse programa antigo
fica esperando por uma nova fatia de tempo.
◼ Fornece a impressão que todo o sistema está
dedicado exclusivamente a um usuário.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Tipos de Sistemas 
Multiprogramáveis/Multitarefa
 Sistemas de Tempo Real
◼ Tempo de resposta exigido dentro de um
limite.
◼ Não existe fatia de tempo e sim prioridade.
– Exemplo: Controle de tráfego aéreo.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
 Duas ou mais CPUs interligadas, trabalhando
em conjunto.
 Possibilitam aumentar a capacidade
computacional (escalabilidade), além de
permitir a reconfiguração e o balanceamento
do sistema.
 Reconfiguração: capacidade de um sistema
poder continuar o processamento mesmo se
um dos processadores falhar.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
 Balanceamento: possibilita distribuir a carga
de processamento entre diversos sistemas de
configuração, melhorando o desempenho.
 É importante observar a forma de comunicação
entre as CPUs e o grau de compartilhamento
da memória e dos dispositivos de E/S.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C Tipos de Sistemas com Múltiplos 
Processadores
Sistemas Com Múltiplos 
Processadores
Sistemas Fortemente 
Acoplados
Sistemas Fracamente 
Acoplados
Sistemas
Simétricos
Sistemas
Assimétricos
SO 
de Rede
SO
Distribuídos
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
 Sistemas Fortemente Acoplados:
◼ Único espaço de endereçamento virtual que é
compartilhado por todos os processadores.
– Exemplo: Se qualquer processador escrever
44 no endereço 1000, qualquer outro
processador que venha ler esse endereço,
encontrará o número 44.
◼ Compartilhando um único sistema operacional.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
 Sistemas Fortemente Acoplados:
◼ Vários programas podem ser executados ao
mesmo tempo, ou subdividido em subprogramas
para a execução simultânea em mais de um
processador.
◼ Problemas de concorrência, pois vários
processadores podem estar acessando as mesmas
áreas de memória.
◼ Retardo baixo e a velocidade de transmissão é alta.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
 Sistemas Fortemente Acoplados:
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Fortemente Acoplados
 Classificação devido à simetria:
◼ Sistemas Assimétricos
(Mestre/Escravo):
⚫ Apenas um processador pode executar
serviços do sistema operacional. (Ex. realizar
operações de E/S), sempre que um escravo
precisar de um tipo de operação, deve requisitar
ao mestre.
⚫ O sistema pode se tornar ineficiente devido ao
número de interrupções para o escravo executar
operações de E/S.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Fortemente Acoplados
 Classificação devido à simetria:
◼ Sistemas Assimétricos
(Mestre/Escravo):
⚫ Se o mestre falhar, o sistema fica incapaz
de continuar o processamento e deve ser
reconfigurado para um escravo assumir a
posição do mestre.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Fortemente Acoplados
 Classificação devido à simetria:
◼ Sistemas Simétricos:
⚫ Todos os processadores realizam as mesmas
funções.
⚫ Apenas algumas poucas funções ficam a cargo de
um único processador, como o boot.
⚫ Programa pode ser executado paralelamente em
vários processadores.
⚫ Em caso de falha, o sistema continua normal,
porém com menor capacidade.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
 Sistemas Fracamente Acoplados:
l Cada máquina tem seu próprio espaço de
endereçamento (memória).
– Exemplo: Se qualquer processador escrever
44 no endereço 1000, qualquer outro
processador que venha ler esse endereço,
encontrará um número diferente de 44, pois
estará lendo o SEU próprio espaço de
memória.
l O retardo de transmissão é alto e a velocidade de
transmissão é baixa.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas com Múltiplos Processadores
 Sistemas Fracamente Acoplados:
l Problema: Como os computadores irão se
comunicar uns com os outros ??
→ É necessário um esquema de conexão.
l Com base no grau de interação entre os 
nós, podem ser divididos em:
SO de Rede e SO Distribuídos
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Fracamente Acoplados
 Sistemas Operacionais de Rede:
◼ Cada nó possui seu próprio SO, além de hardware
e software que possibilitam o sistema ter acesso a
outros componentes de rede.
◼ Possibilitam: cópia remota de arquivos, emulação
de terminal, impressão remota e etc.
◼ Cada nó é independente do outro.
◼ Problema na conexão, o sistema continua
operando, sem alguns recursos disponíveis.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Sistemas Fracamente Acoplados
 Sistemas Operacionais Distribuídos:
l Existência de um relacionamento mais forte
entre seus componentes.
l É como se não existisse redes de
computadorese apenas um único sistema
centralizado.
U
F
P
A
 -
P
P
G
E
E
 –
L
P
R
A
D
 -
L
IN
C
Universidade Federal do Pará
Sistemas Operacionais
Prof. Diego Cardoso

Continue navegando