Infra-Estrutura de Software
http://www.cin.ufpe.br/~if677
Introdução
(Módulo I)
1.
2.
3.
4.
O que é um sistema operacional
História dos sistemas operacionais
Os vários tipos de sistemas operacionais
Estrutura de sistemas operacionais
Principal fonte:
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
1
Conceitos Fundamentais:
software básico e software aplicativo
• Um sistema operacional é um programa ou um conjunto de
programas (software básico - kernels, bibliotecas, drivers,
protocolos, compiladores, etc) cuja funçã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 (software aplicativo ou aplicação) e os componentes
físicos do computador (hardware); ou
– numa visão bottom-up, de baixo para cima: é um gerenciador de
recursos, i.e., controla
• quais aplicações (processos) podem ser executadas,
• quando,
• que recursos (memória, disco, periféricos) podem ser utilizados.
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
2
Para quê software básico?
• 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
máquinas diferentes interligadas em rede?
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
3
Sistema de Computação
• Um sistema de computação consiste em
– hardware
– programas do sistema
– programas de aplicação
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
4
O que é um Sistema
Operacional?
• É uma máquina estendida
– Oculta os detalhes complicados que têm quer ser
executados
– Apresenta ao usuário uma máquina virtual, mais
fácil de usar
• É um gerenciador de recurso
– Cada programa tem um tempo com o recurso
– Cada programa tem um espaço no recurso
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
5
História dos Sistemas Operacionais (1)
Antigo sistema em lote
–
–
–
–
traz os cartões para o 1401
lê os cartões para a fita
coloca a fita no 7094 que executa o processamento
coloca a fita no 1401 que imprime a saída
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
6
História dos Sistemas Operacionais (2)
• Primeira geração 1945 - 1955
– Válvulas, painéis de programação
• Segunda geração 1955 - 1965
– transistores, sistemas em lote
• Terceira geração 1965 – 1980
– CIs (circuitos integrados) e multiprogramação
• Quarta geração 1980 – presente
– Computadores pessoais
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
7
História dos Sistemas Operacionais (3)
Estrutura de um job típico (lote de cartões) – 2a. geração
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
8
História dos Sistemas Operacionais (4)
• Sistema de multiprogramação
– Três jobs na memória – 3a. geração
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
9
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
• Sistemas operacionais de cartões inteligentes
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
10
Revisão sobre hardware de
computadores (1)
Bus
Componentes de um computador pessoal simples
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
11
InfraHW
InfraSW
Software, hardware e comunicação
Ger.
Processos
Ger.
Memória
Ger. E/S
Sub-sist.
Comunicação
Ger. Disco/
Sist. Arq.
SO
•Como funciona um programa?
•Como funcionam dois
programas ao mesmo tempo?
•E se estiverem cooperando,
mas em máquinas diferentes
interligadas em rede?
InfraCom
Bus
Rede
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
12
Revisão sobre hardware de
computadores (2)
• Típica hierarquia de memória
– números mostrados são apenas aproximações
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
13
Revisão sobre hardware de
computadores (3)
(a) Passos para iniciar um dispositivo de E/S e obter uma
interrupção
(b) Como a CPU é interrompida
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
14
Estrutura de Sistemas
Operacionais (1)
Modelo simples de estruturação
de um sistema monolítico
Pearson Education
SO = um processo com
n procedimentos
Sistemas Operacionais Modernos – 2ª Edição
15
Estrutura de Sistemas
Operacionais (2)
Usuário
Aplicativos
• Modularidade
• Hierarquia
• Facilita evolução e
adaptação a novos
ambientes
Utilitários
Sistema Operacional
Computador (Hardware)
Estrutura em camadas
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
16
Estrutura de Sistemas
Operacionais (3)
O modelo cliente-servidor
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
17
Estrutura de Sistemas
Operacionais (4)
O modelo cliente-servidor em um
sistema distribuído
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
18
Revisão
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
19
Para quê software básico?
• Como funcionam dois programas ao mesmo
tempo?
– Interrupção e escalonamento
• E se dois programas quiserem usar o mesmo
recurso?
– Controle de concorrência
• E se estiverem cooperando, mas em
máquinas diferentes interligadas em rede?
– Comunicação
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
20
O que é um Sistema
Operacional?
• É uma máquina estendida (uma
abstração do hardware)
• É um gerenciador de recurso
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
21
Sistemas Operacionais
• Diversidade
• Estrutura
– Monolítico
– Em camadas
– Cliente-servidor
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
22
Conceito Básico
Processo
Contexto de processo
Memória
Vídeo
CPU
Teclado
E/S
outros dispositivos





CPU: Registradores
Memória: Posições em uso
E/S: Estado das requisições
Estado do processo: Rodando, Bloqueado, Pronto
Outras informações
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
23
Conceito Básico
Processo
Contexto
Estados de um processo
executar
Criar
Pronto
Rodando
suspender
(tempo)
desbloquear
Bloqueado
Terminar
bloquear (I/O)
ID do Processo
Estado
Prioridade
Program Counter
Ponteiros da Memória
Contexto (regs.)
I/O Status
Informações gerais
• tempo de CPU
• limites, usuário, etc.
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
Criação de Processos
• Principais eventos que levam à criação
de processos
– Início do sistema
– Execução de chamada ao sistema de
criação de processos
– Solicitação do usuário para criar um novo
processo
– Início de um job em lote
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
25
Término de Processos
• Condiçõ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)
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
26
Hierarquias de Processos
• Processo “pai” cria um processo “filho”,
processo filho pode criar seu próprio
processo
• Formam uma hierarquia
– UNIX chama isso de “grupo de processos”
• Windows não possui o conceito de
hierarquia de processos
– Todos os processos são criados iguais (sem
conceito de “pai” e “filho”)
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
27
Conceito
Multiprogramação
a)
b)
c)
Multiprogramação de quatro programas
Modelo conceitual de 4 processos sequenciais,
independentes, mas
Somente um programa está ativo a cada momento –
escalonamento
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
28
Escalonamento de processos
• 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 escalonador, e o algoritmo usado
para tal é chamado de algoritmo de escalonamento
• Para que um processo não execute tempo demais,
praticamente todos os computadores possuem um
mecanismo de relógio (clock) que causa uma
interrupção, periodicamente
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
29
O que vamos ver neste Módulo I?
Conceitos Fundamentais
• Gerenciamento de Processos / Escalonamento
• Entrada e Saída
• Gerenciamento de Memória / Memória Virtual
• Gerenciamento de Disco / Sistemas de Arquivos
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
30
Download

intro-modulo1