Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Introdução (Módulo I)...

Preview:

Citation preview

1Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Introdução(Módulo I)

Infra-Estrutura de Softwarehttp://www.cin.ufpe.br/~if677

1. O que é um sistema operacional2. História dos sistemas operacionais3. Os vários tipos de sistemas operacionais4. Estrutura de sistemas operacionais

Principal fonte:

2Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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.

3Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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?

4Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistema de Computação

• Um sistema de computação consiste em– hardware– programas do sistema– programas de aplicação

5Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

6Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

7Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

8Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Estrutura de um job típico (lote de cartões) – 2a. geração

História dos Sistemas Operacionais (3)

9Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Sistema de multiprogramação – Três jobs na memória – 3a. geração

História dos Sistemas Operacionais (4)

10Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

11Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Revisão sobre hardware de computadores (1)

Componentes de um computador pessoal simples

Bus

12Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Software, hardware e comunicação

Bus

Rede

Ger. Disco/Sist. Arq.Ger. E/SGer.

MemóriaGer.

Processos

Sub-sist.Comunicação SOIn

fraS

WIn

fraH

WIn

fraC

om

•Como funciona um programa?•Como funcionam dois programas ao mesmo tempo?•E se estiverem cooperando, mas em máquinas diferentes interligadas em rede?

13Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Revisão sobre hardware de computadores (2)

• Típica hierarquia de memória– números mostrados são apenas aproximações

14Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

15Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Estrutura de Sistemas Operacionais (1)

Modelo simples de estruturação de um sistema monolítico

SO = um processo com n procedimentos

16Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Estrutura de SistemasOperacionais (2)

Estrutura em camadas

Usuário

Aplicativos

Utilitários

Sistema Operacional

Computador (Hardware)

• Modularidade• Hierarquia• Facilita evolução e

adaptação a novos ambientes

17Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Estrutura de SistemasOperacionais (3)

O modelo cliente-servidor

18Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Estrutura de SistemasOperacionais (4)

O modelo cliente-servidor em um sistema distribuído

19Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Revisão

20Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

21Pearson Education Sistemas Operacionais Modernos – 2ª Edição

O que é um Sistema Operacional?

• É uma máquina estendida (uma abstração do hardware)

• É um gerenciador de recurso

22Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistemas Operacionais

• Diversidade

• Estrutura– Monolítico– Em camadas– Cliente-servidor

23Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Conceito BásicoProcesso

Contexto de processoVídeo

TecladoCPUCPU

Memória

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

Conceito BásicoProcesso

Estados de um processo

Pronto Rodando

Bloqueado

Criar Terminar

bloquear (I/O)desbloquear

ID do ProcessoEstado

Program CounterPonteiros da Memória

Contexto (regs.)I/O Status

Prioridade

Informações gerais• tempo de CPU• limites, usuário, etc.

Contexto

executar

suspender(tempo)

25Pearson 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

26Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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)

27Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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”)

28Pearson Education Sistemas Operacionais Modernos – 2ª Edição

ConceitoMultiprogramação

a) Multiprogramação de quatro programasb) Modelo conceitual de 4 processos sequenciais,

independentes, masc) Somente um programa está ativo a cada momento –

escalonamento

29Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

30Pearson Education Sistemas Operacionais Modernos – 2ª Edição

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

Recommended