Computação L1: Infra-Estrutura Básica Sérgio Cavalcante svc@cin.ufpe.br

Preview:

Citation preview

Computação L1:Computação L1:

Infra-Estrutura BásicaInfra-Estrutura Básica

Sérgio Cavalcantesvc@cin.ufpe.br

Hardware,Software eComunicação

HardwareHardware

SistemaOperacional

Software de Suporte

Software Aplicativo

Pra quê software básico? O que acontece quando ligamos o computador? E quando “clicamos” num ícone? Como funcionam dois programas ao mesmo

tempo? E se estiverem cooperando mas em máquinas

diferentes interligadas em rede? Como ocorre o mapeamento de discos? E se dois programas quiserem usar o mesmo

recurso?

Escalonamento de Processos

Módulo 1

Conceitos Básicos Introdução aos Sistemas Operacionais Gerenciamento de Processos /

Escalonamento Gerenciamento de Memória / Memória

Virtual Entrada e Saída Gerenciamento de Disco / Sistemas de

Arquivos

Conceitos Básicos

Introdução aos Sistemas Operacionais

O que é um sistema operacional?

Um gerenciador de recursos.

- Permite uma utilização simples, eficaz e segura dos recursos do sistema computacional- Oferece uma interface para o usuário

Que recursos são esses?Que recursos são esses?

Conceitos Básicos

Tarefas do S.O. Permite o armazenamento e recuperaçao de informações Isola detalhes de hardware Controla o fluxo de dados entre componentes Permite que um programa seja executado sem

interferência de outros Permite cooperação entre programas Interage com o(s) usuário(s) Escalona e controla recursos Responde a erros do sistema Realiza contabilidade do uso do sistema (cobrança,

performance)

Conceitos Básicos

Tipos de S.O. Sistemas batch (em lote) Sistemas interativos Monotarefa Multitarefa Monousuário Multiusuário Máquinas virtuais Sistemas de tempo real Estrutura: Monolíticos X Em camadas

Conceitos Básicos

Tipos de S.O. Sistemas batch (em lote)

• Cartões perfurados

Sistemas interativos• Terminais de usuários

Conceitos Básicos

Tipos de S.O. Monotarefa Executam apenas uma tarefa por vez.

• O que é uma tarefa?

• O que são Processos?• Antes, o que é um programa?

Processos são programas em execuçãoProcessos são programas em execução.São geralmente chamados de tarefas

• O que são Threads?

Threads são partes de um programa que executam em paralelo.Threads são partes de um programa que executam em paralelo.

• Qual a diferença entre multitasking (multitarefa) e multithreading?

Conceitos Básicos

Processos Contexto de processos

Vídeo

TecladoCPUCPUCPUCPU

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

Conceitos Básicos: Processos

Registradores da CPU Registradores de controle e status

• Acesso geralmente restrito ao S.O. ou à própria CPU• Ex: Program Counter (PC),

Instruction Register (IR), Program Status Word (PSW)

• Resultados de operações• Modo supervisor / usuário• Habilitação / desabilitação de interrupção

Registradores de uso geral• O usuário tem acesso• Armazenam dados endereços e resultados de operações

Conceitos Básicos

Processo Estados de um processo

Pronto Rodando

Bloqueado

CriaçãoTérmino

Esperandoevento

Eventoocorreu

ID do Processo

Estado

Program Counter

Ponteiros da MemóriaContexto (regs.)

I/O Status

Prioridade

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

Contexto

Conceitos Básicos

Tipos de S.O. Monotarefa Multitarefa Monousuário Multiusuário

Como evitar que um processo monopolize o sistema?

Sistemas de tempo compartilhado (Time Sharing Systems)• Permite sistemas interativos• Requer temporizadores (timers )• Interrupções

Conceitos Básicos: Tipos de S.O.

MultiprocessamentoÍnd. Processo

PC

BaseLimite

Outros regs

Lista de

proc.

Proc. A.

Proc. B.

O índice do processo contem o apontador para a lista de processos

Uma troca de processos consiste em trocar o valor dos registradores de contexto da CPU

Memória

...

...

...

Contexto

Dados

Código

Contexto

Dados

Código

Regs da CPU

Conceitos Básicos: Tipos de S.O.

O que é necessário para haver multiprocessamento? Suporte do Hardware

• Temporizadores (timers )• Interrupções• Gerenciamento de memória• Proteção de memória

Suporte do S.O.• Escalonamento dos processos• Alocação de memória• Gerenciamento dos periféricos

Conceitos Básicos:

A importância da Interrupção Numa sistema simples,

CPU deve esperar a execução do comando de E/S• A cada chamada do

comando write a CPU fica esperando o dispositivo executar o comando.

Ex: escrita em disco

Conceitos Básicos:

A importância da Interrupção Um sistema com

interrupção não fica esperando• A CPU solicita o write e

fica exectando outras tarefas até ser interrompida pelo disco.

Ex: escrita em disco

Conceitos Básicos

Operação Básica da CPU

Busca instruçãoe dados

Busca instruçãoe dados

Executa a instruçãoExecuta a instrução

Incrementa PCIncrementa PC

1) Pára o processo atual2) Salta p/ rotina de interrupção

1) Pára o processo atual2) Salta p/ rotina de interrupção

Sim

NãoInterrupção?

Conceitos Básicos

Interrupção do Programa

Conceitos Básicos: Tipos de S.O.

Como identificar e tratar erros? Uso de exceções

• Interrupções causadas por:• Divisão por zero• Erro de código de instrução• Acesso indevido de memória• Acesso indevido a dispositivos de E/S• ...

Conceitos Básicos:

Como evitar que um processo interfira em outros (inclusive no SO) ? Níveis diferentes de prioridade para os processos:

• Modo supervisor (administrador)• Modo usuário

Restrição (por hw) de acesso a certas Instruções (privileged instructions)• Instruções de E/S• Modificação de certos registradores

Gera uma exceção se tentado por processo do usuário

Conceitos Básicos:

Como executar programas maiores que a memória principal? Uso de memória virtual Áreas do disco são usadas para armazenamento de

blocos do programa. Apenas os blocos em uso ficam na memória principal Quando necessário, trocam-se os blocos da memória

com o disco (swap)

Estrutura do S.O.

Usuário

Aplicativos

Utilitários

Sistema Operacional

Computador (Hardware)

Monolítico Em camadas

Estrutura em camadas Modularidade Hierarquia Facilita evolução e adaptação a novos

ambientes

Recommended