Introdução

Propaganda
BC1518 - Sistemas Operacionais
Introdução
Aula 01
3° Quadrimestre de 2010
Prof. Marcelo Z. do Nascimento
Email: [email protected]
Roteiro
• Introdução
• Funções do S.O.
• Organização do computador
• Arquitetura de sistemas computadorizados
• Estrutura do S.O.
• Operações do sistema
• Ambiente de computação
• Leitura Sugerida
2
Introdução
Sistema Operacional (SO):
• programa que gerencia o hardware do
computador;
• Fornece a base para os programas aplicativos;
• Intermediário entre o usuário e o hardware;
• Projetados para serem convenientes ou eficientes ou
uma combinação disso;
• Grande e complexo: necessário uma estrutura do
sistema.
3
Introdução
Sistema Operacional (SO): Diagrama
US1
Compilador
US2
Planilhas
US3
Editor de Texto
SGBD
Sistema Operacional
Hardware do
computador
4
Funções dos S.O.
Visão do usuário: Interface
• PC
• Projeto para facilitar o uso, com atenção ao desempenho e
nenhuma à utilização do recursos.
• Terminal
• Projetado para facilitar a utilização de recursos – para
garantir que recursos como CPU, Memória e E/S sejam
utilizados de modo eficiente (compartilhar recursos).
5
Funções dos S.O.
Visão do usuário: Interface
• Computadores portáteis:
• Projetados para facilitar a utilização individual;
• Preocupação: desempenho por tempo de vida da bateria.
• Computação embutida em dispositivos
• Projetados para serem executados sem intervenção do
usuário;
• Exemplo: automóveis e dispositivos domésticos.
6
Funções dos S.O.
Visão do sistema: Gerenciador
• Programa envolvido com o hardware
• Alocar recursos;
• Funções: o tempo de CPU, espaço de memória, dispositivos de
E/S;
• Deve decidir como alocá-lo e a quem, de modo que possa operar
de forma eficiente e justa.
• Programa de controle
• Administrar a execução dos programas do usuário para impedir
erros;
• Operação e controle de dispositivos de E/S.
7
Funções dos S.O.
O que é um sistema operacional?
• Como o hardware puro não é fácil de utilizar: as
funções comuns de controle e alocação são reunidas
nesse software;
• É o único programa que executa o tempo todo no
computador;
8
Organização do Computador
• Sistema Computacional
9
Organização do Computador
Operação do computador: Sistema Básico de
Entrada/Saída (Basic Input/Output System – BIOS)
• O BIOS é o primeiro programa executado pelo
computador.
– Sua função é preparar o PC para que o SO, que esta
armazenado em um dispositivo (discos rígidos, disquetes, CDs,
etc) possa ser carregado para memória e iniciado a sua
execução.
• O BIOS é Firmware.
• Software armazenado em uma memória de leitura nãovolatil, como ROM e EEPROM.
10
Organização do Computador
Operação do computador: O Programa inicial –
bootstrap
• Programa carregado durante “power-up” ou “reboot”
pelo BIOS.
• O BIOS transfere o controle para o bootstrap, que
initializa todas as partes do sistema necessário para
carregar o kernel do SO.
• O bootstrap, deverá localizar e carregar o kernel do
SO para memória e inicializar a execução ou ativar um
processo mais complexo (multi-boot);
– Exemplos: GRUB e LILO.
11
Organização do Computador
Operação do computador:
• O S.O. começa a executar o primeiro processo “init” e
espera que ocorra algum evento;
• Evento = interrupções geradas por software ou
hardware:
• Hardware => envia um sinal à CPU (barramento);
• Software => executa uma operação especial (system call ou
monitor call).
• A rotina de serviço de interrupção (função) entra em operação, ao
completar a operação, a CPU retorna a operação interompida.
• Cada arquitetura tem seu próprio mecanismo de interrupção.
12
Organização do Computador
Operação do computador: A rotina de serviço de interrupção
13
Organização do Computador
Operação do computador: A rotina de serviço de interrupção
14
Organização do Computador
Processador: Pentium Intel
Tabela de ponteiros para rotina de interrupção;
Armazenada na memória baixa (100 primeiras
posições).
Mecanismo de
interrupções também
usado para exceções
ex. divisão por zero,
acesso a endereço de
memória protegida ou
inexistente.
15
Organização do Computador
Processador:
Unidade de Controle (UC)
Unidade Lógica e Aritmética (ULA)
Clock (temporizador)
Registradores – armazena dados (estado do programa)
Contador de instruções – contém o endereço da próxima instrução
que o processador deve buscar e executar.
Apontador de pilha – contém o endereço de memória do topo da
pilha, estrutura de dados onde o sistema mantém informação sobre o
programa que está sendo executado e foram interrompidos.
Registrador de Status – responsável por armazenar informações
sobre a execução de instruções (overflow).
16
Organização do Computador
Armazenamento:
• Programas ficam alocados na memória principal;
• memória de acesso aleatória – Random Acess memory – RAM
• utilizam semicondutores chamado memória de acesso aleatória
dinâmica (DRAM) que formam um conjunto de words na
memória;
• cada word tem seu próprio endereço;
• instruções são movidas das words para registradores da CPU
para processamento.
• Como ocorre o armazenamento de instruções?
17
Organização do Computador
Armazenamento:
• Unidade de memória apenas visualiza um fluxo de
endereços
• Os programas e dados deveriam estar
permanetemente na memória
• Problema:
• pequena para armazenar todos os programas;
• dispositivo volátil.
• Memória secundária: utilizada como extensão da RAM
• Mantém grande quantidade de dados
18
Organização do Computador
Armazenamento: Disco magnético
• Pratos de vidro ou de metal rígido
revestidos de material magnético de
gravação;
• A superfície do disco está logicamente
dividida em trilhas (tracks), as quais
estão divididas em setores (sectors);
• O controlador do disco determina a
interação lógica entre o dispositivo e o
computador.
19
Organização do Computador
Hierarquia de Armazenamento
Sistemas de armazenamento são organizados em
hierarquia.
Velocidade
Custo
Volatilidade
Caching copia informação para um sistema mais rápido
de armazenamento;
A memória principal pode ser vista como um cache
rápido para o armazenamento secundário (disco rígido).
20
Organização do Computador
Hierarquia de Armazenamento
21
Organização do Computador
Interrupções de E/S:
Método síncrono => após o início de uma operação E/S,
o controle só retorna após o término dessa operação.
Implementação:
a instrução wait coloca a CPU no estado de
espera até à próxima interrupção.
utilize-se um ciclo tipo espera.
Desvantagens :
• No máximo um pedido E/S é atendido de cada
vez.
• Não existe nenhum processamento E/S
simultâneo.
• Contenção para acesso à memória (Wait).
Método I/O síncrono
22
Organização do Computador
Interrupções de E/S:
Método assíncrono => após o início de E/S, o controle
retorna ao programa sem esperar pela terminação da
operação..
Vantagens
Concorrente E/S operações.
Permite processamento simultâneo.
Desvantagens
Implementação mais complexa
Método I/O
assíncrono
23
Organização do Computador
E/S: Device-status table
contém uma entrada para cada dispositivo E/S,
indicando o tipo, endereço e estado.
O SO indexa a I/O device table para determinar o estado de
dispositivo e modifica a sua entrada na tabela de acordo com a
ocorrência da interrupção.
Tabela de estado dos dispositivos
24
Organização do Computador
E/S: Estrutura DMA (Direct Memory Acess)
hardware que permite a realização de E/S
programado a fim de manter a CPU ocupada única e
exclusivamente com as atividades que requerem
processamento de resultados;
Após ser programado pela CPU realiza uma
transferência de vários blocos de dados de um
dispositivo para a memória:
Somente uma interrupção é gerada por bloco e não por byte;
CPU só interrompida (interrupção) quando todos estes
blocos estiverem no local desejado.
25
Organização do Computador
E/S = Estrutura DMA (Direct Memory Acess)
26
Arquitetura do Sistema
Computadorizado
Sistema Único Processador:
Uma CPU capaz de
executar um conjunto de
instruções de uso geral:
Processadores
de uso
específico (disco,
controladores gráficos, etc)
executam conjunto de
instruções limitadas
UCP
Memória
Principal
programa/
tarefa
Dispositivos
de E/ S
controlador de disco
=> recebe solicitação da CPU e
implementa sua própria fila de
disco e algoritmo de
escalonamento.
Exemplo:
27
Arquitetura do Sistema
Computadorizado
Sistemas Multiprocessados:
Sistemas paralelos ou fortemente aclopados
Possui mais de 1 processador,
Compartilham barramento, o clock e a memória;
Vantagens:
Maior vazão (throughput): tarefa em menos tempo.
Há um custo adicional para funcionar corretamente => o ganho
é inferior a N processadores;
Economia de escala: custo mais reduzido por compartilhar recurso;
Maior confiabilidade: distribui corretamente as funções entre os
diversos processadores, se um falhar náo interrompe o sistema.
28
Arquitetura do Sistema
Computadorizado
Sistemas Multiprocessados:
UCP
Dispositivos
de E/ S
Memória
Principal
UCP
Dispositivos
de E/ S
29
Arquitetura do Sistema
Computadorizado
Sistemas Multiprocessados:
Sistemas tolerantes a falha: pares de CPUs
trabalham em cooperação, ou seja, 2 processadores
executam instruções e comparam os resultados;
Os sistemas podem ser:
mutiprocessamento assimétrico: relacionamento mestreescravos
Multiprocessamento simétrico: cada processador executa
todas as tarefas em um SO.
Exemplo: Windows XP, Mac OS X, Linux.
30
Arquitetura do Sistema
Computadorizado
Sistemas Multiprocessados:
Tendências de Projeto de CPU => múltiplos núcleos
em um único chip – SO aparecem com N
processadores;
31
Arquitetura do Sistema
Computadorizado
Cluster:
Composto de 2 ou mais sistemas acoplados e
conectados por um rede local;
Configurações:
assimétrica:uma máquina em modo hot-standy (monitora o
servidor ativo);
simétrica: 2 ou mais hosts estão executando aplicações e
monitorando um ao outro.
link de comunicação
UCP
Memória
Principal
UCP
Dispositivos
de E/ S
Memória
Principal
Dispositivos
de E/ S
32
Estrutura do S.O.
• Provê um ambiente dentro do qual os programas são
executados;
• Fornece:
• Capacidade de multiprogramar: aumenta capacidade
de uso da CPU, organizando as tarefas do modo que a
CPU sempre tenha uma (Situações da vida =>
Advogado);
• Tempo compartilhado: extensão lógica da
multiprogramação => CPU executa várias tarefas
alternando entre elas.
• Escalonamento e multiprogramação possibilita ao
usuário usar parte do computador.
33
Estrutura do S.O.
• Cada usuário tem pelo menos um programa separado na
memória;
• Programas são carregados na memória.
• Devido ao tamanho: as tarefas são mantidas no disco =>
o escalonador deve decidir quem irá para memória;
• Garantir tempo de resposta razoável => swapping
• Ex.: Memória virtual => permite a execução de um processo que
não está completamente na memória (programas maiores que a
memória física).
34
Operação do Sistema
Os eventos são sinalizados quase sempre pela
ocorrência de uma interrupção ou trap
Compartilhamento de recursos do sistema obriga o
SO a garantir que um programa errado não provoque
execução errônea de outros programas
Provê suporte do hardware para diferenciar entre
dois modos de operação
Modo usuário - execução feita em nome de um usuário
Modo Monitor (também modo supervisor ou modo sistema) −
execução feita em nome do SO.
35
Operação do Sistema
Modo Dual:
Mode bit adicionado ao hardware do computador para
indicar o modo corrrente: monitor (0) ou usuário (1).
Quando uma interrupção ou erro ocorre, o hardware
troca para o modo monitor.
monit
or
usuá
rio
Instruções Privilegiadas podem ser executadas somente
em modo monitor (modo kernel).
36
Operação do Sistema
37
Temporizador
• Temporizador previne que programa de usuário fique
preso com um recurso (CPU).
–
Ex. um loop infinito
• Como trabalha:
–
Antes de passar o controle para o programa de usuário, o
SO configura um tempo com um específico valor;
–
Após o período, uma interrupção é disparada e o SO retém
o controle;
–
O SO então decide se permitirá usar o recurso por mais
tempo ou terminá-lo.
38
Gerência de Processos
“Um processo é um programa em execução”.
Exemplo: um processador de textos executado por um
usuário individual em um PC.
Um processo precisa de certos recursos, incluindo
tempo de CPU, memória, arquivos e dispositivo de E/S
para completar sua tarefa.
Um programa é uma entidade passiva (conteúdo do
arquivo armazenado em disco), enquanto o processo é
uma entidade ativa (contador de programa).
39
Gerência de Processos
• O SO é responsável pelas seguintes atividades
relacionadas à administração de processos:
Criação e deleção de processos (usuário e SO);
Suspensão e reativação de processos;
Provisão de mecanismos para:
Sincronização de processos;
Comunicação de processos;
Fornecer mecanismos para manipulação de deadlock
40
Gerência de Memória
A memória principal é uma grande sequência de
words ou bytes, cada um com o seu próprio endereço.
Ela é o repositório de dados rapidamente acessíveis
compartilhados para CPU e os dispositivos de E/S.
A memória principal é um dispositivo de
armazenamento volátil. Ela perde o seu conteúdo no
caso de falha do sistema.
41
Gerência de Memória
O SO é responsável pelas seguintes atividades
relacionadas à administração da memória principal:
Manter registro de quais partes da memória estão
correntemente sendo utilizadas e por quem;
Decidir que processos carregar quando há espaço disponível
na memória;
Alocar e desalocar espaço na memória quando necessário.
42
Gerência de Arquivo
O SO abstrai as propriedades físicas de seus
dispositivos de armazenamento para definir uma unidade
lógica de armazenamento => o arquivo.
Arquivo é uma coleção de informações relacionadas
definida pelo seu criador. Geralmente, os arquivos
representam programas (tanto em formato fonte como
objeto) e dados.
Para guardar os arquivos, a maioria dos SO fornece o
conceito de diretório como modo de agrupar arquivos
43
Gerência de Arquivo
O SO é responsável pelas seguintes atividades:
Criar e apagar arquivo;
Criar e apagar diretório;
Suportar primitivas para a manipulação de arquivos e
diretórios;
Mapear arquivos em memória secundária;
Copiar arquivos em meio de armazenamento estável (não
volátil).
44
Sistema de E/S
O SO busca ocultar as peculiaridades de dispositivos de hardware
específicos do usuário.
O UNIX esconde as peculiaridades => um subsistema E/S é
utilizado:
Um sistema de buffer-caching;
Uma interface geral de drivers de dispositivos;
Drivers para os hardware específicos dos dispositivos
45
Gerência de Armazenamento
secundário
Desde que a memória principal é volátil e muito pequena
para acomodar todos os dados e os programas
permanentemente, o sistema computacional deve prover
armazenamento secundário para recuperar a memória
principal;
A maioria dos sistemas de computação modernos
utilizam discos como o principal meio de armazenamento
on-line, tanto para os programas como para os dados.
46
Gerência de Armazenamento
secundário
O SO é responsável pelas seguintes atividades
relacionadas à administração do armazenamento
secundário:
Administração do espaço livre.
Alocação de armazenamento (espaço necessário).
Programação de alocação do disco (fragmentação).
47
Caching
• As informações são mantidas na memória principal e a
medida que são utilizadas são copiadas para um
sistema mais rápido de armazenamento – a cache;
• Consulta primeiro a cache, caso não tenha vai até a
memória e faz uma cópia para a cache;
• A seleção cuidadosa de seu tamanho e de sua politíca
de substituição pode resultar em um desempenho
bastante aumentado.
48
Caching
Desempenho de vários níveis de armazenamento
49
Sistema Distribuído
Um sistema distribuído é uma coleção de
processadores que não compartilham a memória
principal.
Ao contrário, cada processador tem sua própria
memória local;
Os processadores no sistema são conectados através de uma
rede de comunicação (LAN);
Um sistema distribuído provê ao usuário acesso a
vários recursos do sistema;
O acesso a um recurso compartilhado aumenta
velocidade de computação.
50
Sistema Distribuído
Uma rede é a via simples de comunicação entre dois
ou mais sistemas:
Varia de acordo com o protocolo: maioria dos S.Os suportam
TCP/IP.
A distância: LAN, WAN, MAN;
Um S.O. de rede provê recursos compartilhados de
arquivo pela rede e inclui um esquema de comunicação
que permite que diferentes processos em diferentes
computadores troquem mensagem:
Há comunicação de fornecer a ilusão de que um único SO
controla a rede.
51
Ambiente de Computação
Computação tradicional
Sistema cliente-servidor:
Servidor de processamento;
Servidor de arquivos.
Sistema peer-to-peer:
serviços fornecidos por vários nós distribuídos por meio de uma
rede.
Computação baseada na Web:
balanceadores de carga: distribui conexão da rede entre um banco
de servidores semelhantes.
52
Aula 01 - Sumário
• Temas abordados:
• Funções do S.O.: Usuário e Sistema
• Organização do computador: recursos
• Arquitetura de sistemas computadorizados: único e
multiprocessados
• Operações do sistema: modo dual
• Estrutura do S.O: Gerenciadores
• Ambiente de computação: cliente/servidor, peer-to-peer
53
Leituras Sugeridas
• Silberschatz, A., Galvin, P. B. Gagne,
G. Sistemas Operacionais com Java.
7º , edição. Editora, Campus, 2008
• Silberschatz, Abraham; Galvin, Peter
Baer; Gagne, Greg. Fundamentos de
sistemas operacionais. 6 ed. Rio de
Janeiro: LTC, 2009.
54
Nota de Aula
Acesse o link abaixo para obté-la:
http://hostel.ufabc.edu.br/~marcelo.nascimento/
55
Download