Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução aos Sistemas Operacionais Patrícia Bonezi Sistema Operacional um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário. Sistema operacional Hardware Sistema Operacional Aplicação Aplicação Aplicação usuários 3 Introdução aos Sistemas Operacionais Sistema Operacional Executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro programa armazenado em uma memória não-volátil ROM chamado BIOS num processo chamado "bootstrapping“: processos auto-sustentáveis, ou seja, capazes de prosseguirem sem ajuda externa. Funções do sistema operacional A partir da máquina real (hardware), criar uma máquina estendida. Gerenciar os recursos de hardware disponíveis para as aplicações. 5 Introdução aos Sistemas Operacionais O SO como máquina estendida Ocultar a complexidade do hardware. Oferecer interfaces padronizadas de acesso ao hardware. Permitir uma visão homogênea de dispositivos distintos. 6 Introdução aos Sistemas Operacionais O SO como máquina estendida Sistema operacional aplicação Clicar em um arquivo Assign(file, “D:\README.TXT”); open(file); read(file, ch); … close(file); Move head to sector 123 in FAT read 256 bytes to mem 36234H move head to sector 4684753 read 1024 bytes to mem 578567 ... 7 Introdução aos Sistemas Operacionais O SO como gerente de recursos Recursos da máquina processadores espaço em memória arquivos conexões de rede dispositivos externos Controle de acesso equilibrar uso evitar conflitos 8 Introdução aos Sistemas Operacionais Sistema Operacional Após executar testes e iniciar os componentes da máquina (monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir daí, o sistema operacional "toma" o controle da máquina. Sistema Operacional O sistema operacional reveza sua execução com a de outros programas, como se estivesse vigiando, controlando e orquestrando todo o processo computacional. Sistema Operacional Segundo Tanenbaum, pela perspectiva do usuário ou programador, existem dois modos distintos de conceituar um sistema operacional: numa visão de cima para baixo (top-down): é uma abstração do hardware, fazendo o papel de intermediário entre os programas (software) e os componentes físicos do computador (hardware); ou numa visão de baixo para cima (bottom-up): é um gerenciador de recursos, i.e., que controla as aplicações (processos) a executar, como, quando e com quais recursos (memória, disco, periféricos). O SO como gerente de recursos Sistema operacional aplicação aplicação aplicação source app source app source app sdgf jhgsdfj dsjhf khj khj HKjhkjghj hg jhgj jgh jhg jhg jhg jhg kjhg jhgj hg jhg kjhkjhgjhg jhg jhg jhg jh kjhjkhgjhgjh kgjhgjhgjhgj 12 Introdução aos Sistemas Operacionais Computador como Máquina de Níveis O Hardware: responsável pela execução das instruções de um programa; Primeiros computadores: programação realizada através de fios; Evolução: O Sistema Operacional; A Interação se tornou mais fácil, confiável e eficiente; 13 Introdução aos Sistemas Operacionais Computador como Máquina de Níveis Computador como máquina de níveis: Nível 2 – Aplicativos; Nível 1 – Sistema operacional; Nível 0 – Hardware. A Linguagem utilizada em cada nível varia da mais elementar (microprogramação) à mais sofisticada(alto nível). 14 Introdução aos Sistemas Operacionais Histórico dos Sistemas Operacionais 1º computador: Máquina analítica de Charles Babbage (1792-1871); Primeira Geração (1945-1955): Válvulas e painéis; Segunda Geração (1956-1965): Transistores e Sistemas Batch; Terceira Geração(1966-1980): Circuitos Integrados e Multiprogramação; Quarta Geração(1981-1990): Computadores Pessoais; Quinta Geração (1991- 20??): Atualidade; Sistemas Móveis 15 Introdução aos Sistemas Operacionais Histórico dos Sistemas Operacionais Primeira Geração (1945-1955): Programação através de chaves; Inexistência de linguagens ou SO.; Toda a atividade é seqüencial; 16 Introdução aos Sistemas Operacionais Histórico dos Sistemas Operacionais Segunda Geração (1956-1965): IBM 1401 e 7094; Separação entre programação e operação; Execução batch de programas; Linguagens Fortran e Assembly; 17 Introdução aos Sistemas Operacionais Histórico dos Sistemas Operacionais Terceira Geração (1966-1980): Família IBM/360 e sucessores; Compatibilidade a nível de software; Multiprogramação; Escalonamento de CPU; Sistemas On-line; Base dos S.O. modernos; 18 Introdução aos Sistemas Operacionais Histórico dos Sistemas Operacionais Quarta Geração (1981-1990): Multiprocessadores; Sistemas Operacionais user-friendly; S.O. para computadores pessoais; S.O. para redes de computadores; 19 Introdução aos Sistemas Operacionais Histórico dos Sistemas Operacionais Quinta Geração (1991-20??): Processamento Distribuído; Interfaces Gráficas; S.O. para dispositivos móveis S.O. para cloud computing 20 Introdução aos Sistemas Operacionais 21 S.O. como interface usuário/computador Introdução aos Sistemas Operacionais 22 Diferentes “imagens” de um S.O. Sistema operacional na visão do usuário Imagem que um usuário tem do sistema Interface oferecida ao usuário para ter acesso a recursos do sistema Chamadas de sistema Programas de sistema Sistema operacional na visão do projeto Organização interna do sistema operacional Mecanismos empregados para gerenciar recursos do sistema Introdução aos Sistemas Operacionais 23 Chamada de sistema Forma que um programa solicita serviços ao sistema operacional Análogo a sub-rotinas É o núcleo (Kernel) do sistema operacional que implementa as chamadas de sistemas Existem chamadas de sistemas associadas a gerência do processador, de memória, arquivos e de entrada e saída Variação: micro-kernel Serviços básicos são implementados pelo micro-kernel Kernel implementa demais serviços empregando esses serviços básicos Introdução aos Sistemas Operacionais 24 APLICAÇÃO KERNEL MICROKERNEL HARDWARE Chamada de sistema Serviços do microkernel Organização do S.O Introdução aos Sistemas Operacionais 25 Programas de sistema Programas executados fora do kernel (utilitários) Implementam tarefas básicas Muitas vezes confundidos com o próprio sistema operacional Ex: compiladores, assemblers, ligadores, etc Interpretadores de comandos Ativado sempre que o sistema operacional inicia sessão de trabalho Ex: bash, tsch, sh, etc Interface gráfico de usário (GUI) Ex: Família windows, MacOs, etc Introdução aos Sistemas Operacionais 26 Sistema em lote (batch) Introdução de operadores profissionais Usuário era mais o operador da máquina Job Programa a ser compilador e executado, acompanhado dos dados de execução Jobs são organizados em lote (batch) Necessidades semelhantes (ex: mesmo compilador) Passagem entre diferentes jobs continua sendo manual Introdução aos Sistemas Operacionais 27 Monitor residente Evolução Sequenciamente automático de jobs, transferindo o controle de um job a outro Primeiro sistema operacional (rudimentar) Monitor residente Programa que fica permanente em memória Execução inicial Controle é transferido para o job Cartões de controle Quando o job termina, o controle retorna ao monitor Centraliza as rotinas de acesso a periféricos disponibilizando aos programas de usuários Introdução aos Sistemas Operacionais 28 Sistema batch multiprogramado (multitarefa) Monitor residente permite a execução de apenas um programa a cada vez Desperdício de tempo de CPU com operações de E/S Evolução Manter diversos programas na memória ao mesmo tempo Enquantoum programa realiza E/S, outro pode ser executado Introdução aos Sistemas Operacionais 29 Multiprogramação Manter mais de um programa em “execução” simultaneamente Duas inovações de hardware possibilitam o surgimento da multiprogramação Interrupção Sinalização de eventos Discos magnéticos Acesso randômico a diferentes jobs no disco. Melhor desempenho em acessos de leitura e escrita Introdução aos Sistemas Operacionais 30 Sistema timesharing Tipo de multiprogramação Usuários possuem um terminal Interação com o programa de execução Ilusão de possuir a máquina dedicada a execução de seu programa Divisão do tempo de processamento entre usuários Tempo de resposta é importante Introdução aos Sistemas Operacionais 31 Sistema monousuário e multiusuário Sistema monousuário Projetados para serem usados por um único usuário Ex: MS-DOS, Windows XP, Vista, 7, MacOS... Sistemas multiusuário Projetados para suportar várias sessões de usuários em um computador Ex: Windows 2008, UNIX... Introdução aos Sistemas Operacionais 32 Sistemas multitarefa e monotarefa Sistemas monotarefa Capazes de executar apenas uma tarefa de cada vez Ex: MS-DOS Sistema multitarefa Capazes de executar várias tarefas simultaneamente Existem dois tipos de sistemas multitarefa: Não preempitivo (cooperativo) Ex: Windows 3.x, Windows 9x (aplicativos 16 bits) Preempitivo Ex: Windows NT, OS/2, UNIX, Windows9x (aplicativos 32 bits) Introdução aos Sistemas Operacionais 33 Sistemas distribuídos Distribuir a realização de uma tarefa entre vários computadores Sistema distribuído Conjunto de computadores autônomos interconectados de forma a possibilitar a execução de um serviço Existência de várias máquinas é transparente Software fornece uma visão única do sistema Palavra-chave: transparência Introdução aos Sistemas Operacionais 34 Sistemas fracamente acoplados Máquinas independentes Cada máquina possui o seu próprio sistema operacional Comunicação é feita através de troca de mensagens entre processos Vantagens Compartilhamento de recursos Balanceamento de carga Aumento confiabilidade Sistemas distribuídos Introdução aos Sistemas Operacionais 35 Sistemas paralelos Máquinas multiprocessadoras possuem mais de um processador Sistemas fortemente acoplados Processadores compartilham memória e relógios comuns Comunicação é realizada através da memória Vantagens Aumento de troughput (número de processos executados) Aspectos econômicos Aumento de confiabilidade Introdução aos Sistemas Operacionais 36 Symmetric multiprocessing (SMP) Cada processador executa uma cópia idêntica do sistema operacional Vários processos podem ser executados em paralelo sem perda de desempenho para o sistema A maioria dos sistemas operacionais atuais suportam SMP através do conceito de multitreading Asymmetric multiprocessing Cada processador executa uma tarefa específica Ex: processador mestre para alocação de tarefas a escravos Sistemas paralelos Introdução aos Sistemas Operacionais 37 Sistema de tempo real Empregado para o controle de procedimentos que devem responder dentro de um certo intervalo de tempo Ex: experimento científicos, tratamento de imagens médicas, controle de processos, etc. Noção de tempo real é dependente da aplicação Milisegundos, minutos, horas, etc. Dois tipos Hard real time Tarefas críticas são completadas dentro de um intervalo de tempo Soft real time Tarefa crítica tem maior prioridade que as demais Introdução aos Sistemas Operacionais
Compartilhar