Sistemas Operacionais

Transcrição

Sistemas Operacionais
Pós-Graduação, Maio de 2006
Introdução aos Sistemas Operacionais
Prof. Dr. Ruy de Oliveira
CEFET-MT
O que é um Sistema Operacional?
ƒ Um software que abstrai as complexidades do hardware
de um usuário/programador
ƒ SO visto como uma Máquina Virtual (Extendida)
ƒ Detalhes de hardware tais como velocidade de gravação
e posicionamento de cabeça de gravação de um HD
tornam-se completamente transparente ao usuário
ƒ SO visto como um Gerenciador de Recursos
ƒ Provê acesso ordenado aos elementos de hardware
ƒ Monitora quem está usando qual recurso a fim de aceitar
solicitações de recursos, contabilizar estatísticas de uso,
e mediar solicitações conflitantes de programadores e
usuários distintos
CEFET-MT, 2006/1, Ruy de Oliveira
2
Sistema de Computador em Camadas?
ƒ O SO representa a interface
entre programas aplicativos
bem como
utilitários e o
hardware
ƒ Os utilitários normalmente
vêm com o SO para facilitar o
desenvolvimento de programas
ƒ Tarefas como gerenciamento
de arquivos, controle de I/O e
criação de aplicativos fazem
parte dos utilitários
CEFET-MT, 2006/1, Ruy de Oliveira
3
Evolução dos Sistemas Operacionais
ƒ Anos 40
ƒ Programador é também operador
ƒ Programação é feita inteiramente em linguagem de
máquina por intermédio de painéis de ligação
(plugboards)
ƒ Painéis de interligação evoluem para cartões perfurados
ƒ Um programa (job) em execução ocupa toda a máquina
CEFET-MT, 2006/1, Ruy de Oliveira
4
Evolução dos Sistemas Operacionais
ƒ Anos 50
ƒ O transistor possibilita a criação de computadores mais
confiáveis
ƒ Programador não precisa mais operar a máquina
ƒ Introdução do conceito de processamento de lote (batch)
com o programa monitor
ƒ Processamento de lote reduz o tempo entre jobs
seqüênciais
CEFET-MT, 2006/1, Ruy de Oliveira
5
Evolução dos Sistemas Operacionais
ƒ Anos 50 Æ Sistema Batch
CEFET-MT, 2006/1, Ruy de Oliveira
6
Evolução dos Sistemas Operacionais
ƒ Anos 60
ƒ Multiprogramação para reduzir o tempo em que o
processador fica ocioso
ƒ Memória é dividida em partições para que cada job fique
em uma partição
ƒ O trabalho de manuseio com fitas magnéticas é reduzido
drasticamente (spooling)
Partições da memória
Job 1
Job 2
Job 3
Sistema
Operacional
CEFET-MT, 2006/1, Ruy de Oliveira
7
Evolução dos Sistemas Operacionais
ƒ Anos 70
ƒ Timesharing Æ usuários compartilham um processador
de forma transparente por meio de terminais
ƒ Interactividade é conseguida de forma eficiente
ƒ Anos 80
ƒ Além de eficiência, conveniência para o usuário é
procurada
ƒ Desde os anos 90
ƒ
ƒ
ƒ
ƒ
ƒ
Computadores PC tornam-se populares
Sistemas Operacionais que controlam banco de dados
Sistemas distribuídos
Sistemas Operacionais de tempo real
Paralelismo
CEFET-MT, 2006/1, Ruy de Oliveira
8
Evolução dos Sistemas Operacionais (cont.)
CEFET-MT, 2006/1, Ruy de Oliveira
9
Tipos de Sistemas Operacionais
ƒ Main frames
ƒ Jobs em batch, transações, multiprogramação
ƒ Servidores
ƒ Usuários conectados remotamente por redes
ƒ Ambientes multiprocessados
ƒ Extensão de SO em servidores (programação paralela)
ƒ Computadores pessoais
ƒ Prioriza interface com o usuário
ƒ Applicações em tempo real
ƒ Confiabilidade de resposta previsível é priorizada
ƒ Sistemas embutidos
ƒ Limitados em memória, potência. Ex.: palmtop, celular, etc.
ƒ Smart cards
ƒ Muito limitados, mas alguns podem rodar até JAVA !
CEFET-MT, 2006/1, Ruy de Oliveira
10
Revisão de Hardware
ƒ Todo hardware
composto de:
ƒ
ƒ
ƒ
ƒ
é
Processador (CPU)
Memória
Periféricos (I/O)
Barramento (bus)
ƒ Cada periférico tem
seu controlador
ƒ A comunicação entre
todos os elementos se
dá pelo barramento
Coração do computador !
CEFET-MT, 2006/1, Ruy de Oliveira
11
Revisão de Hardware (cont.)
ƒ elementos básicos de um sistema de computador
CEFET-MT, 2006/1, Ruy de Oliveira
12
Revisão de Hardware: Processos
ƒ Processos são programas em execução
ƒ Cada CPU tem seu conjunto de instruções próprias
ƒ CPU possui: registradores de uso geral, registrador
PC, registrador de pilha (SP), e registrador PSW
CPU típica
Memória
Principal (RAM)
Memória
secundária
PC
SP
PSW
Registr. geral
Programa
Processo
CEFET-MT, 2006/1, Ruy de Oliveira
13
Revisão de Hardware: Processos (cont.)
ƒ Processos podem rodar em dois modos:
ƒ Kernel
ƒ Usuário
ƒ Um bit no registrador PSW controla o modo do processo
ƒ Para obter acesso aos periféricos o processo precisa
chavear para modo kernel
ƒ Esse chaveamento é feito pelas chamadas de sistema
(systems calls)
ƒ Existem várias systems calls oferecidas pelo SO
ƒ Depois de executado uma systems calls, o processo
retorno ao modo usuário
CEFET-MT, 2006/1, Ruy de Oliveira
14
Revisão de Hardware: Processos (cont.)
Systema monoprogramável
ƒ Processo precisa esperar pelo fim da operação de I/O
para prosseguir !!!
CEFET-MT, 2006/1, Ruy de Oliveira
15
Revisão de Hardware: Processos (cont.)
Systema multiprogramável
ƒ Quando um processo precisa esperar pelo fim da
operação de I/O, o processador pode rodar outro
processo !!!
CEFET-MT, 2006/1, Ruy de Oliveira
16
Revisão de Hardware: memória
ƒ As memórias atuais não satisfazem todos os requisitos
ao mesmo tempo, que são:
ƒ Extremamente rápidas
ƒ Muito espaçosas
ƒ De baixíssimo custo
Combinação de várias
tecnologias
ƒ Velocidades de acesso são inversamente proporcionais
à capacidade de armazenamento
CEFET-MT, 2006/1, Ruy de Oliveira
17
Revisão de Hardware: memória (cont.)
ƒ Proteção de região de
memória é fundamental em
sistema multiprogramados
A MMU (Memory Management Unit)
é quem gerência a memória
ƒ Registrador base
ƒ Define o endereço inicial
da região alocada ao proc.
ƒ Registrador limite
ƒ Define o tamanho da
região desde sua base
ƒ Violação de proteção gera
uma chamada ao SO
CEFET-MT, 2006/1, Ruy de Oliveira
18
Revisão de Hardware: memória (cont.)
Se endereço vindo da CPU extrapola os limites,
a MMU gera uma interrupção (trap) so SO
CEFET-MT, 2006/1, Ruy de Oliveira
19
Revisão de Hardware: I/O
ƒ Detalhes de complicações, tais como ler um arquivo em
disco, ficam “escondidos” dos processos em modo usuário
ƒ Interface padrão é usada
ƒ Drivers são necessários adaptar mecanismos ao SO
ƒ Drivers executam em modo kernel (são inseridos no kernel)
ƒ Normalmente há instruções especiais IN e OUT para
comunicação com os I/Os
CPU
CEFET-MT, 2006/1, Ruy de Oliveira
Controlador
I/O
20
Revisão de Hardware: I/O (cont.)
ƒ Interrupções são usada para uma eficiente comunicação
entre periféridos e a CPU
ƒ CPU solicita serviço do I/O e continua com outras
atividades. Uma sinalização é gerada pelo I/O depois
ƒ Sob interrupção Æ PC e PSW são guardados na pilha
CEFET-MT, 2006/1, Ruy de Oliveira
21
Revisão de Hardware: I/O (cont.)
ƒ DMA (Direct Memory Access) é usada para se prover
acesso direto à memória sem a necessidade de
intervenção da CPU (só no início)
ƒ O controlador de disco recebe autorização da CPU para
proceder com a leitura/gravação na memória diretamente
ƒ CPU fica livre para realizar outras tarefas
CEFET-MT, 2006/1, Ruy de Oliveira
22
Revisão de Hardware: Barramentos (Buses)
ƒ Sistemas atuais possui vários barramentos para troca de
informação entre os seus elementos (Ex.: Pentium)
PCI (Peripheral
Component Interconect)
SCSI (Small Computer
System Interface)
USB (Universal
Serial Bus)
ISA (Industry
Standard Architecture)
CEFET-MT, 2006/1, Ruy de Oliveira
23
System Calls (chamadas de sistema)
ƒ Representam a interface entre o sistema operacional e os
programas de usuários
ƒ O SO provê várias Systems Calls (rodam em mod kernel)
principalmente para tarefas associadas a periféricos
ƒ Exemplo de uma Systems Call para leitura de aquivo
read (fd, buffer, nbytes)
fd=descrição do arquivo,
buffer=local para onde o dado lido deve ser armazenado,
nbytes=quantidade de bytes a serem lidos
Onze passos são necessários para a realização desta
system call, como mostrado a seguir
CEFET-MT, 2006/1, Ruy de Oliveira
24
System Calls (chamadas de sistema) (cont.)
CEFET-MT, 2006/1, Ruy de Oliveira
25
System Calls para gerenciamento de processos
System Calls do UNIX
CEFET-MT, 2006/1, Ruy de Oliveira
26
System Calls para gerenciamento de arquivos
CEFET-MT, 2006/1, Ruy de Oliveira
27
System Calls para gerenciamento de diretórios
CEFET-MT, 2006/1, Ruy de Oliveira
28
Outras System Calls
CEFET-MT, 2006/1, Ruy de Oliveira
29
System Calls do Windows
CEFET-MT, 2006/1, Ruy de Oliveira
30
Estruturas do Sistema Operacional
ƒ Monolítico: desestruturado porque os processos se
comunicam diretamente entre si
CEFET-MT, 2006/1, Ruy de Oliveira
31
Estruturas do Sistema Operacional (cont.)
ƒ Em camadas:
ƒ cada camada desenvolve uma atividade específica
ƒ Há uma interface padrão para comunicação entre as
camadas adjacentes
CEFET-MT, 2006/1, Ruy de Oliveira
32
Leitura Complementar
ƒ Sistemas Operacionais Modernos, 2a
Andrew Tanenbaum, Editora Pearson, 2003.
edição
ƒ Operating Systems (4th edition),
William Stallings, Prentice Hall, 2001
ƒ Sistemas Operacionais - Conceitos e Aplicações,
A, Silberschatz, P. Galvin, e G. Gane, Editora Campus,
2001.
ƒ Sistemas Operacionais
R. S. Oliveira, A. Carissimi e S. Toscani, Editora
Sagra Luzzatto, 2004
CEFET-MT, 2006/1, Ruy de Oliveira
33

Documentos relacionados