SlideShare una empresa de Scribd logo
1 de 41
Sistemas Operacionais

Visão geral e evolução dos SOs
Sistema Operacional?

Um programa que controla a execução dos programas de
 aplicação

Uma interface entre o usuário e o h/w

Um programa que mascara os detalhes do h/w




       Duas visões: gerenciador de recursos e
                  máquina virtual
SO como máquina virtual


                     usuário

                                     projetis-
 progra-                             ta do SO
 mador
                   Aplicativos

                   Utilitários

               Sistema Operacional

                 Máquina física
Máquina virtual: serviços


Criação de programas

Execução de programas

Acesso a dispositivos de E/S

Acesso controlado a arquivos

Acesso ao sistema

Detecção e correção de erros

Contabilidade
Máquina virtual: serviços

Criação de programas


  SO oferece facilidades: editores e depuradores
  tipicamente estes serviços não são parte do SO e sim
     dos utilitários
  contudo, são acessíveis através do SO
Máquina virtual: serviços

Execução de programas


  carregamento do programa em memória
  arquivos e dispositivos de E/S devem ser iniciados
  outros recursos devem ser preparados
  SO gerencia estas ações para o usuário
Máquina virtual: serviços

Acesso a dispositivos de E/S


  cada dispositivo tem seu próprio conjunto de instruções
    ou sinais de controle
  SO esconde estas ações e usuário só executa leituras e
   escritas
Máquina virtual: serviços

Acesso controlado a arquivos


  usuário não se preocupa coma natureza do dispositivo
    de E/S (disco, fita, ...)
  usuário não se preocupa com formato do arquivo no
    dispositivo
  mecanismos de proteção em caso de múltiplos usuários
Máquina virtual: serviços

Acesso ao sistema (recursos)


  SO controla acesso ao sistema como um todo e a
   recursos específicos em particular
  proteção contra acesso não autorizado
  resolução de conflitos em caso de disputa
Máquina virtual: serviços

Detecção e correção de erros


  erros de h/w: memória, dispositivos, ...
  erros de s/w: estouro aritmético, acesso proibido a certas
    posições de memória
  correção da situação com mínimo de impacto no sistema
Máquina virtual: serviços

Contabilidade

  coleta de estatísticas
  monitoramento de desempenho
  uso: melhoria de desempenho, melhorias futuras
  tarifação em um sistema multiusuário
SO: gerenciador de recursos
   Sistema computacional                   Dispositivos de E/S

     (núcleo          controlador de E/S
       do)
       SO             controlador de E/S
                               •                    •
                               •                    •
    programas                  •                    •
        e             controlador de E/S
      dados
                memória                                   Núcleo
                                                • funções mais utilizadas
      processador   •••   processador           • residente na MP
                                                • decide utilização de
                                                recursos e escalonamento
Sistema operacional

É um programa!

Direciona o processador no uso dos recursos do sistema e
  sobre o momento de executar outros programas

SO libera o processador para que outros programas possam
 executar
Evolução de um SO

Um SO deve evoluir ao longo do tempo para (novas
 versões):

   receber novos tipos de hardware (e.g., novo terminal
     gráfico)
   atender novos serviços (e.g., sistema de janelas)
   reparar defeitos
Inicialmente:

Usuário fazia tudo – processamento serial!

Ociosidade da máquina
Monitores

Software que controla a execução de outros programas

SO de lote (batch): jobs (tarefas) são carregados juntos

Monitor é residente em memória principal

Utilitários são carregados à medida da necessidade

Usuário submete seu job e provê entrada

Grau de ociosidade menor, mas execução seqüencial dos
  diferentes jobs
Monitor: mapa de memória

       processamento de interrupção


       controladores de dispositivos
                                       Monitor (residente)
        seqüenciamento de tarefas
        interpretador de linguagem
                de controle

              programas do
                 usuário
JCL: job control language

Tipo especial de linguagem de programação

Direciona o monitor:

   que compilador usar
   que dados usar
   que dispositivos montar
JCL: exemplo

$JOB
$FTN
...
$LOAD          instruções Fortran
$RUN
...
$END
               dados
Características de h/w desejáveis

Proteção de memória
  não permitir que a área ocupada pelo monitor seja
    alterada
Temporização (inicio de multiprogramação)
  prevenir um job de monopolizar o sistema
  ocorrência de interrupção quando o tempo termina
Características de h/w desejáveis

