Baixe o app para aproveitar ainda mais
Prévia do material em texto
Unidade II: Estruturas do Sistema Operacional INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO SISTEMAS OPERACIONAIS Profª Fabíola Araújo fpoliveira@ufpa.br Objetivos desta Unidade... ▪ Descrever os serviços que um sistema operacional fornece para usuários, processos e outros sistemas; ▪ Apresentar a interface que ele torna disponível para usuários e programadores; ▪ Discutir os componentes de hardware e software gerenciados e suas interconexões; ▪ Explicar como os sistemas operacionais são inicializados; Introdução ▪ Um sistema operacional fornece um ambiente para a execução de programas, pois é, antes de tudo, um gerenciador de recursos; ▪ Também fornece certos serviços para programas e para os usuários desses programas; ▪ Serviços específicos fornecidos diferem de um sistema operacional para outro, mas pode-se identificar classes comuns; ▪ À medida que os computadores evoluem, os SO devem se adaptar às tecnologias emergentes de hardwares e softwares e manter a compatibilidade com uma base já instalada de hardware e software mais antigos; Serviços do Sistema Operacional ▪ Os serviços oferecidos pelos sistemas operacionais são fornecidos visando a conveniência do programador, para tornar mais fácil a tarefa de programar; ▪ Pode-se ter uma representação dos diversos serviços do SO e como eles estão relacionados; Serviços do Sistema Operacional ▪ Um conjunto de serviços do sistema operacional fornece funções que são úteis para o usuário: ✔ Interface de Usuário: Quase todos os SO têm uma interface de usuário, que pode assumir várias formas: Interface de linha de comando Interface gráfica de usuário (GUI) • Interface batch, em que os comandos e suas diretivas de controle são inseridos em arquivos e estes são executados; Serviços do Sistema Operacional ✔ Execução de Programas: O sistema deve ser capaz de carregar um programa na memória e executá-lo, além de poder ser encerrado de forma normal ou anormal (erro); ✔ Operações de E/S: Um programa em execução pode precisar de operações de E/S e isso pode envolver um arquivo ou um dispositivo de E/S; ✔ Manipulação do Sistema de Arquivos: O sistema de arquivos é de especial interesse, pois os programas precisam ler e gravar arquivos e diretórios, além de criar e excluí-los pelo nome. Procurar e listar arquivos específicos; ✔ Comunicações: Processos precisam trocar informações, estando no mesmo computador ou em sistemas diferentes conectados por uma rede. • Também podem ser implementadas através de memória compartilhada ou troca de mensagens; Serviços do Sistema Operacional ✔ Detecção de Erros: Os sistema operacional tem que estar sempre atento a possíveis erros: • Os erros podem ocorrer no hardware da CPU e da memória; em dispositivos de E/S; no programa do usuário; • Para cada tipo de erro, o SO deve tomar a medida apropriada para assegurar o processamento correto e consistente; • Recursos de depuração podem melhorar muito as possibilidades de uso eficiente do sistema pelo usuário e pelo programador; ▪ Existe outro conjunto de funções do sistema operacional cujo objetivo não é ajudar o usuário, e sim assegurar a operação eficiente do próprio sistema; ▪ Sistemas com vários usuários podem ganhar eficiência compartilhando os recursos do computador entre os usuários; Serviços do Sistema Operacional ✔ Alocação de Recursos: Necessidade de alocar recursos quando há vários usuários ou tarefas ativas ao mesmo tempo; ✔ Contabilização: Pode-se controlar quais usuários utilizam que quantidade e que tipos de recursos do computador; • Pode ser para título de responsabilização ou simplesmente para acumulação de estatísticas de uso; ✔ Proteção e Segurança: Necessidade de controlar o uso de informações armazenadas em um sistema de computação multiusuário: • Proteção: Significa garantir que qualquer acesso a recursos do sistema seja controlado; • Segurança: Começa com a exigência de que cada usuário se autentique junto ao sistema ▪ Sistemas operacionais facilitam a programação de aplicações pelo fato de os programadores poderem escrever software que requisitem serviços e recursos, sem precisar escrever códigos para realizar o gerenciamento do dispositivo; ▪ Os SO são escritos para serem independentes da configuração de hardware particular de um sistema; ▪ Necessidade de descrever os componentes de hardware que um sistema operacional gerencia para atender às necessidades de computação de seus usuários; Serviços do Sistema Operacional ▪ Um sistema computacional é um conjunto de circuitos eletrônicos interligados (processador, memórias, registradores, barramentos, impressoras, mouse, etc.); ▪ Todos os dispositivos manipulam dados na forma digital; ▪ Os componentes de um SO são agrupados em três subsistemas básicos, chamados unidades funcionais: Processador, Hierarquia de Memória e Dispositivos de E/S. Dispositivos de Hardware ▪ PLACAS PRINCIPAIS ✔ É um componente de hardware que fornece encaixes e conexões elétricas entre dispositivos em vários lugares da placa, também chamada de placa-mãe; ✔ Possuem diversas camadas, extremamente delgadas de silício, denominadas de pistas, que servem de canais de comunicação, dando conectividade à placa; • Um grande conjunto de pistas formam um canal de comunicação de alta velocidade – barramento (bus). ✔ São incluídos diversos chips de computador para realizar operações de baixo nível: BIOS (Basic Input/Output System); • Armazena instruções para a iniciação e gerenciamento do hardware básico; • Carregar na memória a porção inicial do SO (autocarregamento); Dispositivos de Hardware ▪ PLACAS PRINCIPAIS Dispositivos de Hardware ✔ É um componente de hardware que executa um fluxo de instruções em linguagem de máquina; ✔ A principal função do processador é controlar e executar instruções presentes na memória principal; ✔ Composição do Processador: ▪ PROCESSADOR Dispositivos de Hardware Cache de Dados L1 Unidade Lógica e Aritmética Unidade de Busca/Decodificação Registradores Cache de Instrução L1 Processador Unidade de Controle Unidade de Controle ▪ É responsável por gerenciar as atividades de todos os componentes do computador, como: gravação de dados em discos ou busca de instruções na memória. ▪ Carrega instruções na memória de alta velocidade denominada registradores de instruções, para que o processador possa executá-las rapidamente. Unidade de Decodificação ▪ Interpreta a instrução e passa a entrada correspondente para a unidade de execução executá-la. cache ▪ Memórias de alta velocidade que armazena cópias de dados na memória principal. Aumentam a eficiência do processador habilitando acesso rápido a dados e instruções. ▪ Podem ser: Nível 1 (L1), Nível 2 (L2) ou Nível 3 (L3) ▪ PROCESSADOR Dispositivos de Hardware Unidade de Busca Unidade Lógica e Aritmética Registradores ▪ Executa operações básicas de aritméticas e lógicas, como adição, multiplicação e comparações lógicas. ▪ São memórias de alta velocidade localizadas em um processador que guardam dados para uso imediato pelo processador; ▪ O número de registradores e sua capacidade de armazenamento variam em função da arquitetura do processador; • Processadores de 64 bits podem armazenar 64 bits de dados em cada registrador; ▪ Registradores são conectados ao circuito do processador e localizados fisicamente próximos às unidades de execução. ▪ PROCESSADOR Dispositivos de Hardware Registradores ✔ Registradores de uso geral → Manipulados por Instruções; ✔ Registradores de uso específico → Armazenar informações de controle do processador e do sistema operacional: • Contador de Instruções (Program Counter): Contém o endereço da próxima instrução que o processador deve buscar e executar. • Apontador de Pilha (Stack Pointer): Contém o endereço de memória do topo da pilha, que é a estrutura de dados onde o sistema mantém informações sobre programas que estão sendo executadose tiveram que ser interrompidos; • Registrador de Status: É responsável por armazenar informações sobre a execução de instruções (ocorrência de overflow). ▪ PROCESSADOR Dispositivos de Hardware OBS.: Co-Processador: É projetado para executar eficientemente um conjunto de instruções de finalidade especial. ▪ PROCESSADOR Dispositivos de Hardware http://www.im2.com.br/ ✔ O tamanho e a velocidade da memória são limitadas pelas leis da física e da economia; ✔ O compromisso custo/desempenho caracteriza a hierarquia da memória; ✔ A memória mais veloz e mais cara está no topo e caracteristicamente tem pequena capacidade - Registradores; ✔ A memória mais lenta e menos cara está na base e comumente tem grande capacidade – Disco Rígido (HD - Hard Disk); ○ SSD (Solid State Drive) ■ Mais caras e com capacidade menor do que um disco rígido. ▪ HIERARQUIA DE MEMÓRIA Dispositivos de Hardware SSD Disco Rígido Fita CDs DVDs DRAM SDRAM DDR SRAM SRAM Registradores Cache L1 Cache L2 Memória Principal Armazenamentos Secundários e Terciários Armazenamento Custo/Velocidade ▪ HIERARQUIA DE MEMÓRIA Dispositivos de Hardware ✔ São utilizados para permitir a comunicação entre o sistema computacional e o mundo externo; ✔ Podem ser classificados em duas categorias: Utilizados como armazenamento secundário e Interface Homem-Máquina; ❑ Memória Secundária: Grande capacidade de armazenamento, baixo custo e alto tempo de acesso; ▪ DISPOSITIVOS DE E/S Dispositivos de Hardware ❑ Interface Homem-Máquina: Possuem como finalidade a comunicação do sistema com o mundo exterior, sendo através dessas interfaces que podemos nos comunicar com o sistema e vice-versa. ▪ DISPOSITIVOS DE E/S Dispositivos de Hardware ✔ É um conjunto de conexões elétricas que transportam informações como dados, endereços e sinais de controle que trafegam entre processadores, memórias e dispositivos de E/S; ✔ Para evitar que dois sinais colidam no barramento (processador e canais de E/S), um chip, conhecido como árbitro do barramento prioriza o acesso dos canais de E/S; ✔ Canais de E/S não podem ter o seu trabalho interrompido no meio, pois forçá-los esperar pode levar a perda de dados; ✔ Esse processo é conhecido como roubo de ciclo, que têm influência direta na piora do desempenho do computador. ▪ BARRAMENTO Dispositivos de Hardware ✔ Podem ser: barramentos processador-memória, barramentos de E/S e barramentos de backplane. ❑ Barramentos Processador-Memória: São de curta extensão e alta velocidade para que seja otimizada a transferência de informação entre esses componentes; ❑ Barramentos de E/S: Possuem grande extensão, são mais lentos e permitem a conexão de diferentes dispositivos. ▪ Barramento de Interconexão de Componente Periférico (PCI) que conecta dispositivos periféricos, como placas de som e placas de rede, ao resto do sistema. ❑ Barramentos de Backplane: O barramento de E/S não se conecta diretamente ao barramento processador-memória, tendo este barramento a função de integrar os dois barramentos ▪ BARRAMENTO Dispositivos de Hardware ▪ BARRAMENTO Dispositivos de Hardware ✔ Habilita dispositivos e controladores a transferir blocos de dados para a memória principal, o que libera o processador para executar instruções de software; ✔ Melhora significativamente o desempenho em sistemas que executam grandes números de operações de E/S; ✔ Usa um controlador de E/S para gerenciar transferência de dados entre dispositivos de E/S e a memória principal; ✔ O controlador de E/S gera uma interrupção quando a operação é concluída. ▪ DMA (Direct Memory Access) Dispositivos de Hardware ▪ DMA (Direct Memory Access) Dispositivos de Hardware ▪ Arquitetura de computador contêm recursos que executam funções de SO rapidamente em hardware para melhorar o desempenho; ▪ Também possuem recursos que habilitam o SO a impor rígida proteção, o que melhora a segurança e a integridade do sistema. ✔ Processadores: Implementam mecanismos de proteção impedindo processos de acessar instruções privilegiadas ou de acessar memórias que não lhe foram alocadas (alerta o SO para que o mesmo possa reagir). • Interrupções: Sinal enviado por dispositivos ao processador quando ocorre um evento. • Exceções: São interrupções geradas em resposta a erros, como falha de hardware, erros de lógica e violação de proteção. Suporte de Hardware para Sistemas Operacionais Interrupção ou exceção Salva conteúdo dos registradores na pilha de controle. Identifica a origem do evento Obtém o endereço da rotina de tratamento Restaura o conteúdo dos registradores Rotina de Tratamento Programa ▪ Interrupção Suporte de Hardware para Sistemas Operacionais ✔ Temporizadores: Gera periodicamente uma interrupção que faz o processador invocar o sistema operacional, impedindo que processos monopolizem o processador. ✔ Relógio: Habilita o computador a seguir o horário normal do dia e da noite, com precisão típica de milésimos ou milionésimos de segundo. ✔ Plug and Play: Permite que sistemas operacionais configurem e usem hardware recém-instalados sem interação do usuário. Um dispositivo de hardware Plug and Play: 1. Identifica-se no Sistema Operacional; 2. Identifica os recursos e serviços que requer para funcionar adequadamente; 3. Identifica o seu driver correspondente e permite que o SO o utilize para configurar o dispositivo. Suporte de Hardware para Sistemas Operacionais ▪ Um conjunto de programas utilizado como interface entre as necessidades do usuário e as capacidades do hardware; ✔ Programação inicialmente era rudimentar – linguagem de máquina (profundo conhecimento da arquitetura da máquina); ✔ Surgimento das linguagens de montagem e das linguagens de alto nível (programas não estão prontos para serem executados pelo processador); ✔ Conversão é realizada por um utilitário denominado TRADUTOR. ✔ Existem dois tipos de tradutores: Montador e Compilador. ▪ Tradutor Dispositivos de Software Programa Fonte Tradutor Programa Objeto Linguagem de Montagem Montador Módulo Objeto Linguagem de Alto Nível Compilador Módulo Objeto ▪ Tradutor Dispositivos de Software ✔ É o utilitário responsável por traduzir um programa-fonte em linguagem de montagem para um programa em linguagem de máquina; ✔ A linguagem de montagem é particular para cada processador, assim como a linguagem de máquina; ✔ Programas assembly não podem ser portados entre máquinas diferentes; ▪ Tradutor - Montador Dispositivos de Software LOAD SALARIOBASE ADD HORASEXTRAS STORE PAGTOBRUTO 1300042774 1400593419 1200274027 Linguagem de montagem Linguagem de máquina ✔ É o utilitário responsável por gerar (de um programa escrito em linguagem de alto nível) um programa de linguagem de máquina não executável; ✔ As linguagens de alto nível não tem nenhuma relação direta com a máquina (fica a cargo do compilador); ✔ Programas-fonte podem ser portados entre computadores de diversos fabricantes; ✔ Converte o programa completo para depois ser executado; Ex.: Pascal, Fortran, C, etc. ▪ Tradutor - Compilador Dispositivos de Software PAGTOBRUTO = SALARIOBASE + HORASEXTRAS 1300042774 1400593419 1200274027 Linguagem de montagem Linguagem de máquina código-fonte código-objeto ✔ Durante a execução de um programa, traduz cada instrução (linha a linha) e a executa imediatamente; ✔ Podem traduzir para linguagem baixo nível que não é a linguagem de máquina; ✔ São mais lentos que os compilados. ▪ Desvantagem: Cada vez que o programa for executado, ele precisará ser traduzido e interpretado; ▪ Vantagem: Consumir menos memória; ▪ Linker ✔ É o utilitário responsável por gerar, a partir de um ou mais módulos-objeto, um único programa executável. ✔ Resolve todas as referências simbólicas entre os módulos; ✔ Reserva memória para a execução do programa; Ex.: JavaScript, Python, Perl, etc.▪ Interpretadores Dispositivos de Software ✔ É o utilitário responsávelpor carregar na memória principal um programa para ser executado; ✔ Pode ser: Absoluto ou relocável; • Absoluto: Só necessita conhecer o endereço de memória inicial e o tamanho do módulo para realizar o carregamento; • Relocável: O programa é carregado em qualquer posição da memória (loader fica responsável pela relocação no momento do carregamento) o qual é convertido a partir de endereços relativos; ✔ É o utilitário responsável que permite ao usuário acompanhar toda a execução do programa a fim de detectar erros na sua lógica; Dispositivos de Software ▪ Loader ▪ Depurador ✔ Permite que o usuário se comunique com o sistema operacional; ✔ O usuário pode ter acesso a diversas funções e rotinas específicas do sistema; ✔ O sistema operacional tem que ser carregado da memória secundária para a memória principal (denominado ativação ou boot do sistema); ✔ Também existe o processo de desativação (shutdown), que permite que as aplicações e componentes do SO sejam desativados de forma ordenada (garantindo integridade). Dispositivos de Software ▪ Interpretador de Comandos ▪ Ativação/Desativação do Sistema Dispositivos de Software ✔ O procedimento de iniciar um computador a partir da carga do kernel é conhecido como inicialização do sistema; ✔ Na maioria dos sistemas de computador, um pequeno bloco de código conhecido como programa bootstrap ou carregador bootstrap localiza o kernel, carrega-o na memória principal e inicia sua execução; ✔ Quando a CPU recebe um evento de reinicialização, o registrador de instruções é carregado com uma localização de memória pré-definida e a execução se inicia; ✔ Esse programa se encontra na forma de memória de leitura (ROM), porque a RAM está em um estado desconhecido na inicialização do sistema; ✔ Telefones celulares e consoles de jogos armazenam o sistema operacional inteiro em ROM (SO pequenos). ▪ Inicialização do Sistema Dispositivos de Software ✔ Para sistemas operacionais grandes, o carregador bootstrap é armazenado em firmware e o sistema operacional fica em disco; ✔ O programa bootstrap executa diagnósticos e tem um trecho de código que pode ler um único bloco em uma localização fixa (por exemplo, bloco zero) do disco; ✔ Envia para a memória, esse bloco, e executa o código a partir desse bloco de inicialização; ✔ Dessa forma, o bootstrap pode percorrer o sistema de arquivos para encontrar o kernel do SO, carregá-lo na memória e iniciar sua execução; ✔ Só nesse momento é que se considera o sistema operacional em execução; ▪ Inicialização do Sistema Conclusão ▪ Um sistema operacional é primeiramente um gerenciador de recursos, portanto o projeto desses sistemas está intimamente ligado aos recursos de software e hardware que devem gerenciar; ▪ Entre os componentes de hardware, destaca-se a placa-mãe, onde estão fixados e ligados, todos os componentes físicos que serão gerenciados pelo sistema; ▪ Para um sistema operacional começar a ser executado, a CPU deve ser inicializada e começar a executar o programa bootstrap em firmware; ▪ O programa bootstrap pode executar o sistema operacional diretamente se este também estiver em firmware; ▪ Pode concluir uma sequência em que carregue progressivamente programas mais “inteligentes” a partir do firmware e do disco até o SO ser carregado na memória e executado; ▪ Questões sobre a Estrutura de Sistemas Operacionais. ▪ Entrega pelo SIGAA. ❑ EXERCÍCIO Atividade 02
Compartilhar