bc1518-so-introducao [Modo de...
Transcript of bc1518-so-introducao [Modo de...
BC1518 BC1518 -- SistemasSistemas OperacionaisOperacionais
IntroduçãoIntroduçãoAulaAula 0101AulaAula 0101
33°°°°°°°° QQuadrimestreuadrimestre de 2010de 2010
Prof. Marcelo Z. do Prof. Marcelo Z. do NascimentoNascimentoEmail: [email protected]: [email protected]
Roteiro
• Introdução
• Funções do S.O.
• Organização do computador
• Arquitetura de sistemas computadorizados• 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;• 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
US3US2US1
Compilador Planilhas Editor de Texto SGBD
Sistema Operacional
Hardware docomputador
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.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.• 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;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;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. 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ão-
volatil, 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 • 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:• 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
� Tabela de ponteiros para rotina de interrupção;� Armazenada na memória baixa (100 primeiras
posições).
Organização do ComputadorProcessador: Pentium Intel
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
� Unidade de Controle (UC)� Unidade Lógica e Aritmética (ULA)� Clock (temporizador) � Registradores – armazena dados (estado do programa)
Organização do Computador
Processador:
� 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 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óriapermanetemente 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
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
Organização do Computador
• 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
Hierarquia de Armazenamento
� Sistemas de armazenamento são organizados em hierarquia.� Velocidade� Custo
Organização do Computador
� 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
Hierarquia de Armazenamento
Organização do Computador
21
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
Organização do Computador
� 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
� Vantagens
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
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.
Organização do Computador
Tabela de estado dos dispositivos
ocorrência da interrupção.
24
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;
Organização do Computador
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
E/S = Estrutura DMA (Direct Memory Acess)
Organização do Computador
26
Sistema Único Processador:
� Uma CPU capaz de executar um conjunto de instruções de uso geral:�Processadores de uso específico (disco,
Arquitetura do Sistema
Computadorizado
UCPespecífico (disco, controladores gráficos, etc) executam conjunto de instruções limitadas�Exemplo: controlador de disco => recebe solicitação da CPU e implementa sua própria fila de disco e algoritmo de escalonamento.
MemóriaPrincipal
Dispositivosde E/S
UCPprograma/
tarefa
27
Sistemas Multiprocessados:
� Sistemas paralelos ou fortemente aclopados� Possui mais de 1 processador,� Compartilham barramento, o clock e a memória;
Arquitetura do Sistema
Computadorizado
� 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
Sistemas Multiprocessados:
Arquitetura do Sistema
Computadorizado
MemóriaUCP UCP
MemóriaPrincipal
Dispositivosde E/S
Dispositivosde E/S
29
Sistemas Multiprocessados:
� Sistemas tolerantes a falha: pares de CPUs trabalham em cooperação, ou seja, 2 processadores executam instruções e comparam os resultados;
Arquitetura do Sistema
Computadorizado
� Os sistemas podem ser:� mutiprocessamento assimétrico: relacionamento mestre-
escravos� Multiprocessamento simétrico: cada processador executa
todas as tarefas em um SO.� Exemplo: Windows XP, Mac OS X, Linux.
30
Sistemas Multiprocessados:
� Tendências de Projeto de CPU => múltiplos núcleos em um único chip – SO aparecem com N processadores;
Arquitetura do Sistema
Computadorizado
31
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);
Arquitetura do Sistema
Computadorizado
� 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.
UCP UCP
MemóriaPrincipal
MemóriaPrincipal
Dispositivosde E/ S
link de comunicação
Dispositivosde 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 => 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 => • 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
� 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
Operação do Sistema
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
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.
Operação do Sistema
troca para o modo monitor.
� Instruções Privilegiadas podem ser executadas somente em modo monitor (modo kernel).
monitor
usuário
36
Operação do Sistema
37
• Temporizador previne que programa de usuário fique preso com um recurso (CPU).
– Ex. um loop infinito
• Como trabalha:
Temporizador
– 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
� “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
Gerência de Processos
� 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
• O SO é responsável pelas seguintes atividades relacionadas à administração de processos:
� Criação e deleção de processos (usuário e SO);
Gerência 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
� 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.
Gerência de Memória
� A memória principal é um dispositivo de armazenamento volátil. Ela perde o seu conteúdo no caso de falha do sistema.
41
� 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;
Gerência de Memória
� 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
� 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
Gerência de 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
� O SO é responsável pelas seguintes atividades:
� Criar e apagar arquivo;
� Criar e apagar diretório;
Gerência de Arquivo
� 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
� 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;
Sistema de E/S
� Um sistema de buffer-caching;
� Uma interface geral de drivers de dispositivos;
� Drivers para os hardware específicos dos dispositivos
45
� 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;
Gerência de Armazenamento
secundário
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
� O SO é responsável pelas seguintes atividades relacionadas à administração do armazenamento secundário:
Administração do espaço livre.
Gerência de 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 • 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
� 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;
Sistema Distribuído
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
� 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;
Sistema Distribuído
� 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
� Computação tradicional
� Sistema cliente-servidor:
� Servidor de processamento;
� Servidor de arquivos.
Ambiente de Computação
� 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 • 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
Acesse o link abaixo para obté-la:
http://hostel.ufabc.edu.br/~marcelo.nascimento/
Nota de Aula
55