Instruções privilegiadas

   executadas somente pelo monitor
      e.g., instruções de E/S
   ocorrência de interrupção caso o programa do usuário
     tente uma dessas instruções
Interrupções

   flexibilidade para controlar programas do usuário
Monitores
Vantagens:

Proteção

Independência

Organização

Desvantagens

Monitor na Memória

Sequenciamento de processos

Ainda: sobrecarga de troca entre monitor e processos
Multiprogramação
Permite que o processador execute outro programa
  enquanto um espera por E/S




                      espera
        exec                         exec

                                                   tempo

        exec   exec       espera     exec   exec
         A      B                     A      B

                                                   tempo
Vale a pena?

Exemplo: computador com 256K de memória (só para
  usuário)



                       tarefa 1    tarefa 2    tarefa 3
Tipo de tarefa        intensiva   intensiva   intensiva
                      em UCP        em E/S      em E/S
Duração                 5 min       15 min      10 min
Memória necessária       50K         100K        80K
Precisa disco?           não          não        sim
Precisa terminal?        não          sim        não
Precisa impressora?      não          não        sim
Vejamos ...
  100%




     0
         0        5        10       15   20        25    30
         tarefa 1          tarefa 2           tarefa 3


  100%



                                          utilização da UCP:
     0
         0
         tarefa 1
                   5        10     15
                                          monoprogramação X
                                          multiprogramação
                   tarefa 2
              tarefa 3
Contudo ...

Necessidade de hardware extra, como:

  E/S por interrupção
  gerenciamento de memória
Necessidade de software extra, como:

  escalonamento de processos
  proteção de arquivos
  sincronização entre processos
Time-sharing

Uso de multiprogramação para atendimento de tarefas
  interativas

UCP é compartilhada

Acesso via terminais

SO deve atender a um objetivo: minimizar o tempo de
 espera de cada usuário

  Time slice para cada usuário vantajoso pois usuários
    são “lentos”
Funções Principais em um SO

Processos

Concorrência

Escalonamento de Processos

Gerenciamento de Memória

Memória Virtual

Segurança e Proteção
Processos

Mais geral que programa

Consiste em um código executável e seus dados
  associados, além de um contexto de execução

Linhas principais de desenvolvimento de sistemas de
  computadores que levaram a especificação de processos:
  Multiprogramação em batch: maximizar utilização devido E/S
  Time sharing: utilização assíncrona do sistema por usuários
  Sistemas de tempo real: múltiplos acessos a base de dados
Concorrência

Principais problemas:

  sincronização (e.g., perda de sinais)

                   sincronismo
    P1   leitura                  P1   lê do buffer


  exclusão mútua (e.g., bases de dados)

          P1            Recurso           P2


  bloqueios (espera infinita): deadlocks
Escalonamento de processos
Como escolher qual processo ocupará o processador?

Alguns critérios:

   justeza (fairness)
      mas prioridades diferentes

   diferenciação entre classes
      tempos de resposta diferentes

   eficiência
      vazão máxima
      minimizar tempo de resposta

Níveis de escalonamento
Gerenciamento de memória
Devido ao compartilhamento da MP

Requisitos:

   Gerenciar de acordo com hierarquia de memória

   Isolação/proteção da área de MP entre processos

   Demandas dinâmicas: módulos, procedimentos e área de dados
       Ex.: pilha de memória

   Proteção e controle de acesso
       Ex.: áreas compartilhadas entre processos

   Armazenamento permanente

Solução: memória virtual + sistema de arquivos
Memória virtual?

  i) visão do usuário

        processador                     memória                  arquivos
           virtual                       virtual
                                                               memória
                                                               perene
                          read, write                copy


 ii) visão do projetista
 do SO
 processador         mapeamento                 memória                memória
     real            de endereços               principal              auxiliar

                                        endereço            swapping
               endereço
                                        de memória
               virtual
                                        física
Segurança e proteção

Uma grande preocupação hoje em dia. O que está
 envolvido?

      controle de acesso: quem pode acessar sistema e
       dados?
      controle de fluxo de informação: quem pode receber
       o que
      certificação: como saber quem é quem?
Formas de estruturação

SOs cada vez mais complexos. Para estruturar, só a
 programação modular não é suficiente


      estruturação em níveis
      arquitetura em micro-núcleo
      threads e multithreads
Formas de estruturação

Em sistemas grandes
  Camadas hierárquicas
  abstração de informações

      Cada camada contém funções de mesma
       complexidade, dimensão e abstração
      Um nível maior utiliza funções de um nível abaixo
      Os níveis de funcionalidade coincidem com os níveis
       de um sistema computacional
