Introdução aos Sistemas



Documentos relacionados
2. Introdução aos Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais. Prof. André Y. Kusumoto

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

1.2 Tipos de Sistemas Operacionais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistema Operacional Correção - Exercício de Revisão

Processamento de Dados

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Organização de Computadores 1

Sistemas Operacionais. Prof. André Y. Kusumoto

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Tipos de sistemas operacionais

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Sistemas Operacionais. Professor Leslier Soares Corrêa

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Introdução a Informática. Prof.: Roberto Franciscatto

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Introdução aos Sistemas Operativos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Arquitetura e Organização de Computadores

Organização e Arquitetura de Computadores

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Processos e Threads

Componentes de um sistema computacional moderno. DCC/FCUP Inês Dutra Sistemas de Operação 1

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Sistemas Operacionais

7 Processos. 7.1 Introdução

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Sistemas Operacionais

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Estruturas do Sistema de Computação

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Fundamentos de Sistemas Operacionais. Processos. Prof. Edwar Saliba Júnior Março de Unidade Processos

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Arquitetura de Sistemas Operacionais

Processos. Adão de Melo Neto

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Sistemas Operacionais

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Introdução a Computação

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

UFRJ IM - DCC. Sistemas Operacionais I

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Mecanismo de Interrupção

Sistemas Operativos. Funções genéricas de um S.O.

SISTEMAS OPERACIONAIS 2007

Gerência de Entrada/Saída

Introdução à Arquitetura de Computadores

Processos e Threads (partes I e II)

Disciplina: Introdução à informática Profª Érica Barcelos

Gerência do Processador

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Introdução aos Sistemas Operacionais

Sistemas Operacionais Conceitos Básicos

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Gerência de Processador

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Visão Geral de Sistemas Operacionais

Arquitetura de Computadores. Tipos de Instruções

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

Gerência de Processador

6 - Gerência de Dispositivos

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT

ENTRADA E SAÍDA DE DADOS

Gerência do Processador

Sistemas Operacionais Gerência de Processos

Sistemas Operacionais Gerência de Dispositivos

AULA 3 Introdução ao Software

Máquinas Multiníveis

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Introdução aos Computadores

Arquitetura de Computadores. Sistemas Operacionais IV

Transcrição:

Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas Aplicativos Quake Sistema Operacional (infraestrutura) Hardware 1 2 Introdução Recursos gerenciados pelo SO 1 2 3... n Tempo de CPU Compilador Editor de Browser texto Aplicativos Sistema Operacional (infraestrutura) Hardware Quake Espaço de memória Espaço em disco Periféricos Hardware = Recursos físicos Aplicativos = Resolvem os problemas dos usuários Sistema Operacional = Controla e coordena o uso do hardware pelas aplicações 3 4 SO é um programa de controle SO existe porque é útil Controla dispositivos de I/O e os programas que resolvem os problemas dos usuários Previne erros e o uso impróprio do computador Cria um sistema computacional usável As aplicações possuem necessidades em comum que são atendidas pelo SO: alocação e controle de recursos 5 6

Uma definição para Sistema Operacional O objetivo do SO é permitir o uso do computador de forma fácil e eficiente. Pode-se dizer que o SO de um computador é a parte de software que estende os recursos de hardware da máquina, tornando a utilização do equipamento mais fácil, mais eficiente e mais confiável. Primeiros sistemas - somente hardware programas carregados na memória através de chaves, fita de papel ou cartões perfurados inicio da execução através de botões andamento da execução acompanhado através de luzes no painel resultado em papel (impressora), fita de papel ou cartão perfurado 7 8 Se ocorria erro, o programa era parado para que a memória e os registradores fossem examinados. Consertava-se o programa e repetia-se o processo. Programador = operador Tabela de horário para reservas de horas de máquina Quando surgiram FORTRAN e COBOL, a operação ficou mais difícil Execução de um programa FORTRAN: Carrega fita magnética com o compilador Lê programa de cartões, gera assembler em cartão Carrega fita com o montador Lê o programa assembler e gera código de máquina, sem as rotinas da biblioteca. Carrega fita com o ligador Lê código de máquina e liga com as rotinas da biblioteca, gerando código EXE carrega EXE e executa programa 9 10 Características do Ambiente Grande tempo de preparação para colocar e retirar fitas e colocar e tirar cartões Erro em qualquer etapa = volta ao início Durante a preparação a CPU ficava parada Uso de operadores profissionais = preparação mais rápida programador sem acesso à console Lotes (batches): jobs com necessidades parecidas reunidos em lotes para minimizar as trocas de fitas Melhorou, mas ainda em muitos momentos a CPU ficava parada 11 12

