Post on 22-Apr-2015
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