História de Sistemas Operacionais Prof. Esp.Valdemir S. Silva [email protected] Facebook: Valdemir SSilva http://valdemirssilva.blogspot.com.br Sistemas Operacionais INTRODUÇÃO - História • Dividida em 5 gerações de sistemas Sistemas Operacionais INTRODUÇÃO - História • Primeira geração - 1945-1955 – Tecnologia: Válvulas – Sistema Operacional: não existia – Linguagens de programação: plugues – Memória: não existia – Armazenamento secundário: não existia – E/S: Plugues e “leds” – Sem divisão de funções de trabalho Sistemas Operacionais INTRODUÇÃO - História • Segunda geração - 1955 a 1965 – – – – – – Tecnologia: Transistores Sistema operacional: Processamento por lote Linguagens de programação: Assembler, Fortran, Cobol Memória: memórias magnéticas Armazenamento secundário: fita de papel, fita magnética E/S: • cartão perfurado, fita de papel perfurada, fita magnética, impressora – Mais confiáveis • podiam já ser comercializados – Sistema Operacional: criado para automatizar tarefas usuais Sistemas Operacionais INTRODUÇÃO - História • Segunda geração - 1955 a 1965 Sistemas Operacionais INTRODUÇÃO - História • Terceira geração - 1965 a 1980 – Tecnologia: Circuitos Integrados – Linguagens de programação: Assembler, Fortran, Cobol,C – Memória: Circuitos Integrados – Armazenamento secundário: discos – Complexidade do sistema operacional • Exemplo: OS/360 – complexo – atraso na conclusão – muitos “bugs” – Menor preço – Melhor desempenho Sistemas Operacionais INTRODUÇÃO - História • Quarta geração - 1980 a 1990 (cont.) – Tecnologia: Microprocessadores (CISC) – Equipamentos: mini-computaores, comput. pessoais, estações de trabalho – Barateamento do sistema permitiu que • Empresas adquirissem – Minicomputadores com UNIX ou VMS (Dec) • Usuários: adquirissem – Computadores pessoais » Apple (CPM) » IBM-PC (MS-DOS) – 1985 - Primeiras estações gráficas • Primeiros sistemas com interfaces gráficas Sistemas Operacionais INTRODUÇÃO - História • Quinta geração - 1990 a .... – Tecnologia: • microprocessadores RISC • dispositivos multimídia • redes de computadores – Interoperabilidade entre os sistemas • redes de computadores implicaram na necessidade de interoperabilidade entre os sistemas – Rede de computadores • Pilha TCP / IP (internet) – Compartilhamento de recursos – Multimedia • Interfaces Gráficas Sistemas Operacionais PROGRAMAS E SISTEMAS • Utilitários (Programas) – São fornecidos para: • Administração de Arquivos e Documentos criados por usuários; • Desenvolvimento de Programas; • Comunicação entre usuários e com outros computadores; • Gerenciamento de pedidos de usuários para programas, espaço de armazenamento e prioridade. Sistemas Operacionais PROGRAMAS E SISTEMAS • O que é um Sistema Operacional – Inicializa o hardware do computador; – Fornece rotinas básicas para controle de dispositivos; – Fornece gerência, escalonamento e interação de tarefas; – Mantém a integridade de sistema. Sistemas Operacionais PROGRAMAS E SISTEMAS • Partes de um Sistema Operacional – Núcleo (Kernel em inglês - também conhecido como "executivo") • Gerenciador de processo – Escalonador (Scheduler, em inglês) • Gerenciador de arquivo • Gerenciador de memória • Gerenciador de dispositivos – Shell – Utilitários e Aplicativos Sistemas Operacionais PROGRAMAS E SISTEMAS Sistemas Operacionais PROGRAMAS E SISTEMAS • Partes de um Sistema Operacional – Núcleo – • Componente central do sistema operativo da maioria dos computadores; • Ele serve de ponte entre aplicativos e o processamento real de dados feito a nível de hardware. Sistemas Operacionais PROGRAMAS E SISTEMAS • Partes de um Sistema Operacional – Gerenciador de processo • Módulo do SO responsável pela supervisão e execução de programas, alocando-lhes os recursos necessários através do administrador conveniente, e controlando a utilização da CPU pelos diversos processos. • Tarefas incluem: – – – – – Algoritmos e ED Escalonamento de processos Sincronização de processos Estratégia para tratamentos de bloqueios(deadlock) Parte do mecanismo de proteção Sistemas Operacionais PROGRAMAS E SISTEMAS • Partes de um Sistema Operacional – Escalonador (Scheduler, em inglês) • Rotina que distribui o fluxo de execução do processador entre os vários programas carregados na memória. Sistemas Operacionais PROGRAMAS E SISTEMAS • Partes de um Sistema Operacional – Gerenciador de arquivo • É um dos componentes mais visíveis de um sistema operacional. • Os computadores armazenam as informações em diversos tipos de meios físicos. • Os mais comuns são fitas magnéticas, disco magnético e disco óptico. • O armazenamento é controlado por um dispositivo, tal como um controlador de disco ou de fita. • Os sistemas operacionais fornecem uma visão lógica uniforme do armazenamento de informações. • Eles abstraem, das propriedades físicas dos dispositivos de armazenamento, uma unidade lógica de armazenamento, o arquivo. Sistemas Operacionais PROGRAMAS E SISTEMAS • Partes de um Sistema Operacional – Gerenciador de arquivo • Responsabilidade – Criação e remoção de arquivos. – Criação e remoção de diretórios. – Suporte a primitivas para manipulação de arquivos e diretórios. – Mapeamento de arquivos em memória secundária. – Cópia de arquivos em meios de armazenagem nãovoláteis. Sistemas Operacionais NÍVEIS DE MÁQUINA Sistemas Operacionais NÍVEIS DE MÁQUINA • Computador como máquina de níveis ou camadas: – Nível 0 – Hardware; – Nível 1 – Sistema Operacional. • Hardware: – Dispositivos físicos, microprogramação, linguagem de máquina. Sistemas Operacionais NÍVEIS DE MÁQUINA • Software: – Sistema operacional, utilitários e aplicativos; – Linguagem utilizada em cada um dos níveis varia da mais elementar (baixo nível) à mais sofisticada(alto nível). Sistemas Operacionais NÍVEIS DE MÁQUINA • Software: – Sistema operacional, utilitários e aplicativos; – Linguagem utilizada em cada um dos níveis varia da mais elementar (baixo nível) à mais sofisticada(alto nível). Sistemas Operacionais NÍVEIS DE MÁQUINA • Software: Sistemas Operacionais NÍVEIS DE MÁQUINA • Visão do computador pelo usuário Sistemas Operacionais NÍVEIS DE MÁQUINA Sistemas Operacionais NÍVEIS DE MÁQUINA Sistemas Operacionais COMPONENTES DE UM SISTEMA DE COMPUTAÇÃO • Sistema de computação é um conjunto de componentes integrados para funcionar como se fossem um único elemento e que têm por objetivo realizar manipulação com dados, isto é, realizar algum tipo de operações com os dados de modo a obter uma informação útil. Sistemas Operacionais COMPONENTES DE UM SISTEMA DE COMPUTAÇÃO Sistemas Operacionais COMPONENTES DE UM SISTEMA DE COMPUTAÇÃO • Descrição – 1º Algoritmo; – 2º Codificar o algoritmo em comandos de uma linguagem de programação: Programa de Computador; – 3º Interpretação pela máquina: • É preciso que a máquina seja instruída para realizar as operações; • As tarefas são operações que a máquina pode fazer através de instruções. Sistemas Operacionais COMPONENTES DE UM SISTEMA DE COMPUTAÇÃO • Instruções – Instrução é a tarefa que a máquina pode fazer; – A CPU é o componente capaz de entender uma instrução; – A CPU tem como função básica ler e interpretar instruções e realizar operações matemáticas definidas após a interpretação de uma instrução; Sistemas Operacionais COMPONENTES DE UM SISTEMA DE COMPUTAÇÃO • Para que Uma CPU Trabalhe – Entender e executar uma instrução de máquina: • Introduzir o programa no sistema; • Converter em código; • CPU executar o código. Sistemas Operacionais COMPONENTES DE UM SISTEMA DE COMPUTAÇÃO • CPU: – realiza as ações finais – interpreta o tipo e o modo de execução de uma instrução – controla quando e o que deve ser realizado pelos demais componentes • Memória: – armazena dados e programas • Entrada ou Saída: – Permite que o Sistema de Computação se comunique com o mundo exterior Sistemas Operacionais SOFTWARE BÁSICO • Todo o programa que é necessário ao funcionamento do computador. • Mais importante Sistema Operacional gerencia e disponibiliza para o usuário os recursos da máquina e seus periféricos, permitindo que o equipamento torne-se operável. Sistemas Operacionais SOFTWARE BÁSICO • Sistema Operacional: É responsável pelo tráfego dos dados entre os componentes do sistema (gerenciamento). Cada modelo de CPU usa um sistema operacional diverso: – Monousuário: MS-DOS (Microsoft), System 7 (Macintosh-Apple) – Monotarefa : MS-DOS – Multitarefas: OS/2 (IBM), Windows 95/98 – Multiusuário: UNIX, Linux, Windows NT/2000 Sistemas Operacionais SOFTWARE BÁSICO • Classificam-se de acordo com suas características de funcionamento em: – Sistema monousuário / Sistema multiusuário – Sistema monotarefa / Sistema multitarefa Sistemas Operacionais SOFTWARE BÁSICO • Sistema Monousuário – Não admite ser utilizado por mais de um usuário simultaneamente, gerenciando uma mesma CPU. – Processamento centralizado. • MS-DOS, Windows 3.1, Windows 95/98 Sistemas Operacionais SOFTWARE BÁSICO • Sistema Monousuário MS-DOS Windows 3.1 (não é um sistema operacional) compartilha tempo do DOS para executar múltiplas atividades quase que simultaneamente. gerenciador de programas ou ambiente gráfico Sistemas Operacionais SOFTWARE BÁSICO • Sistema Monousuário Windows 95 Processador 486DX ou superior 80 Mb em disco disponível 16 Mb RAM e monitor SVGA configuração básica sistema operacional monousuário multitarefa Sistemas Operacionais SOFTWARE BÁSICO • Sistema Multiusuário – Disponibiliza a mesma CPU para mais de um usuário “ao mesmo tempo”, através de terminais ligados ao computador. – Programas e arquivos de dados em um único computador (host), que gerencia também o uso comum de periféricos compartilhados. • Unix / Linux • VMS • MS VS Sistemas Operacionais SOFTWARE BÁSICO Sistema Monotarefa • Só consegue executar uma atividade de cada vez. – MS-DOS, Windows 3.1 Sistemas Operacionais SOFTWARE BÁSICO Sistema Multitarefa • Gerencia a execução de mais de uma tarefa concomitante, seja pela execução simultânea ou pelo compartilhamento do tempo entre as tarefas, dando a “impressão” de simultaneidade. – – – – Windows 95/98/NT/2000/XP OS/2 Unix/Linux Mac OS X Sistemas Operacionais SOFTWARE BÁSICO Ambiente Operacional: • Adiciona recursos ao Sistema Operacional para permitir uma interface gráfica com o usuário (GUI), múltiplos programas simultâneos e múltiplas janelas na tela. • GUI º Graphical User Interface – É a denominação genérica de uma interface como a do Windows (ou do Macintosh), com a qual o usuário não tem a necessidade de lembrar dos comandos para manipulação de arquivos, etc. Sistemas Operacionais SOFTWARE BÁSICO • Utilizando: – ícones (objetos, símbolos e representações gráficas para representar arquivos, programas, funções e comandos); – um dispositivo de posicionamento (mouse); – menus universais e opções abertas como cortinas (barras de formatos, ferramentas, menus, etc...); – janelas superpostas; Sistemas Operacionais SOFTWARE BÁSICO • Tradutores: – Lêem uma linguagem de programação e a transformam para linguagem de máquina. Existem três tipos de tradutores: • Compilador ( lê e analisa todo o programa fonte e traduz para linguagem de máquina – programa objeto) • Interpretador (Interpreta cada comando e executa, linha a linha. Traduz a linguagem de alto nível para baixo nível, mas não cria versão executável) • Montador (lê uma linguagem de baixo nível e transforma para linguagem de máquina Assembler) Sistemas Operacionais SOFTWARE BÁSICO • Linguagens de 4a. Geração: – Linguagens orientadas para problemas, ambientes dedicados a tarefas específicas. Os principais tipos são: • Planilhas eletrônicas • Processadores de textos • Gerenciadores de banco de dados • Processadores de gráficos • Gerenciadores de comunicação Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO • Estrutura geral de um sistema de computação – Componentes Físicos • • • • Componentes Básicos Periféricos Componentes Multimídia Componentes de rede – Sistema Operacional • Núcleo do sistema operacional • Programas de sistema (utilitários, bibliotecas, ...) • Arquivos de configuração – Aplicativos • Browser (Netscape, Explorer) Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO • Componentes físicos – Monitor Gráfico • Usualmente existe no máximo um monitor gráfico • A apresentação gráfica exige que o sistema realize acesso à memória gráfica, que é varrida várias vezes por segundo. – Teclado • Para entrada de caracteres – Mouse • De esfera ou optico – Mouse Pad (suporte para o mouse) • No mouse de esfera: – Evita que a esfera “patine” Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO • Componentes físicos (cont) – Gabinete de sistema • Placa principal – Processador – Memória – Placas controladoras de periféricos • • • • Placa controladora de vídeo Placa controladora de disco Placa controladora de rede .... – Unidades de armazenamento • Discos Magnéticos • Unidade leitora de Floppy – Diversos outros Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO • Sistema Operacional – É composto por: • Núcleo (kernel) do sistema operacional – Permanece carregado em memória • Processos de gerência • Arquivos de configuração • Utilitários do sistema – Programas básicos necessários para operação do sistema » Ex: DOS: format, dir, edit, copy, type, .... » Ex: UNIX: mkfs, ls, ps, vi, ... Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO • Sistema Operacional – Classificação • Quanto ao número de processos simultâneos – Monotarefa – Multitarefa • Quanto ao número de usuários simultâneos – Monousuário – Multiusuário Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO Sistemas Operacionais ESTRUTURA DE UM SISTEMA DE COMPUTAÇÃO • Aplicativos – Exemplos • • • • • Browser (Netscape, Explorer) Programa de editoração eletrônica Programa de processamento de imagem CAD Banco de Dados Sistemas Operacionais ATIVIDADES AVALIATIVA • • • • • • • 1 – Faça um breve comentário sobre as 5 gerações da computação e o desenvolvimento dos sistemas operacionais citando os pontos que você considera mais relevante. 2 – Qual o conceito de programas e processos? 3 – Defina de forma direta e clara o conceito de cada parte de um sistema operacional. 4 – O que você entende por SHELL? 5 – Comente sobre os níveis de máquina. 6 – Com suas palavras, conceitue sistema de computação. 7 – Diferencie e dê exemplos: – – – – Sistema monousuário Sistema multiusuário Sistema monotarefa Sistema multitarefa • 8 – Sobre a estrutura de um SO, comente o que você entende pelas seguintes etapas: – – – Aplicativos: Sistema Operacional: Componentes Físicos