Monitor residente Pequeno programa que ficava o tempo todo na memória, transferindo automaticamente o controle de um job para outro (era um seqüenciador automático de jobs) Sua vantagem era a redução do tempo desperdiçado entre 2 jobs do mesmo batch Pode ser considerado o primeiro SO criado (bastante rudimentar). Organização do Monitor Residente Tabela de interrupção Controladores de Dispositivos (drivers) Interpretador de cartões e Seqüenciador de jobs Área para programas dos usuários 13 14 Monitor Residente Em resumo, o monitor residente: implementa um interpretador de linguagem de comandos (linguagem para comunicação com o SO) implementa rotinas que facilitam o uso do harware Performance Todas mudanças feitas visaram obter melhor desempenho do computador O maior avanço foi a operação humana ter sido substituída pelo monitor residente Contudo, a CPU passava a maior parte do tempo esperando por I/O (dispositivos mecânicos) Enquanto um compilador era capaz de processar 300 linhas (cartões) por segundo, a leitora conseguia ler apenas 2 cartões/seg (i.é, a CPU ficava parada em 93% do tempo, durante a compilação) Técnicas para minimizar o problema: operação off-line bufferização spooling 15 16 Operação off-line Um computador satélite lia cartões e gravava suas imagens em fita magnética O computador principal trabalhava apenas com fitas magnéticas: Dados eram lidos de fitas magnéticas (não de cartões) e resultados eram escritos em fitas magnéticas (não em impressoras), pois estas unidades eram bem mais rápidas que leitoras de cartão e impressoras Os resultados das execuções (gravados em fita) eram descarregados na impressora por outro computador satélite Bufferização Tenta manter a CPU e os dispositivos de I/O o tempo todo ocupados Operação de I/O acontece em paralelo com a computação, via canais (I/O processors) Comunicação através de buffer 17 18

Bufferização - características O buffer pode ser grande, mas é limitado Maior eficiência é obtida quando o uso do buffer está associado com interrupções Quando um dispositivo de I/O termina a tarefa, ele interrompe a CPU. O hardware salva o contexto de execução na pilha e busca o endereço do tratador de interrupções na tabela de interrupção A bufferização é pouco eficiente no caso de jobs do tipo I/O-bound (job que faz muito I/O) ou CPU-bound (job que faz pouco I/O). Spooling Técnica que utiliza o disco como um grande buffer. E/S e computação são realizadas simultaneamente. Fitas mágnéticas: acesso seqüencial (não permite acesso simultâneo) Disco magnético: acesso a qualquer posição e a qualquer momento 19 20 Spooling Os jobs a serem executados ficam em filas, no disco. Existem tabelas que indicam a localização dos jobs e de seus dados. Job pool: estrutura de dados importante, identifica os jobs que se encontram no disco prontos para a execução Job scheduling: processo de escolha do próximo processo a ser executado entre os que estão no disco Multiprogramação Aumenta a utilização da CPU, tendo sempre algum programa para executar: um job é escolhido e inicia a execução job pára devido a um I/O SO escolhe outro job e inicia sua execução (sem multiprogramação, a CPU teria que parar) quando o primeiro job é liberado (acaba o seu I/O) ele fica apto a receber a CPU novamente 21 22 Multiprogramação Sistemas Operacionais Clássicos Os primeiros sistemas multiprogramados foram implementados através da extensão da técnica de spooling. O SO continha 3 grandes processos: input spooler executive output spooler Batch Time-sharing Real-time 23 24

