Sistemas Operativos Introdução Funções genéricas de um S.O. ! ! O S.O. é a primeira camada de software indispensável para que o sistema informático possa funcionar Tem por funções controlar e gerir os recursos de hardware – Torná-los acessíveis aos utilizadores e aos seus programas de aplicação ! ! ! ! ! ! Actuar como interface ou intermediário entre o hardware e o utilizador ou os seu programas de aplicação – 2 Gerir o trabalho do processador Gerir a utilização da memória Controlar a interacção com os periféricos Controlar as diversas solicitações dos programas em relação aos recursos do sistema etc Esconde o verdadeiro hardware do utilizador apresentando uma máquina muito mais simples Luísa Jorge Sistemas Operativos 1 Níveis de um S.O. ! ! O S.O. é construído tendo em conta a estrutura do processador a que se destina, por forma a estabelecer com ele uma parceria capaz de gerir os recursos de hardware do sistema. A maioria dos S.O. tem um kernel (núcleo) e componentes adicionais que se instalam sobre esta parte nuclear – – 3 O núcleo assegura as funções mais básicas e fundamentais de controlo do hardware (CPU, RAM, I/O, etc) O interface (também referido por shell) constitui a face visível do S.O. para o utilizador e com a qual este pode interactuar e dialogar Luísa Jorge Sistemas Operativos Evolução dos S.O versus arquitectura das máquinas ! ! ! ! 4 1ª Geração (1945 a 1955) 2ª Geração (1955 a 1965) 3ª Geração (1965 a 1980) 4ª Geração Luísa Jorge Sistemas Operativos 2 1ª Geração (1945 a 1955) ! Computadores construídos à custa de circuitos electrónicos que eram constituídos por válvulas ! Existiam poucos computadores ! Um único grupo de pessoas era responsável pelo projecto, construção, programação, operação e manutenção de cada máquina Ainda não existia o conceito de S.O. e linguagens de programação Os programas processados pelos computadores eram constituídos essencialmente por cálculos numéricos repetitivos Inicialmente a programação era feita nos painéis da máquina tendo-se tornado possível posteriormente a codificação dos programas em cartões perfurados que a máquina podia ler – – ! ! ! 5 Máquinas de dimensões gigantescas Apenas em alguns locais de investigação cientifica Luísa Jorge Sistemas Operativos 2ª Geração (1955 a 1965) ! Os computadores passaram a funcionar com base em transistores ! Surgiram as primeiras linguagens de alto nível e o primeiro S.O Iniciou-se a comercialização dos computadores – ! – – ! ! ! 6 O tamanho tornou-se menor e as capacidades aumentaram Era ainda muito difícil operar e manter os computadores As grandes empresas começaram a adquirir computadores Passou a haver uma distinção clara entre as pessoas envolvidas no projecto, na construção, na operação, na programação e na manutenção das máquinas Os programadores escreviam os programas em papel para depois perfurá-los em cartões. Os cartões do programa eram entregues ao operador da máquina para que eles fossem processados. Depois do programa (job) processado o operador disponibilizava o relatório emitido ao programador Luísa Jorge Sistemas Operativos 3 Sistemas em lote (batch) simples ! Com o objectivo de uma maior rentabilização do processador encontrou-se uma solução, denominada de sistema batch (lote) – – Os operadores classificavam os programas em lotes com requisitos semelhantes, cada um dos lotes era colocado em execução. Como as velocidades dos dispositivos mecânicos de I/O eram mais lentas do que as dos dispositivos electrónicos, a CPU ficava muitas vezes ociosa. A solução encontrada para reduzir este desperdício consistia em fazer a leitura de um conjunto de jobs para uma fita magnética utilizando um computador pequeno e relativamente barato, As máquinas mais sofisticadas eram utilizadas apenas no processamento propriamente dito. 7 Luísa Jorge Sistemas Operativos 3ª Geração (1965 a 1980) ! Aparecimento dos circuitos integrados – CI (chips) – – ! ! Integração num chip de vários componentes electrónicos Redução drástica das dimensões dos computadores e aumento considerável das capacidades Aumento da comercialização (sector empresarial e universidades) Uma característica dos sistema desta geração foi a técnica denomina de SPOOL (Simultaneous Peripheral Operation On Line) – Sobreposição das operações de E/S de um job com o processamento de outro job ! ! ! 8 Os jobs eram lidos directamente dos cartões para o disco Os S.O. desta geração passaram também a permitir a multiprogramação Posteriormente surgiram os sistemas com tempo partilhado (timesharing) Luísa Jorge Sistemas Operativos 4 Sistemas em lote (batch) multiprogramados ! ! ! ! ! São mantidos vários jobs na memória, ao mesmo tempo, e a CPU é multiplexada entre eles Melhor utilização do tempo do processador Os sistemas desta geração tinha hardware especial para proteger cada um dos jobs contra acessos indevidos, provenientes dos demais Mais complexos que os sistema em lote simples O utilizador não interagia directamente com os sistemas de computação 9 Luísa Jorge Sistemas Operativos Sistemas com tempo partilhado (timesharing) ! São uma variação dos sistema multiprogramados onde cada utilizador tem um terminal on-line à sua disposição. – – – 10 É permitida a interacção do utilizador com o sistema Cada utilizador tem a impressão de que todo o sistema de computação lhe está dedicado Estes sistemas são ainda mais complexos que os sistemas batch multiprogramados Luísa Jorge Sistemas Operativos 5