BC1518 BC1518 -- SistemasSistemas OperacionaisOperacionais
IntroduIntroduççãoãoAulaAula 0101
22°°°°°°°° QQuadrimestreuadrimestre de 2010de 2010
Prof. Marcelo Z. do Prof. Marcelo Z. do NascimentoNascimentoEmail: Email: [email protected]@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
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 ouuma combinação disso;
• Grande e complexo: necessário uma estrutura do sistema.
Introdução
Sistema Operacional (SO): Diagrama
Compilador Planilhas Editor de Texto SGBD
Sistema Operacional
Hardware docomputador
US3US2US1
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 – paragarantir que recursos como CPU, Memória e E/S sejamutilizados de modo eficiente (compartilhar recursos).
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.
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.
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 reunidasnesse software;
• É o único programa que executa o tempo todo no computador;
Organização do Computador
• Sistema Computacional
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ão-
volatil, como ROM e EEPROM.
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.
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 ouhardware:• 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.
Organização do Computador
Operação do computador: A rotina de serviço de interrupção
Organização do Computador
Operação do computador: A rotina de serviço de interrupção
Mecanismo de interrupções tambémusado para exceções
ex. divisão por zero, acesso a endereço de memória protegida ouinexistente.
� Tabela de ponteiros para rotina de interrupção;� Armazenada na memória baixa (100 primeiras
posições).
Organização do ComputadorProcessador: Pentium Intel
� 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).
Organização do Computador
Processador:
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 namemó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?
Organização do Computador
Armazenamento:
• Unidade de memória apenas visualiza um fluxo de endereços
• Os programas e dados deveriam estarpermanetemente 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
Armazenamento: Disco magnético
• Pratos de vidro ou de metal rígidorevestidos de material magnético de gravação;
• A superfície do disco está logicamentedividida em trilhas (tracks), as quaisestão divididas em setores (sectors);
• O controlador do disco determina a interação lógica entre o dispositivo e o computador.
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).
Organização do Computador
Hierarquia de Armazenamento
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
Organização do Computador
� Vantagens� Concorrente E/S operações. � Permite processamento simultâneo.
� Desvantagens �Implementação mais complexa
Método I/O assíncrono
Organização do Computador
Interrupções de E/S:
� Método assíncrono => após o início de E/S, o controleretorna ao programa sem esperar pela terminação daoperação..
Tabela de estado dos dispositivos
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
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.
Organização do Computador
E/S = Estrutura DMA (Direct Memory Acess)
Organização do Computador
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óriaPrincipal
Dispositivosde E/S
UCPprograma/
tarefa
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.
Arquitetura do Sistema
Computadorizado
Sistemas Multiprocessados:
Arquitetura do Sistema
Computadorizado
UCP UCPMemóriaPrincipal
Dispositivosde E/S
Dispositivosde E/S
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 mestre-
escravos� Multiprocessamento simétrico: cada processador executa
todas as tarefas em um SO.� Exemplo: Windows XP, Mac OS X, Linux.
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;
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.
Arquitetura do Sistema
Computadorizado
UCP UCP
MemóriaPrincipal
MemóriaPrincipal
Dispositivosde E/ S
link de comunicação
Dispositivosde E/ S
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 tarefasalternando entre elas.
• Escalonamento e multiprogramação possibilita aousuário usar parte do computador.
Estrutura do S.O.
• Cada usuário tem pelo menos um programa separado namemó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).
� Os eventos são sinalizados quase sempre pelaocorrê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.
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.
� Instruções Privilegiadas podem ser executadas somente em modo monitor (modo kernel).
monitor
usuário
Chamada de siste
ma
Operação do Sistema
Operação do Sistema
• Temporizador previne que programa de usuário fiquepreso 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émo controle;
– O SO então decide se permitirá usar o recurso por maistempo ou terminá-lo.
Temporizador
� “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, incluindotempo 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).
Gerência de Processos
• O SO é responsável pelas seguintes atividadesrelacionadas à 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
Gerência de Processos
� 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íveiscompartilhados 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.
Gerência de Memória
� O SO é responsável pelas seguintes atividadesrelacionadas à administração da memória principal:
� Manter registro de quais partes da memória estãocorrentemente sendo utilizadas e por quem;
� Decidir que processos carregar quando há espaço disponívelna memória;
� Alocar e desalocar espaço na memória quando necessário.
Gerência de Memória
� O SO abstrai as propriedades físicas de seusdispositivos de armazenamento para definir uma unidadelógica de armazenamento => o arquivo.
� Arquivo é uma coleção de informações relacionadasdefinida pelo seu criador. Geralmente, os arquivosrepresentam programas (tanto em formato fonte comoobjeto) e dados.
� Para guardar os arquivos, a maioria dos SO fornece o conceito de diretório como modo de agrupar arquivos
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ãovolátil).
Gerência de Arquivo
� 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
Sistema de E/S
� Desde que a memória principal é volátil e muito pequenapara acomodar todos os dados e os programaspermanentemente, o sistema computacional deve proverarmazenamento secundário para recuperar a memóriaprincipal;
� A maioria dos sistemas de computação modernosutilizam discos como o principal meio de armazenamentoon-line, tanto para os programas como para os dados.
Gerência de Armazenamento
secundário
� O SO é responsável pelas seguintes atividadesrelacionadas à administração do armazenamentosecundário:
� Administração do espaço livre.
� Alocação de armazenamento (espaço necessário).
� Programação de alocação do disco (fragmentação).
Gerência de Armazenamento
secundário
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ícade substituição pode resultar em um desempenhobastante aumentado.
Caching
Desempenho de vários níveis de armazenamento
� Um sistema distribuído é uma coleção de processadores que não compartilham a memóriaprincipal.
� Ao contrário, cada processador tem sua própriamemória local;
� Os processadores no sistema são conectados através de umarede 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 aumentavelocidade de computação.
Sistema Distribuído
� Uma rede é a via simples de comunicação entre doisou mais sistemas:
� Varia de acordo com o protocolo: maioria dos S.Os suportamTCP/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çãoque permite que diferentes processos em diferentescomputadores troquem mensagem:
� Há comunicação de fornecer a ilusão de que um único SO controla a rede.
Sistema Distribuído
� 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 umarede.
� Computação baseada na Web:
� balanceadores de carga: distribui conexão da rede entre um bancode servidores semelhantes.
Ambiente de Computação
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
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.
Acesse o link abaixo para obté-la:
http://hostel.ufabc.edu.br/~marcelo.nascimento/
Nota de Aula
Top Related