Formas de estruturação

Nível 1 – componentes
   SO limpa registradores, acessa célula de memória
Nível 2 – instruções da máquina
   SO executa instruções L2 para executar serviços
Nível 3 – lida com procedimentos e subrotinas
Nível 4 - tratamento de interrupções
   Parte por software para salvar contexto
Formas de estruturação
Nível 5 – manipulação de processos
  Rotinas de suspensão, escalonamento, sincronização, semáforos, ...
Nível 6 – manipulação de dispositivos de memória
  secundária
  Leitura e gravação, manipulação de cabeçote
Nível 7 – manipulação de memória virtual
  Transferência entre MP e MS
  Por ex., utiliza nível 6
Nível 8 – gerenciamento de compartilhamento de
  informação e troca de msg s entre processos
Formas de estruturação
Nível 9 – manipulação de armazenamento secundário
   Mais alto nível que 6
Nível 10 – interfaces para acesso a dispositivos externos
Nível 11 – rotinas de associação de identificadores de
  processos externos (usuários) e internos (endereços)
Outras formas

Multiprocessamento simétrico

  cada processador executa cópia do SO
SOs distribuídos

  fornece a ilusão de uma única memória principal
Sistemas móveis
Outros requisitos

Sistemas de tempo real (TR)
  normalmente usados em aplicações dedicadas
  requisitos temporais bem definidos
  sistemas TR críticos
    vale a pena usar memória virtual?

  sistemas TR não-críticos
Consumo de energia
Caracteristicas Atuais
Melhor tecnogia  melhor h/w  melhor s/w
      SO mais elaborado: lida com redes, maior MP, multimídia, web,
       computação cliente-servidor
Microkernel – mínimo de funções essenciais
      Gerenciador de espaço de gerenciamento
      Comunicação entre processos
      Escalonamento
Multithread – aplicação composta de vários threads

             Threads                           Processos
    unidade de um processo         Visão somente de suas variáveis
    Compartilha informações        Comunicação troca msg

Más contenido relacionado

La actualidad más candente

Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisRonildo Oliveira
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fsopaulocsm
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisMauro Duarte
 
Revsão sobre sistemas operacionais
Revsão sobre sistemas operacionaisRevsão sobre sistemas operacionais
Revsão sobre sistemas operacionaisRodrigo Rodrigues
 
Questões de Sistemas Operacionais
Questões de Sistemas Operacionais Questões de Sistemas Operacionais
Questões de Sistemas Operacionais Joicy Souza
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)Vitor Hugo Melo Araújo
 
1 informatica básica imp5555555
1 informatica básica imp55555551 informatica básica imp5555555
1 informatica básica imp5555555Marcia Puntel
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisRonildo Oliveira
 
Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Diego Rodrigues
 

La actualidad más candente (19)

Arquitetura 8 3
Arquitetura 8 3Arquitetura 8 3
Arquitetura 8 3
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
Aula Inicial - Operador de Microcomputador - SENAI
Aula Inicial - Operador de Microcomputador - SENAIAula Inicial - Operador de Microcomputador - SENAI
Aula Inicial - Operador de Microcomputador - SENAI
 
Arquitetura 8 1
Arquitetura 8 1Arquitetura 8 1
Arquitetura 8 1
 
Portugues
PortuguesPortugues
Portugues
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fso
 
Aula 10 Software - sistema operacional e aplicativos
Aula 10 Software - sistema operacional e aplicativosAula 10 Software - sistema operacional e aplicativos
Aula 10 Software - sistema operacional e aplicativos
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
ICC-07 Softwares - Introdução
ICC-07 Softwares - IntroduçãoICC-07 Softwares - Introdução
ICC-07 Softwares - Introdução
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
 
Revsão sobre sistemas operacionais
Revsão sobre sistemas operacionaisRevsão sobre sistemas operacionais
Revsão sobre sistemas operacionais
 
Questões de Sistemas Operacionais
Questões de Sistemas Operacionais Questões de Sistemas Operacionais
Questões de Sistemas Operacionais
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)
 
1 informatica básica imp5555555
1 informatica básica imp55555551 informatica básica imp5555555
1 informatica básica imp5555555
 
Apontamentos
ApontamentosApontamentos
Apontamentos
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas Operacionais
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Sistemas Operacionais aula 01
Sistemas Operacionais aula 01
 

