Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Sistemas Operacionais Introdução aos Conceitos Básicos Universidade Federal do Piauí – UFPI Campus Senador Helvídio Nunes de Barros – Picos –PI Bacharelado em Sistemas de Informação 1 Um sistema computacional moderno consiste em um ou mais processadores, memórias, discos e dispositivos de E/S. Os programadores não entendem como cada dispositivo funciona e na maioria das vezes eles não são fáceis de gerenciar e manter o desempenho. Por todas as dificuldades é necessário um dispositivo de software denominado “Sistema Operacional”. O Sistema Operacional (S.O.) oferece um sistema computacional baseado em modelos simples e de fácil utilização, além de gerenciar em alto nível todos os recursos da máquina. 1. Introdução Existem vários Sistemas Operacionais no mercado, os mais conhecidos são: Windows Linux FreeBSD Mac OS Android Google OS O programa com o qual os usuários interagem diretamente e chamado de “shell” (interpretador de comandos) quando baseados em texto, e GUI (interface gráfica com o usuário) quando baseado em formas e ícones. 1. Introdução 2. Panorama do Sistema Operacional A maioria dos Sistemas Operacionais possuem dois modos de Operação: Modo Supervisor: Acesso completo a todo o hardware, pode executar qualquer instrução; Modo Usuário: Apenas subconjuntos de instruções podem ser executadas. Em particular, as instruções que afetam o controle da máquina são proibidas para programas de modo usuário. O Sistema Operacional opera diretamente no hardware, e uma das suas características e que o usuário pode escolher qualquer programa de seu gosto para instalá-lo no mesmo. Ex.: navegadores, processadores de texto, etc. 2. Panorama do Sistema Operacional Uma vez criado um S.O. os seus desenvolvedores dificilmente descartam o seu código-fonte para começar do zero, pelo fato de um programa como este possuir, em média, cerca de 5 milhões de linha de comando, por este motivo eles tem vida longa. 2. Panorama do Sistema Operacional CPU 3. Revisão sobre o Hardware Memórias 3. Revisão sobre o Hardware Disco Magnético 3. Revisão sobre o Hardware Disco Magnético 3. Revisão sobre o Hardware Um endereço de hardware é uma combinação de número de cilindro, número de trilha, número de bloco. O buffer de disco armazena um bloco de disco temporariamente enquanto ele é movido para outro dispositivo. As vezes vários blocos de disco contíguos são transferidos com uma unidade, através de cluster, neste caso o buffer é ajustado para receber esta quantidade de bytes. O mecanismo hardware que lê e grava é a cabeça de leitura e gravação do disco que é acoplada no braço mecânico. 3. Revisão sobre o Hardware Barramento Um barramento, ou bus, nada mais é do que um caminho comum pelo qual os dados trafegam dentro do computador. O tamanho de um barramento é importante pois ele determina quantos dados podem ser transmitidos em uma única vez. Por exemplo, um barramento de 16 bits pode transmitir 16 bits de dado, e um barramento de 32 bits pode transmitir 32 bits de dados a cada vez. 3. Revisão sobre o Hardware Uso de um programa que faz cálculos matemáticos Usuário digita: 10+20*2 UC recebe estes dados UC verifica que precisam ser calculados UC envia para a ULA ULA realiza o cálculo necessário ULA retorna o valor 50 para a UC UC armazena na memória UC mostra o resultado no dispositivo de saída 4. Exemplo de como Funciona o Computador: 5. Memória Virtual Na gerência de memória convencional feita pelo S.O. as páginas ou segmentos (unidades) de um programa são todos carregados para MP (memória principal) antes de sua execução. Devido a localidade, um programa só precisa de algumas dessas unidades em um dado momento: É possível gerenciar a memória de forma que só unidades necessárias em um dado momento estejam na MP. Memória física pode ser melhor aproveitada, sendo possível: Executar um programa maior que a MP; Executar vários programas “ao mesmo tempo” que somados são maiores que a MP. UCP gera endereços para espaço de endereçamento lógico maior que tamanho da MP física (daí o nome virtual). Quando você liga o computador, o primeiro programa executado é, geralmente, um conjunto de instruções armazenadas na memória ROM. Este código examina o hardware do sistema para ter certeza de que tudo está funcionando corretamente. Este autoteste, conhecido como POST ele verifica a CPU, a memória, a BIOS (Sistema de Entrada e Saída Binário ), procura por erros e armazena o resultado em uma memória especial. 15 6. A Inicialização do Sistema Operacional Ao completar o POST, o software é carregado na memória ROM (às vezes chamado de BIOS ou firmware) ativa as unidades de disco do computador. Na maioria dos computadores modernos, quando o computador ativa o disco rígido ele encontra o trecho inicial do sistema operacional, conhecido como bootstrap loader (sistema de inicialização). 16 6. A Inicialização do Sistema Operacional O bootstrap loader é um pequeno programa que tem uma única função. Ele carrega o sistema operacional na memória e permite que ele comece a operar. 17 6. A Inicialização do Sistema Operacional 18 7. Tipos de Sistemas Operacionais Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Sistemas Multiprogramáveis / Multitarefa Sistemas com Múltiplos Processadores Execução de um único programa. Qualquer outro programa, para ser executado, deveria aguardar o término do programa corrente. Tipicamente relacionado ao surgimento dos mainframes. 19 7.1 Sistemas Monoprogramáveis / Monotarefa Mais complexos e mais eficientes. Vários programas dividem os mesmos recursos. Aumento da produtividade dos seus usuários e a redução de custos. 20 7.2 Sistemas Multiprogramáveis / Multitarefa Caracterizam por possui duas ou mais UCPs interligadas, trabalhando em conjunto; Fortemente Acoplado: dois ou mais processadores compartilhando uma única memória e controlados por apenas um único S.O. Fracamente Acoplado: Dois ou mais sistemas de computação interligados, sendo que cada sistema possui o seu próprio S.O. 21 7.3 Sistemas com Múltiplos Processadores Projetos de S.O. usados na prática: Sistema Monolítico Sistema de Camadas Micronúcleo Sistema Cliente-Servidor Máquinas Virtuais Exonúcleo 8. Estrutura de um S.O. O S.O. é executado como um único programa. As rotinas possuem interfaces definidas e cada uma tem a liberdade de chamar qualquer outra. Os arquivos-objetos estão ligados (linker), onde não existe ocultação de informações, todas as rotinas são visíveis as outras. Estrutura de chaveamento. Para cada chamada existe uma rotina de serviço. Suporte a extensões carregáveis (Ex.: drives de E/S, sistemas de arquivos, etc.). 8.1Sistema Monolítico 8.1 Sistema Monolítico Este tipo de S.O. é desenvolvido em hierarquias de camadas. O nível mais baixo é o hardware e o nível mais alto é a interface. Uma camada se relaciona com a outra abaixo; Este tipo de sistema tem uma grande desvantagem, o tempo de espera por resposta do sistema é custoso, pelo fato das requisições passarem por todas as camadas abaixo do nível solicitante (overhead). A única vantagem destes sistemas é o controle maior sobre o hardware. 8.2 Sistemas em Camadas 8.2 Sistemas em Camada Ideias expressivas de melhorias do sistema monolítico e sistema de camadas. Impulsionado pela quantidades de erros no código-fonte do sistema que possivelmente pode parar a execução do mesmo. Este projeto visa alcançar alta confiabilidade por meio da divisão do S.O. em módulos pequenos, bem definidos, onde apenas um desses módulos – o micronúcleo – é executado e o restante é executado como processos de usuários. Se executado um único módulo é possível minimizar as chances de acontecer erros catastróficos. 8.3 Micronúcleo Não implementa política de processos e sim mecanismos de execução. Um algoritmo de escalonamento de processos atribui prioridades a processos, sequencialmente, faz com que o núcleo execute o de maior prioridade: mecanismo: procura o processo (no núcleo). política: pode ser feita de acordo com processo de usuários. 8.3 Micronúcleo Ligeira variação do micronúcleo. Duas classes de processos: cliente e servidor. A comunicação entre cliente e servidor e feita através de mensagens. O processo cliente cria uma mensagem dizendo o que deseja e o servidor executa e envia retorno. Este projeto pode ser implementado em uma única máquina executando os dois tipos de processos ou em máquinas diferentes, conectadas através de uma rede local ou não. A sistemática e semelhante a nossa WEB de hoje. 8.4 Sistemas Cliente-Servidor 8.4 Sistemas Cliente-Servidor Estes sistemas compartilham o tempo da CPU (sistema de tempo compartilhado). Nestes modelo é criado uma camada intermediária entre o S.O. e o hardware. O monitor de máquina virtual (hypervisor) é executado diretamente no hardware e implementa a multiprogramação, provento não uma única máquina, mas várias máquinas virtuais. Cada máquina virtual é uma cópia exata do hardware e cada uma delas pode executar diferentes sistemas operacionais. 8.5 Máquinas Virtuais 8.5 Máquinas Virtuais Em vez de clonar a máquina real, outra estratégia seria dividi-las e dar a cada usuário um subconjunto de recursos. Este modelo implementa a execução de um programa em modo núcleo denominado exonúcleo. Sua principal função e alocar recursos e assegurar que cada máquina virtual não tente executar recursos de outra. Cada máquina poderá executar qualquer S.O. como no modelo anterior, porém cada uma está restrita a usar somente o que pediu e os que foram alocados. Separa com menor custo a multiprogramação. 9. Exonúcleo 9. Exonúcleo Grande avanços são constatados em pesquisas sobre S.O. Novos dispositivos surgem todos os dias e precisam de uma ferramenta de software para gerenciar. Melhoria na utilização de dispositivos existentes. Estima-se que quase todos os dispositivos necessitarão de um S.O. 10. Estudos em S.O.
Compartilhar