Sistemas Operacionais tipo Batch Com o passar do tempo, a palavra batch passou a designar um processo onde o usuário não interage com o seu programa O que caracteriza um SO batch é o fato de não haver comunicação do usuário com o seu programa, durante a execução Tempo de turnaround: tempo entre a entrega dos cartões e o recebimento da listagem com os resultados da execução Sistemas Operacionais Time-sharing Um SO time-sharing permite que diversos usuários compartilhem o computador em um dado instante, dando a cada um a sensação de que o computador encontra-se dedicado a ele. 25 26 Time-sharing Time-sharing Cada usuário possui seu programa (ou parte dele) na memória principal. O processador é alocado por um pequeno período de tempo (fatia de tempo ou time slice) a cada programa de usuário. Cada programa executa até ser interrompido (final de fatia de tempo ou solicitação de I/O). Quando interrompido os valores dos registradores são salvos e o processador é alocado para outro processo Implementação: SO dispõe de multiprogramação cada usuário possui um job ativo vinculado a um terminal a comunicação via terminal é lenta, sobra CPU para os outros terminais os usuários compartilham a CPU (time-sharing) 27 28 Sistema de Tempo Real Principal característica: Deve responder, dentro de um período de tempo previamente especificado (geralmente muito pequeno), a estímulos gerados externamente Portanto, os tempos de resposta são críticos Um SO tempo real utiliza conceitos de multiprogramação e oferece facilidades para as aplicações de tempo real Entre as facilidades está um escalonador preemptivo que leva em conta as prioridades dos processos. Proteção Nos primeiros sistemas tinha-se um usuário por vez, com controle completo sobre a máquina SO começa a compartilhar recursos entre usuários (maior eficiência) 29 30

Compartilhamento Melhora a utilização do sistema, mas aumenta os problemas de segurança Proteção realizada parte em software e parte em hardware hardware: utiliza interrupções geradas internamente pela CPU (traps). Proteção de I/O A programação de rotinas de E/S é uma programação de baixo nível (detalhada) muito sujeita a erros. Por isso, essas rotinas fazem parte do SO. Isto resulta em duas vantagens: (1) garante segurança para o SO (2) facilita a tarefa de programação para os usuários Mas o que garante que um programa de usuário (por erro ou por malícia) não tente acessar um dispositivo de E/S diretamente? Solução: hardware passa a trabalhar em dois modos modo usuário modo monitor 31 32 Proteção de I/O As instruções de I/O são privilegiadas, só podem ser executadas em modo monitor. Se um programa de usuário tenta executar uma destas instruções, ocorre um trap. O programa usuário só pode realizar I/O através do SO Proteção de Memória Para que o usuário não receba a CPU em modo monitor ou corrompa o funcionamento do sistema, é necessário proteger a Tabela de Interrupção e as rotinas do monitor Um registrador limite (fence register) é suficiente para sistemas monoprogramados Em modo usuário, cada endereço é comparado com o fence register. Se o programa tenta acessar um endereço menor que o valor do fence register ocorre um trap (e a execução vai para o SO) 33 34 Proteção de Memória Para sistemas multiprogramados, o hardware precisa utilizar dois registradores: Registrador limite inferior Registrador limite superior Toda vez que o SO seleciona um novo programa para executar, ele atualiza os valores desse dois registradores para que eles indiquem a área ocupada pelo programa. Em modo usuário, cada endereço é comparado com os dois registradores. Proteção contra a monopolização da CPU Um job deve ser impedido de usar a CPU eternamente Temporizador (timer) interrompe a CPU a cada n milisegundos (n é da ordem de 20 ms) Cada interrupção ativa o monitor, que decide em continuar ou não o programa do usuário 35 36