Similar a SOs em 40

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJoseVieira75
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionaisSuperTec1
 
Resumo sistemas operativos - joao marques
Resumo   sistemas operativos - joao marquesResumo   sistemas operativos - joao marques
Resumo sistemas operativos - joao marquesdjoaquim7
 
Aula 01 - Introducao aos Sistemas Operacionais.pptx
Aula 01 - Introducao aos Sistemas Operacionais.pptxAula 01 - Introducao aos Sistemas Operacionais.pptx
Aula 01 - Introducao aos Sistemas Operacionais.pptxAlexandredePaula28
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Introdução aos Sistemas Operacionais
Introdução aos Sistemas OperacionaisIntrodução aos Sistemas Operacionais
Introdução aos Sistemas OperacionaisRodrigoMalara1
 
Sistemas operacionais introdução
Sistemas operacionais introduçãoSistemas operacionais introdução
Sistemas operacionais introduçãoCarlos Melo
 
resumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfresumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfRafaelPilan1
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacaowebphotoshop
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 
Sistemas Operacionais aula 02
Sistemas Operacionais  aula 02 Sistemas Operacionais  aula 02
Sistemas Operacionais aula 02 Diego Rodrigues
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 

Similar a SOs em 40 (20)

aula2so.ppt
aula2so.pptaula2so.ppt
aula2so.ppt
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
Resumo sistemas operativos - joao marques
Resumo   sistemas operativos - joao marquesResumo   sistemas operativos - joao marques
Resumo sistemas operativos - joao marques
 
Aula 01 - Introducao aos Sistemas Operacionais.pptx
Aula 01 - Introducao aos Sistemas Operacionais.pptxAula 01 - Introducao aos Sistemas Operacionais.pptx
Aula 01 - Introducao aos Sistemas Operacionais.pptx
 
Aula01 so
Aula01 soAula01 so
Aula01 so
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Introdução aos Sistemas Operacionais
Introdução aos Sistemas OperacionaisIntrodução aos Sistemas Operacionais
Introdução aos Sistemas Operacionais
 
Aula 02
Aula 02Aula 02
Aula 02
 
Sistemas operacionais introdução
Sistemas operacionais introduçãoSistemas operacionais introdução
Sistemas operacionais introdução
 
io
ioio
io
 
resumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfresumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdf
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
Aula01
Aula01Aula01
Aula01
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
So cap01
So cap01So cap01
So cap01
 
Sistemas Operacionais aula 02
Sistemas Operacionais  aula 02 Sistemas Operacionais  aula 02
Sistemas Operacionais aula 02
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 

Más de Carlos Melo

Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçaoCarlos Melo
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeCarlos Melo
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitorCarlos Melo
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentosCarlos Melo
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automaçãoCarlos Melo
 
Apresentação12
Apresentação12Apresentação12
Apresentação12Carlos Melo
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2Carlos Melo
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1Carlos Melo
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1Carlos Melo
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básicaCarlos Melo
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutoresCarlos Melo
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destecCarlos Melo
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Carlos Melo
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descriçãoCarlos Melo
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2Carlos Melo
 

Más de Carlos Melo (20)

Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
Zener
ZenerZener
Zener
 
Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçao
 
Capacitancia
CapacitanciaCapacitancia
Capacitancia
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tarde
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitor
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentos
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automação
 
Apresentação12
Apresentação12Apresentação12
Apresentação12
 
Pneumática
PneumáticaPneumática
Pneumática
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básica
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutores
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destec
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descrição
 
Recuperação 1
Recuperação 1Recuperação 1
Recuperação 1
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2
 

