Aula 01 – Introdução Definições e histórico de Sistemas Operacionais
Prof. Me. Caio C. Moreira
caioxmoreira@gmail.com Introdução “Sem software, um computador é basicamente um monte inútil de metal”, (Tanenbaum, 2008). E com software? O que é um Sistema Operacional? Um computador moderno consiste em: Um ou mais processadores Memória principal Discos Dispositivos de entrada e saída Para gerenciar todos esses componentes, é necessária uma camada de software Sistema Operacional Localização do Sistema Operacional O que é um Sistema Operacional? Exemplos de Sistemas Operacionais? Linux Unix Minix Windows BSD FreeBSD MacOS iOS Android Um Sistema Operacional... … possibilita o uso eficiente e controlado dos diversos componentes do hardware do computador CPU, memória, dispositivos de E/S
… implementa políticas e estruturas de software
de modo a assegurar um melhor desempenho do sistema de computação como um todo. Definição de Sistema Operacional Sistema Operacional é um conjunto de softwares cujo objetivo é propiciar aos usuários um computador mais simples e mais intuitivo, facilitando o uso de todos os seus recursos. Definição de Sistema Operacional (1) Como uma Máquina Estendida É uma abstração do hardware, fazendo o papel de intermediário entre os programas (software) e os componentes físicos do computador (hardware), facilitando a programação para o usuário. Oculta os detalhes complicados que têm que ser executados Apresenta ao usuário uma máquina mais fácil de ser utilizada Máquina estendida A arquitetura de muitos computadores no nível de linguagem de máquina é difícil de programar (E/S) Lida com essas unidades de um modo mais abstrato SO apresenta uma visão simples e agradável ao programador do hardware Definição de Sistema Operacional (2) Como um Gerenciador de Recursos É um gerenciador de recursos que controla quais os programas (processos) vão executar, como, quando e com quais recursos (memória, disco, periféricos) Cada programa tem um tempo e um espaço com o recurso Garante o controle sobre quem usa o quê. Definição de Sistema Operacional (2) Como um Gerenciador de Recursos Visão do Sistema Operacional O SO é responsável por... Inicializar o hardware do computador; Fornecer rotinas básicas para controle dos dispositivos e programas; Gerenciar e controlar as tarefas em execução; Manter a integridade das informações; Permitir que programas de computador possam ser escritos com maior facilidade; Histórico dos SOs 1ª Geração (1945-1955) Válvulas e painéis de conectores O usuário requisitava o uso exclusivo do computador e era responsável por todo o gerenciamento Não existia linguagens de programação Programação através de configuração manual de painéis de conectores. Ex: ENIAC 1946 Poderoso para a época, mas hoje teria menos poder de processamento que um celular. Histórico dos SOs 1ª Geração (1945-1955) Histórico dos SOs 2ª Geração (1955-1965) Transistores e sistemas em lote Computadores de grande porte ou mainframes Operadores são os responsáveis pelo gerenciamento. Os usuários submetem os programas e esperam as respostas. Grande desperdício de tempo com o gerenciamento. Histórico dos SOs 2ª Geração (1955-1965) (a, b) Os cartões contendo programas são entregues à leitora de cartão que produz uma fita contendo todos os programas (um lote) Ou seja, uma fita que continha diversos programas Histórico dos SOs 2ª Geração (1955-1965) (c, d) Os programas de um lote era executados em sequência e produziam uma fita de saída que continha os resultados. Histórico dos SOs 2ª Geração (1955-1965) (e, f) A fita de saída contendo os resultados era submetida a uma impressora para produzir os resultados em papel. Depois, o resultado de cada programa era entregue aos respectivos usuários. Histórico dos SOs 3ª Geração (1965-1980) Circuitos integrados e multiprogramação Enorme diminuição no tamanho dos computadores. Aumento no desempenho.
Desvantagens dos sistemas em lote
Os programas de um lote são executados sem interrupção A CPU ficava ociosa ao executar operações de E/S Demora para obter os resultados dos programas. Histórico dos SOs 3ª Geração (1965-1980) Histórico dos SOs 3ª Geração (1965-1980) Multiprogramação Vários programas residentes na memória Cada programa usa a CPU em um intervalo de tempo. Histórico dos SOs 3ª Geração (1965-1980) Sistemas de compartilhamento de tempo Os usuários se conectam ao sistema por terminais. O tempo de processamento é dividido entre os usuários. O usuário tem a ilusão de ter uso exclusivo da máquina. Histórico dos SOs 3ª Geração (1965-1980) Importância do Sistema MULTICS Suporte a um grande número de usuários Motivou o uso de computadores compartilhados em rede. Desenvolvimento do sistema UNIX Baseado no MULTICS Pôde ser usado em máquinas mais baratas Motivou o desenvolvimento de vários sistemas similares, como: BSD; FreeBSD; Linux e MINIX Histórico dos SOs 4ª Geração (1980-) Curcuitos LSI (Integração em larga escala) e microprocessador Indivíduos passaram a poder ter máquinas próprias Desenvolvimento das interfaces gráficas Facilitam o uso do SO baseado em linha de comando História dos SOs Vídeo Como Surgiu (sic) os Sistemas Operacionais https://www.youtube.com/watch?v=nMj_lsWuF4A Classificação dos SOs Quanto ao número de usuários Monousuário Somente um usuário pode usar o sistema Ex:MS-DOS Multiusuário Vários usuários podem usar simultaneamente o sistema Ex: Linux, MINIX, Windows, sistemas de tempo compartilhado Quanto ao número de programas no sistema Monoprogramado Somente um programa residente na memória, excluindo o sistema operacional Ex: MS-DOS Multiprogramado Vários programas podem estar residentes na memória Ex: Linux, MINIX, Windows MINIX Baseado na Versão 6 do UNIX, e no padrão POSIX Possui estrutura modular Escrito na linguagem C Código compacto facilita a alteração Não precisa de um grande poder computacional Possui funcionalidades similares a de um sistema UNIX O Linux foi baseado no MINIX. Contato caioxmoreira@gmail.com