BC1518 - Sistemas Operacionais Introdução Aula 01 3 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br
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 US2 US3 Compilador Planilhas Editor de Texto SGBD Sistema Operacional Hardware do computador 4
Visão do usuário: Interface Funções dos S.O. 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
Visão do usuário: Interface Funções dos S.O. 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
Visão do sistema: Gerenciador Funções dos S.O. 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
Armazenamento: Organização do Computador 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
Armazenamento: Organização do Computador 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
Interrupções de E/S: Organização do Computador 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 Organização do Computador 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
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 Exemplo: controlador de disco => recebe solicitação da CPU e implementa sua própria fila de disco e algoritmo de escalonamento. Arquitetura do Sistema Computadorizado Memória Principal UCP Dispositivos de E/ S programa/ tarefa 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 Sistemas Multiprocessados: Computadorizado UCP Memória Principal UCP Dispositivos de E/ S Dispositivos de E/ S 29
Sistemas Multiprocessados: Arquitetura do Sistema Computadorizado 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
Sistemas Multiprocessados: Arquitetura do Sistema Computadorizado Tendências de Projeto de CPU => múltiplos núcleos em um único chip SO aparecem com N processadores; 31
Cluster: Composto de 2 ou mais sistemas acoplados e conectados por um rede local; Configurações: 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. link de comunicação UCP UCP Memória Principal 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
Modo Dual: Operação do Sistema 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
Silberschatz, A., Galvin, P. B. Gagne, G. Sistemas Operacionais com Java. 7º, edição. Editora, Campus, 2008 Leituras Sugeridas 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