SOs em 40

  • 1. Sistemas Operacionais Visão geral e evolução dos SOs
  • 2. Sistema Operacional? Um programa que controla a execução dos programas de aplicação Uma interface entre o usuário e o h/w Um programa que mascara os detalhes do h/w Duas visões: gerenciador de recursos e máquina virtual
  • 3. SO como máquina virtual usuário projetis- progra- ta do SO mador Aplicativos Utilitários Sistema Operacional Máquina física
  • 4. Máquina virtual: serviços Criação de programas Execução de programas Acesso a dispositivos de E/S Acesso controlado a arquivos Acesso ao sistema Detecção e correção de erros Contabilidade
  • 5. Máquina virtual: serviços Criação de programas SO oferece facilidades: editores e depuradores tipicamente estes serviços não são parte do SO e sim dos utilitários contudo, são acessíveis através do SO
  • 6. Máquina virtual: serviços Execução de programas carregamento do programa em memória arquivos e dispositivos de E/S devem ser iniciados outros recursos devem ser preparados SO gerencia estas ações para o usuário
  • 7. Máquina virtual: serviços Acesso a dispositivos de E/S cada dispositivo tem seu próprio conjunto de instruções ou sinais de controle SO esconde estas ações e usuário só executa leituras e escritas
  • 8. Máquina virtual: serviços Acesso controlado a arquivos usuário não se preocupa coma natureza do dispositivo de E/S (disco, fita, ...) usuário não se preocupa com formato do arquivo no dispositivo mecanismos de proteção em caso de múltiplos usuários
  • 9. Máquina virtual: serviços Acesso ao sistema (recursos) SO controla acesso ao sistema como um todo e a recursos específicos em particular proteção contra acesso não autorizado resolução de conflitos em caso de disputa
  • 10. Máquina virtual: serviços Detecção e correção de erros erros de h/w: memória, dispositivos, ... erros de s/w: estouro aritmético, acesso proibido a certas posições de memória correção da situação com mínimo de impacto no sistema
  • 11. Máquina virtual: serviços Contabilidade coleta de estatísticas monitoramento de desempenho uso: melhoria de desempenho, melhorias futuras tarifação em um sistema multiusuário
  • 12. SO: gerenciador de recursos Sistema computacional Dispositivos de E/S (núcleo controlador de E/S do) SO controlador de E/S • • • • programas • • e controlador de E/S dados memória Núcleo • funções mais utilizadas processador ••• processador • residente na MP • decide utilização de recursos e escalonamento
  • 13. Sistema operacional É um programa! Direciona o processador no uso dos recursos do sistema e sobre o momento de executar outros programas SO libera o processador para que outros programas possam executar
  • 14. Evolução de um SO Um SO deve evoluir ao longo do tempo para (novas versões): receber novos tipos de hardware (e.g., novo terminal gráfico) atender novos serviços (e.g., sistema de janelas) reparar defeitos Inicialmente: Usuário fazia tudo – processamento serial! Ociosidade da máquina
  • 15. Monitores Software que controla a execução de outros programas SO de lote (batch): jobs (tarefas) são carregados juntos Monitor é residente em memória principal Utilitários são carregados à medida da necessidade Usuário submete seu job e provê entrada Grau de ociosidade menor, mas execução seqüencial dos diferentes jobs
  • 16. Monitor: mapa de memória processamento de interrupção controladores de dispositivos Monitor (residente) seqüenciamento de tarefas interpretador de linguagem de controle programas do usuário
  • 17. JCL: job control language Tipo especial de linguagem de programação Direciona o monitor: que compilador usar que dados usar que dispositivos montar
  • 18. JCL: exemplo $JOB $FTN ... $LOAD instruções Fortran $RUN ... $END dados
  • 19. Características de h/w desejáveis Proteção de memória não permitir que a área ocupada pelo monitor seja alterada Temporização (inicio de multiprogramação) prevenir um job de monopolizar o sistema ocorrência de interrupção quando o tempo termina
  • 20. Características de h/w desejáveis Instruções privilegiadas executadas somente pelo monitor e.g., instruções de E/S ocorrência de interrupção caso o programa do usuário tente uma dessas instruções Interrupções flexibilidade para controlar programas do usuário
  • 22. Multiprogramação Permite que o processador execute outro programa enquanto um espera por E/S espera exec exec tempo exec exec espera exec exec A B A B tempo
  • 23. Vale a pena? Exemplo: computador com 256K de memória (só para usuário) tarefa 1 tarefa 2 tarefa 3 Tipo de tarefa intensiva intensiva intensiva em UCP em E/S em E/S Duração 5 min 15 min 10 min Memória necessária 50K 100K 80K Precisa disco? não não sim Precisa terminal? não sim não Precisa impressora? não não sim
  • 24. Vejamos ... 100% 0 0 5 10 15 20 25 30 tarefa 1 tarefa 2 tarefa 3 100% utilização da UCP: 0 0 tarefa 1 5 10 15 monoprogramação X multiprogramação tarefa 2 tarefa 3
  • 25. Contudo ... Necessidade de hardware extra, como: E/S por interrupção gerenciamento de memória Necessidade de software extra, como: escalonamento de processos proteção de arquivos sincronização entre processos
  • 26. Time-sharing Uso de multiprogramação para atendimento de tarefas interativas UCP é compartilhada Acesso via terminais SO deve atender a um objetivo: minimizar o tempo de espera de cada usuário Time slice para cada usuário vantajoso pois usuários são “lentos”
  • 27. Funções Principais em um SO Processos Concorrência Escalonamento de Processos Gerenciamento de Memória Memória Virtual Segurança e Proteção
  • 28. Processos Mais geral que programa Consiste em um código executável e seus dados associados, além de um contexto de execução Linhas principais de desenvolvimento de sistemas de computadores que levaram a especificação de processos: Multiprogramação em batch: maximizar utilização devido E/S Time sharing: utilização assíncrona do sistema por usuários Sistemas de tempo real: múltiplos acessos a base de dados
  • 29. Concorrência Principais problemas: sincronização (e.g., perda de sinais) sincronismo P1 leitura P1 lê do buffer exclusão mútua (e.g., bases de dados) P1 Recurso P2 bloqueios (espera infinita): deadlocks
  • 30. Escalonamento de processos Como escolher qual processo ocupará o processador? Alguns critérios: justeza (fairness) mas prioridades diferentes diferenciação entre classes tempos de resposta diferentes eficiência vazão máxima minimizar tempo de resposta Níveis de escalonamento
  • 31. Gerenciamento de memória Devido ao compartilhamento da MP Requisitos: Gerenciar de acordo com hierarquia de memória Isolação/proteção da área de MP entre processos Demandas dinâmicas: módulos, procedimentos e área de dados Ex.: pilha de memória Proteção e controle de acesso Ex.: áreas compartilhadas entre processos Armazenamento permanente Solução: memória virtual + sistema de arquivos
  • 32. Memória virtual? i) visão do usuário processador memória arquivos virtual virtual memória perene read, write copy ii) visão do projetista do SO processador mapeamento memória memória real de endereços principal auxiliar endereço swapping endereço de memória virtual física
  • 33. Segurança e proteção Uma grande preocupação hoje em dia. O que está envolvido?  controle de acesso: quem pode acessar sistema e dados?  controle de fluxo de informação: quem pode receber o que  certificação: como saber quem é quem?
  • 34. Formas de estruturação SOs cada vez mais complexos. Para estruturar, só a programação modular não é suficiente  estruturação em níveis  arquitetura em micro-núcleo  threads e multithreads
  • 35. Formas de estruturação Em sistemas grandes Camadas hierárquicas abstração de informações  Cada camada contém funções de mesma complexidade, dimensão e abstração  Um nível maior utiliza funções de um nível abaixo  Os níveis de funcionalidade coincidem com os níveis de um sistema computacional
  • 36. Formas de estruturação Nível 1 – componentes SO limpa registradores, acessa célula de memória Nível 2 – instruções da máquina SO executa instruções L2 para executar serviços Nível 3 – lida com procedimentos e subrotinas Nível 4 - tratamento de interrupções Parte por software para salvar contexto
  • 37. Formas de estruturação Nível 5 – manipulação de processos Rotinas de suspensão, escalonamento, sincronização, semáforos, ... Nível 6 – manipulação de dispositivos de memória secundária Leitura e gravação, manipulação de cabeçote Nível 7 – manipulação de memória virtual Transferência entre MP e MS Por ex., utiliza nível 6 Nível 8 – gerenciamento de compartilhamento de informação e troca de msg s entre processos
  • 38. Formas de estruturação Nível 9 – manipulação de armazenamento secundário Mais alto nível que 6 Nível 10 – interfaces para acesso a dispositivos externos Nível 11 – rotinas de associação de identificadores de processos externos (usuários) e internos (endereços)
  • 39. Outras formas Multiprocessamento simétrico cada processador executa cópia do SO SOs distribuídos fornece a ilusão de uma única memória principal Sistemas móveis
  • 40. Outros requisitos Sistemas de tempo real (TR) normalmente usados em aplicações dedicadas requisitos temporais bem definidos sistemas TR críticos vale a pena usar memória virtual? sistemas TR não-críticos Consumo de energia
  • 41. Caracteristicas Atuais Melhor tecnogia  melhor h/w  melhor s/w SO mais elaborado: lida com redes, maior MP, multimídia, web, computação cliente-servidor Microkernel – mínimo de funções essenciais Gerenciador de espaço de gerenciamento Comunicação entre processos Escalonamento Multithread – aplicação composta de vários threads Threads Processos  unidade de um processo  Visão somente de suas variáveis  Compartilha informações  Comunicação troca msg