Professor Luiz Carlos Sistemas Operacionais 1 Sistemas Operacionais 1. EMENTA LINUX - Introdução ao sistema operacional, instalação, configuração, utilização do ambiente gráfico, comandos básicos do sistema, introdução à administração do sistema operacional. WINDOWS - Visão geral da família Windows, Instalação e configuração do sistema operacional Windows Server, Administração e gerenciamento de contas de usuários e recursos, Criação de redes cliente-servidor, Gerenciando acesso a recursos, Diretivas de domínio e políticas de grupos, Políticas de auditoria: auditoria de eventos, Monitoramento de performance do servidor, Manutenção de discos: backup e Serviços de atualização automática. 2 LINUX Introdução ao sistema operacional Definindo os sistemas operacionais Deitel nos traz a seguinte definição de sistema operacional: Vemos um sistema operacional como os programas, implementados como software ou firmware, que tornam o hardware utilizável. O hardware oferece capacidade computacional bruta. Os sistemas operacionais disponibilizam convenientemente tais capacidades aos usuários, gerenciando cuidadosamente o hardware para que se obtenha uma performance adequada. [DEI92, p. 3] O hardware é o conjunto de dispositivos elétricos, eletrônicos, ópticos e eletromecânicos que compõe o computador, sendo a máquina física propriamente dita. O software é o conjunto de todos os programas de computador em operação num dado computador. firmware é representado por programas especiais armazenados de forma permanente no hardware do computador que permitem o funcionamento elementar e a realização de operações básicas em certos dispositivos do computador, geralmente associadas a alguns periféricos e a execução de outros programas também especiais. Hardware Como exemplos de dispositivos existentes num sistema podemos citar os circuitos integrados de memória, as unidades de disco flexível ou rígido e o processador do sistema, sendo este último um dispositivo microprogramado. O firmware geralmente vem acondicionado em circuitos de memória não volátil (ROM, PROM ou EPROM) O software deste sistema ou os programas do sistema são representados pelo sistema operacional e todos os seus componentes (bibliotecas de funções e programas utilitários) além de todos os outros programas acessórios do sistema, tais como editores de texto, programas gráficos, compiladores, interpretadores de comando (shells), aplicativos de comunicação e ferramentas de administração e manutenção do sistema. Stallings, ao tratar dos objetivos e funções dos sistemas operacionais, afirma que: Um sistema operacional é um programa que controla a execução dos programas de aplicação e atua como uma interface entre o usuário do computador o hardware do computador. Um sistema operacional pode ser pensado como tendo dois objetivos ou desempenhando duas funções: conveniência, pois faz o sistema computacional mais conveniente de usar; e eficiência, pois permite que os recursos do sistema computacional sejam usados de maneira eficiente. [STA96, p. 222] Tanenbaum, por sua vez, define um sistema operacional atrav´es de uma ótica ligeiramente diferente: O mais fundamental de todos os programas do sistema é o sistema operacional que controla todos os recursos computacionais e provê uma base sobre a qual programas de aplicação podem ser escritos. [TAN92, p. 1] Sistemas Operacionais Definição: O Sistema Operacional (SO) é um programa que controla e coordena todas as operações de um sistema de computação. É, muitas vezes, também chamado de Supervisor, Monitor, Executivo ou Controlador. É um programa que atua como intermediário entre o usuário e o hardware de um computador com o propósito de fornecer um ambiente para a execução de programas. 7 Sistemas Operacionais USUÁRIOS SISTEMA OPERACIOANAL HARDWARE 4 8 Sistemas Operacionais Características de Sistema Operacional Sistema Operacional é um conjunto de rotinas executado pelo processador, da mesma forma que nossos programas. SO é um programa que permite às pessoas usar o Hardware do computador (CPU, Memória e Armazenamento Secundário). Os usuários não dão instruções diretamente ao computador. Em vez disso, eles dão instruções ao Sistema Operacional. O SO instruí o Hardware a executar as tarefas desejadas. Kernel é o único programa que executa sempre, todo o resto são 9 programas aplicativos. Sistemas Operacionais Características de Sistema Operacional • O Sistema Operacional é responsável por alocar recursos de hardware e escalonar tarefas. Ele também deve prover uma interface para o usuário - ele fornece ao usuário uma maneira de acesso aos recursos do computador. • Um Sistema Operacional pode ser definido como um gerenciador dos recursos que compõem o computador (processador, memória, I/O, arquivos, etc). Os problemas centrais que o Sistema Operacional deve resolver são o compartilhamento ordenado, a proteção dos recursos a serem usados pelas aplicações do usuário e o interfaceamento entre este e a máquina. 10 Sistemas Operacionais Funções que o SO deve desempenhar Permitir que os programas armazenem e obtenham informação; Isolar os programas dos detalhes específicos de hardware; Controlar o fluxo de dados entre os componentes de um computador; Permitir que os programas sejam executados sem a interferência de outros programas; Permitir que os programas independentes cooperem periodicamente e compartilhem informações; Responder aos erros ou a solicitações dos usuários; Impor um escalonamento entre programas que solicitam recursos; Facilitar o acesso aos recursos do sistema. 11 Sistemas Operacionais Busca do Setor de Boot Quando o computador é ligado, um pequeno programa gravado no primeiro ou nos dois primeiros setores do disco (BOOT) é carregado para memória automaticamente. Sua função será unicamente ler o sistema operacional para RAM. 12 Sistemas Operacionais BOOT Em computação, boot é o termo em inglês para o processo de iniciação do computador que carrega o sistema operacional quando a máquina é ligada. Muitos computadores podem executar apenas códigos existentes na memória de trabalho (ROM ou RAM); os sistemas operacionais modernos são normalmente armazenados em disco rígido, CD-ROM ou outros dispositivos de armazenamento. Logo que o computador é ligado, ele não tem um sistema operacional na memória. O computador hardware não pode fazer as ações do sistema operacional, como carregar um programa do disco; assim um aparente insolúvel paradoxo é criado: para carregar o sistema operacional na memória, precisamos de um sistema operacional já carregado. 13 Sistemas Operacionais Sistema de iniciação ou Boot loader A solução para o paradoxo está na utilização de um pequeno e especial programa, chamado sistema de iniciação, boot loader ou bootstrap. Este programa não tem a completa funcionalidade de um sistema operacional, mas é especialmente construído para que seja capaz de carregar um outro programa para permitir a iniciação do sistema operacional. Freqüentemente, boot loaders de múltiplos estágios são usados, neste caso vários pequenos programas se complementam em seqüência, até que o último deles carrega o sistema operacional. 14 Sistemas Operacionais Modo Real Os programas podem acessar diretamente posições de memória, executar operações de E/S de baixo nível ou acessar diretamente o hardware de periféricos. Os programas executados em MODO REAL podem ter o completo controle do computador. O processsamento em MODO REAL é inaceitável em ambiente multiprogramação pois permite que os programas se afetem mutuamente. 15 Sistemas Operacionais Modo Protegido Os programas não podem acessar diretamente posições de memória, executar operações de E/S de baixo nível ou acessar diretamente o hardware de periféricos. O SO mantém um estrito controle de cada aplicação, protegendo cada programa de outros programas. O processsamento em MODO PROTEGIDO é aceitável em ambiente multiprogramação 16 Sistemas Operacionais Estruturas de Processamento Existem 5 estruturas básicas de processamento: - monousuário - multiusuário - multitarefa - multiprogramação - multiprocessamento. 17 Sistemas Operacionais Monousuário Nesta estrutura de processamento somente um programa é executado de cada vez e apenas por um usuário também de cada vez. Multiusuário Nesta estrutura de processamento além de multiprogramação vários usuários passam a compartilhar o mesmo computador. A arquitetura tradicional é um computador central e vários terminais, chamados de terminais burros por não terem capacidade de processamento próprio. 18 Sistemas Operacionais Multitarefa Nesta estrutura de processamento é permitido a realização de diferentes tarefas simultaneamente. Exemplos de tarefas que podem ser realizadas simultaneamente: imprimir editar um texto gravar um programa em disco enviar dados por modem. Na Multitarefa o processador trabalha em várias partes de um mesmo programa e não em vários programas concorrentemente. 19 Sistemas Operacionais MULTITAREFA PREEMPTIVA (Unix e Win 95 (osr2), 98, XP, VISTA) Em um sistema Multitarefa preemptivo, cada encadeamento é executado durante um tempo determinado ou até que outro encadeamento de prioridade maior esteja pronto para ser executado. Como o agendamento é controlado pelo sistema operacional sem a cooperação do aplicativo, torna-se mais difícil para um programa ou encadeamento monopolizar o processador. Para impedir que encadeamentos de processos diferentes tenham acesso a um recursos que não podem ser compartilhados (como uma porta serial), o programa pode definir semáforos (sinalizadores especiais utilizados pelo programa) para bloquear este recurso até que ele termine de ser utilizado. No Windows 95-OSR2, programas do MS-DOS e de 32 bits baseados no Windows são Multitarefa Preemptiva. 20 Sistemas Operacionais MULTITAREFA COOPERATIVA (Windows 95 e 3.11) Na técnica de MULTITAREFA COOPERATIVA, cada processo controla a CPU até decidir libertá-la. Em sistema Multitarefa cooperativos, um encadeamento é executado até que voluntariamente abandone o processador. O programa determina quando o encadeamento pára a execução. No Windows 95, programas de 16 bits baseados no Windows são Multitarefa de modo cooperativo. 21 Sistemas Operacionais Multiprogramação Nesta estrutura de processamento é permitido a execução concorrente, ou aparentemente simultânea de múltiplos programas por um único computador. Multiprocessamento Nesta estrutura o sistema multiusuário usa múltiplos processadores para executar um ou vários programas. Também é chamado de processamento paralelo. 22 LINUX Instalação, configuração Utilização do ambiente gráfico Comandos básicos do sistema introdução à administração do sistema operacional