690 likes | 979 Views
SISTEMAS OPERATIVOS. SOFTWARE. Conjunto de instruções ou programas capazes de fazerem funcionar o HARDWARE Software de SISTEMA Software de APLICAÇÃO. SOFTWARE de APLICAÇÃO. Engloba todos os programas que efectuam tarefas mas que não têm acesso directo aos recursos da máquina.
E N D
SOFTWARE • Conjunto de instruções ou programas capazes de fazerem funcionar o HARDWARE • Software deSISTEMA • Software de APLICAÇÃO
SOFTWARE de APLICAÇÃO • Engloba todos os programas que efectuam tarefas mas que não têm acesso directo aos recursos da máquina. • Processadores de Texto, Folhas de Cálculo, Programas de Desenho, Jogos, entre outros.
Conceito de Sistema Operativo • Sistema Operativo • Pode ser definido como um conjunto de programas que permitem uma interacção simplificada entre o utilizador e a máquina Aplicações Utilizador Sistema Operativo Dispositivos físicos Hardware
SISTEMA OPERATIVO • Responsável por gerir os recursos de Hardware • Tornar os recursos de Hardware acessíveis ao utilizador e ao Software de aplicação • Composto por Utilitários de Sistema, Controladores de Dispositivos, Compiladores de Linguagem, entre outros
SISTEMA OPERATIVO • 1ª camada (e indispensável ) de Software • Gere o processador, memória, comunicação entre componentes internos e periféricos • Controla e atribui recursos físicos da máquina segundo as solicitações das diversas aplicações • Responsável pela organização e fiabilidade de armazenamento dos dados de uma forma hierárquica nos vários suportes de armazenamento.
Funções do Sistema Operativo Um sistema operativo possui as seguintes funções: • gestão de processos; • gestão de memória; • sistema de arquivos; • entrada e saída de dados.
Funções do Sistema Operativo Gestão de processos • O sistema operativo multitarefa é preparado para dar a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que pensamos que a sua execução é simultânea. • São utilizados algoritmos para determinar qual o processo que será executado em determinado momento e por quanto tempo.
Funções do Sistema Operativo Gestão de memória Os algoritmos de alocação de memória devem ter como objectivo reduzir a fragmentação da memória • First Fit - Aloca o primeiro pedaço de memória livre que tenha espaço suficiente • Best Fit - Aloca o pedaço de memória livre mais pequeno mas com espaço suficiente para conter os dados • Worst Fit - Aloca o maior pedaço de memória livre
Funções do Sistema Operativo Sistema de arquivos • Funções do Sistema de Gestão de Ficheiros: • Criar/Apagar ficheiros e directórios • Operações de leitura e escrita em ficheiros • Mapeamento dos ficheiros no disco • Escalonamento do acesso ao disco • Protecção de acesso aos ficheiros
Funções do Sistema Operativo Gestão de I/O A implementação das operações de I/O é complexa, uma vez que interactuam com o hardware dos dispositivos. Uma das principais funções do SO é esconder as especificidades do hardware ao utilizador • Implementado através de Device Drivers Componentes de I/O: • Sistema de buferização, caching e spooling • Interface genérica para device drivers • Device Drivers específicos
SISTEMA OPERATIVO • Parte visível do sistema operativo com a qual o utilizador interage • CLI (“Command Line Interface”) • Ecrã de texto em que os comandos são digitados manualmente através de uma linha de comando • GUI (“Graphics User Interface”) • Interacção com o utilizador é feita através de um ambiente gráfico • Comandos inseridos através de acções com outros dispositivos (rato, touchpad...) para além do teclado
Conceito de Sistema Operativo • O Sistema Operativo pode ser visto como • Máquina virtual • Dar ao utilizador a ilusão de dispor de uma máquina muito mais fácil de utilizar e programar do que o hardware. • Gestor de recursos • Efectuar a gestão dos diversos componentes da arquitectura de um computador, impondo ordem na atribuição de recursos aos programas. • Tirar máximo partido dos recursos disponíveis • Tempo de CPU, memória, etc
Conceitos de processador e processo • Processador e Processos • Um processo é basicamente um programa em execução • Num sistema multi-programado, vários processos podem estar a correr simultaneamente • Contudo, quando existe um só processador, apenas um processo pode utilizá-lo em cada instante • Os processos concorrem pelo processador e cooperam entre si para realizar tarefas mais complexas
Conceitos de processador e processo • Processador e Processos • Processador (CPU) • Elemento activo do sistema que executa processos • Modo utilizador (User Mode) • Disponível um subconjunto das instruções do CPU. É neste modo que correm as aplicações • Modo núcleo (Kernel Mode) • Modo privilegiado do processador, para o qual todas as instruções estão disponíveis. Só o Sistema Operativo é que tem acesso a este modo
Conceitos associados • Memória e Gestão de memória • Divisão estruturada da memória de modo a ser possível o carregamento de diversos programas na memória principal • Colocação e Protecção • Existência de mecanismos que permitam o crescimento da memória de dados de um programa • Reserva de memória • Gestão do espaço de endereçamento de modo a que se possa ter uma capacidade de memória superior à da memória principal (a RAM) • Memória Virtual
Conceitos associados • Hierarquia da memória
Conceitos associados Sistemas mono-programados e multi-programados
Conceitos associados Sistemas de ficheiros • Gestão da informação não-volátil armazenada em memória secundária (discos, tapes) • Providenciar um nível de abstracção para que o utilizador não se preocupe com os detalhes da utilização de discos, disquetes, etc. • Chamadas ao sistema: • Criação, remoção, cópia, escrita e leitura de ficheiros
Conceitos associados • Estrutura hierárquica (em árvore) - directórios
Conceitos associados • Periféricos e I/O • Gestão das operações de escrita e leitura nos diversos periféricos • Teclado, impressora, terminais de texto e gráficos, discos, etc. • Tratamento de interrupções e de erros • Device drivers • Programas para gestão de periféricos específicos
Sistemas Operativos Classificação
Classificação de SOs • Multi-utilizador • O tempo de processamento do CPU de um computador pode ser partilhado por mais do que um utilizador de forma interactiva. • Unix, Linux • Mono-utilizador • O CPU só pode estar dedicado de forma interactiva a um conjunto de processos do mesmo utilizador • MS-DOS, todos os Windows
Classificação de SOs • Multi-programação • Capacidade de correr vários programas simultaneamente (em concorrência) • Unix, Linux, todos os Windows • Mono-programação / Processamento por lotes • Cada programa monopoliza o processador até terminar • Spectrum • DOS
Classificação de SOs • Dedicado • Sistema Operativo projectado para aplicações específicas • Exemplos: • Controlo de uma linha de montagem - SOs em tempo real • Gestão de transacções numa companhia aérea - SOs para Mainframes • Interface para um telemóvel – SO embedded • Uso geral • Projectados para uma fácil utilização • Permitem a execução de uma grande variedade de programas • Reconhecem uma grande diversidade de periféricos
Classificação de SOs • Centralizado • O Sistema Operativo cria uma máquina virtual sobre um único computador • Distribuído • O Sistema Operativo que corre sobre um conjunto de computadores, dando a ilusão de que este conjunto é uma entidade única • Sistemas distribuídos puros • Sistemas em rede • Sistemas multi-processador
Arquitectura • Quando se desenvolve um sistema operativo, são obrigatoriamente observados pelo menos dois tipos de requisitos: • REQUISITOS DE UTILIZADOR Procura-se um sistema fácil de utilizar, com uma aprendizagem fácil, rápido e suficientemente dinâmico para se adaptar às tarefas a que se destina. • REQUISITOS DE SOFTWARE Procura-se facilidade de manutenção, forma de funcionamento, restrições de utilização, eficiência, tolerância ou intolerância a erros e flexibilidade.
Arquitectura • Para além dos requisitos a observar, também a sua estrutura varia, sendo as estruturas mais comuns: • Estrutura MONOLÍTICA • Estrutura MODULAR
Arquitectura • Estrutura MONOLÍTICA É o tipo de estrutura que caracterizava os primeiros sistemas operativos, composto por um único programa e sub-rotinas. As suas características são: • Programa Final resultado da Linkagem de módulos compilados separadamente • Boa definição de parâmetros de ligação entre rotinas o que permite índices maiores de acoplamento. • Precisam de protecções e previlégios de execução das rotinas de manipulação de recursos de sistema • Geralmente são sistemas desenvolvidos à medida, o que resulta numa elevada eficiência mas baixa flexibilidade.
Arquitectura • Estrutura MONOLÍTICA Nível de Procedimento Principal Nível de Procedimento de Serviços Nível de Procedimento de Utilidades e Utilitários
Modelos de Sistemas Operativos • Monolítico • O exemplo mais comum de sistema operativo, no qual aparentemente não existe estrutura... • Qualquer função do sistema operativo pode comunicar com qualquer uma das outras.
Modelos de Sistemas Operativos • Camadas (Layers) • O SO encontra-se estruturado segundo um conjunto de camadas funcionais • Cada camada utiliza serviços de camadas que lhe são interiores • Em suma, cada camada é uma máquina virtual com uma interface bem definida • À camada mais baixa (gestão de processos) corresponde o núcleo do sistema operativo
Modelos de Sistemas Operativos • Camadas (Layers)
Modelos de Sistemas Operativos • Modular • O SO encontra-se organizado segundo módulos à volta de um núcleo (kernel) • O núcleo é geralmente pequeno (Micro-kernel), comunicando com o hardware e estabelecendo a comunicação entre os diversos módulos • Pode introduzir-se o conceito de processo cliente e de processo servidor que correm em modo utilizador • Facilmente adaptável a sistemas distribuídos • Estrutura mais estável
Modelos de Sistemas Operativos • Modular
Modelo de um SO • Modular (Cliente-Servidor)
Sistemas Operativos • Como vimos, o Hardware de um computador comporta a possibilidade de executar diferentes funções mediante as instruções que lhe são fornecidas • Quando o Computador é ligado, a CPU vai à primeira posição de memória procurar as primeiras instruções que deve executar. • A primeira posição de memória está alojada em ROM e o código chama-se Firmware • O Firmware contém as instruções necessárias ao arranque da máquina e serve de base para o funcionamento do Sistema Operativo
Sistemas Operativos Por definição, o BIOS (Basic Input Output System) ou Sistema Básico de Entrada e Saída é um circuito ROM no qual residem as instruções básicas necessárias para o arranque do sistema. É possível alterar alguns parâmetros de configuração de baixo nível acedendo ao setup da BIOS, durante o arranque.
Sistemas Operativos Quando inicializamos o sistema, a BIOS conta a memória disponível, identifica dispositivos plug-and-play e realiza uma verificação geral dos componentes instalados. Este procedimento é chamado POST e destina-se a verificar se existe algo de errado com algum componente, além de verificar se foi instalado algum dispositivo novo. Somente após o POST, a BIOS entrega o controle do computador ao Sistema Operativo.
Sistemas Operativos Surge então a mensagem: “Iniciando o Windows .....”, dependendo do sistema operativo instalado. Após o término do POST, a BIOS emite um relatório com várias informações sobre o hardware instalado. Este relatório é uma maneira fácil e rápida de verificar a configuração de um computador. Para parar a imagem tempo suficiente para conseguir ler as informações, basta pressionar a tecla “pause/break”.
Sistemas Operativos As configurações da BIOS encontram-se guardadas na CMOS, Complementary Metal Oxide Semicondutor, que é uma memória volátil (perde os dados quando deixa de ser alimentada electricamente), é composta por cerca de 128 ou 256 bytes de RAM. Sempre que o computador é ligado a BIOS lê a CMOS recebendo então os valores guardados. Na BIOS reside a primeira camada de software de sistema (o Firmware) que é responsável pelas configurações iniciais da máquina e o reconhecimento dos vários subsistemas (CPU, FD e HDs, Memória, sistema de vídeo…)
Sistemas Operativos Entre outras funções o papel mais importante do BIOS é o carregamento do sistema operativo. Quando o computador é ligado e o microprocessador tenta executar a primeira instrução, ele tem que obtê-la de algum lado. Não é possível obter essa instrução do sistema operativo, porque este está localizado no disco rígido, e o microprocessador não pode comunicar com ele sem que algumas instruções o digam como fazê-lo. É o BIOS o responsável por fornecer essas instruções.
Sistemas Operativos Quando o computador é ligado, o BIOS segue a seguinte sequência: • Verifica as informações armazenadas numa pequenissima memória RAM, que se localiza num chip fabricado com tecnologia CMOS. A memória CMOS armazena informações relativas à configuração de hardware, que podem ser alteradas de acordo as mudanças do sistema. Essas informações são usadas pelo BIOS para modificar ou complementar a sua programação padrão, conforme necessário.
Sistemas Operativos 2. POST (Power-On Self-Test ou Autoteste de Arranque), que são os diagnósticos e testes realizados aos componentes físicos (disco rígido, processador, etc). Os problemas são comunicados por uma combinação de sons (bipes) numa determinada sequência e se possível, exibidos no ecrã. O manual do fabricante permite a identificação do problema descrevendo a mensagem que cada sequência de sons representa.
Sistemas Operativos 3. Activação de outros BIOS presentes em dispositivos instalados no computador (ex. discos SCSI e placas de vídeo). 4. Descompactação para a memória principal. Os dados, armazenados numa forma compactada, são transferidos para a memória, e só aí descompactados. Isso serve para evitar a perda de tempo na transferência dos dados.
Sistemas Operativos 5. Leitura dos dispositivos de armazenamento, cujos detalhes e ordem de inicialização são armazenados na CMOS. Se há um sistema operativo instalado no dispositivo, no seu primeiro sector (o Master Boot Record) estão as informações necessárias para o BIOS a encontrar (este sector não deve exceder 512 bytes).
Sistemas Operativos • Códigos de erro da BIOS