Sistemas Operacionais
           Profa. Regina Borges de Araujo
                       Livro Texto
• Sistemas Operacionais Modernos. Tanenbaum, A., Pearson
  – Prentice Hall, 2003

                  Outras Referências
• Operating Systems – Deitel, H., Deitel, P. & Choffnes, D.,
  3rd edition, Pearson, Prentice Hall, 2003
• Sistemas Operacionais – Conceitos e Aplicações.
  Silberschatz, Galvin & Gagne,Editora Campus, 2001

              Informações sobre o curso
      http://www.dc.ufscar.br/~regina/apresentaso.html

                                                               1
Capítulo 1

          Introdução
1.1 O que é um sistema operacional
1.2 História dos sistemas operacionais
1.3 O zoológico de sistemas operacionais
1.4 Revisão sobre hardware de computadores
1.5 Conceitos sobre sistemas operacionais
1.6 Chamadas ao sistema
1.7 Estrutura de sistemas operacionais
                                             2
Introdução




• Um sistema computacional consiste em
  – hardware
  – programas do sistema
  – programas de aplicação
                                         3
O que é um Sistema Operacional

• É uma máquina estendida
  – Oculta os detalhes complicados que têm quer ser
    executados
  – Apresenta ao usuário uma máquina virtual, mais
    fácil de usar
• É um gerenciador de recurso
  – Cada programa tem um tempo com o recurso
  – Cada programa tem um espaço no recurso

                                                      4
História dos Sistemas Operacionais (1)

• Primeira geração 1945 - 1955
   – Válvulas, painéis de programação
• Segunda geração 1955 - 1965
   – transistores, sistemas em lote
• Terceira geração 1965 – 1980
   – CIs e multiprogramação
• Quarta geração 1980 – presente
   – Computadores pessoais
• Quinta geração – a partir do ano 2000
   – Computação ubíqua


                                          5
História dos Sistemas Operacionais (2)
              Segunda geração 1955 - 1965




Antigo sistema em lote
   (a) traz os cartões para o 1401
   (b) lê os cartões para a fita
   (c) e (d) coloca a fita no 7094 que executa o processamento
   (e) e (f) coloca a fita no 1401 que imprime a saída
                                                                 6
História dos Sistemas Operacionais (3)




Estrutura de um job FMS típico – 2a. geração
                                               7
História dos Sistemas Operacionais (4)
        Terceira geração 1965 – 1980




      • Sistema de multiprogramação
        – Três jobs na memória
      • Spooling
      • Compartilhamento de tempo
                                         8
História dos Sistemas Operacionais (5)
           Quarta geração 1980 – presente

• Intel 8080 - CP/M
  – domínio de 5 anos - popularização dos PCs
• IBM projeta o IBM/PC, DOS/BASIC, MS-DOS
• IBM PC/AT/80286 em 1983 (morte do CP/M)
• Doug Engelbart inventa GUI (adotada pela Xerox
  e incorporada em suas máquinas)
  –   LISA (Apple) incorpora GUI – fracasso (alto custo)
  –   Apple MacIntosh – enorme sucesso
  –   MS-GUI: W3.0/3.1/3.11/W95,W98, WMe – W/NT
  –   UNIXGUI: XWindows (MIT), Motif (roda sobre X)


                                                           9
História dos Sistemas Operacionais (6)
         Quarta geração 1980 – presente

• Sistemas Operacionais de Rede
• Sistemas Distribuídos
• Internet/WWW
  – Servidores WWW
     • Linux, FreeBSD
     • Solaris
  – MS/Windows x Linux
• Internet 2
  – Novas Aplicações (MM, Realidade Virtual)
                                               10
História dos Sistemas Operacionais (7)
       Quinta geração – a partir de 2000


         Computação Ubíqua
  “É a visão de um mundo no qual o custo do
   poder computacional e das comunicações
   digitais tornam-se tão baratos a ponto de
  poderem ser embutidos em todos os objetos
         que nos cercam no dia-a-dia”
                 Frank Stajano, 2003 – Cambridge University


                                                              11
História dos Sistemas Operacionais (8)
     Quinta geração – Computação Ubíqua




                                          12
O Zoológico de Sistemas
            Operacionais (1)
• Sistemas Operacionais de Computadores de Grande
  Porte
   – Capacidade de E/S, processamento de vários jobs de uma vez
   – Serviços típicos: lote, processamento de transação e tempo
     compartilhado
• Sistemas Operacionais de Servidores
   – Servem múltiplos usuários de uma vez (compartilhamento de
     recursos de software e hardware) via rede.
• Sistemas Operacionais de Multiprocessadores
   – Múltiplas CPUs num único sistema (computadores paralelos,
     multicomputadores ou multiprocessadores)
• Sistemas Operacionais de Computadores Pessoais


                                                                  13
O Zoológico de Sistemas
             Operacionais (2)
• Tempo Real
   – Tempo é o parâmetro chave
   – Tempo real crítico x não crítico
• Embarcados
   – Pequenos computadores e TVs, celulares, fornos de microondas
   – Restrições de tamanho, memória e potência (PalmOS, W/CE –
     Consumer Electronics)
• Cartão Inteligente
   – Restrições extremas de tamanho de memória e poder de
     processamento
   – JVM em ROM
   – S.O. primitivo gerencia desde uma única função até tratamento de
     múltiplas applets


                                                                        14
Revisão sobre hardware de
          computadores (1)




                                      Bus




Componentes de um computador pessoal simples

                                               15
Revisão sobre hardware de
            computadores (2)
Processadores
• Busca, decodifica e executa instruções
• Cada UCP tem um conjunto específico de instruções a
  executar
• Tempo de acesso x tempo de execução => leva à necessidade
  de ter Registradores (PC, ponteiro de pilha, PSW)
• S.O. sabe sobre todos os registradores (chaveamento de
  contexto)
• UCPs mais complexas (pipeline, superescalar) => exigem
  S.Os e compiladores mais complexos
• S.O.: modo núcleo (acesso total ao hardware) e modo usuário
  (subconjunto de chamadas ao sistema para acesso ao
  hardware)
• Programa do usuário obtém serviços do S.O. => Chamadas ao
  Sistema => TRAP (muda de modo usuário para modo núcleo)
                                                                16
Revisão sobre hardware de
    computadores (3)




(a) Um pipeline de três estágios
(b) Uma CPU superescalar

                                   17
Revisão sobre hardware de
       computadores (4)




• Típica hierarquia de memória
  – números mostrados são apenas aproximações
                                                18
Revisão sobre hardware de
                computadores (5)
Memória
• Ideal: extremamente rápida, grande e barata => nenhuma tecnologia
  satisfaz => hierarquia de camadas
• Registradores > cache > Memória principal > discos magnéticos > fitas
  magnéticas
• Discos – rotação a 5400, 7200, 10800 rpm
   – Trilha (dividida em setores)
   – Setores (512 bytes)
   – Cilindro
   – Tempos de disco
        •   de um cilindro ao próximo: 1ms
        •   de um cilindro para um cilindro aleatório: 5 a 10 ms
        •   espera posicionar setor: 5 a 10 ms
        •   R/W: 5 a 160MB/s
• Fitas – baixo custo
• ROM/EEPROM/FlashRAM (muito mais lento para escrever do que
  RAM)/CMOS
• Memória e multiprogramação (MMU e o S.O. – problemas de proteção e
  relocação)                                                              19
Revisão sobre hardware de
    computadores(6)




Estrutura de uma unidade de disco

                                    20
Revisão sobre hardware de
       computadores (7)




(a) um par base-limite (b) dois pares base-limite
                                                    21
Revisão sobre hardware de
            computadores (8)




(a) Passos para iniciar um dispositivo de E/S e obter
    uma interrupção
(b) Como a CPU é interrompida                           22
Revisão sobre hardware de
            computadores (9)
Dispositivos de Entrada/Saída
• Alta interação com o S.O.
• Dispositivo de E/S = dispositivo + Controlador
• Dispositivos => interface simples/padronizada IDE/SCSI –
  controlador IDE acessa qualquer disco IDE
• S.O. fala com controlador através dos Drivers de dispositivo
• Driver => interage diretamente com o controlador
• Driver tem que ser colocado no S.O. e rodar no modo núcleo
  (religa o núcleo; cria entrada no S.O. e reboot; driver é
  adicionado “on the fly” – hot plug in USB)
• Formas de realizar E/S:
   – Espera Ociosa: Programa do usuário=> Chamada ao sistema =>
     chamada de procedimento para driver => inicia E/S (espera ociosa até
     completar) => driver coloca dados (se houver) na memória
   – Interrupção: idem acima sem espera – controlador gera interrupção
   – DMA: acesso direto à memória sem a intervenção da CPU
                                                                            23
Revisão sobre hardware de
           computadores (10)
Barramentos
• Um barramento só é insuficiente para tratar todo o tráfego
  => adição de barramentos adicionais (para dispositivos de
  E/S mais rápidos e maior vazão entre UCP-memória)
• Sistema Pentium tem 8 barramentos (cada um com uma
  função e taxa de transferência diferentes)
• S.O. tem que saber sobre todos os barramentos para
  configuração e gerenciamento => PLUG AND PLAY (MS
  e Intel)
• Antes do plug and Play - cada placa de dispositivo de E/S
  tinha nível de interrupção fixo e endereços fixos para
  registradores de E/S


                                                               24
Revisão sobre hardware de
    computadores(11)




  Estrutura de um sistema Pentium   25
Revisão sobre hardware de
          computadores(12)
Barramentos
• O que fazer quando as interrupções
  conflitavam?
  – DIP switches ou Jumpers em cada placa de E/S



                        CAOS
• Plug and Play => mecanismo centralizado
  – sistema coleta automaticamente info sobre todos os
    dispositivos de E/S
  – Atribui níveis de interrupção e endereços de E/S
  – Divulga para cada placa quais são os seus números
                                                         26
Revisão sobre hardware de
            computadores(13)
  Barramento            Ciclo        Taxa de
                                  Transferência
        ISA             8.33MHz   (2 bytes de uma vez)
  (Industry Standard                   16.67MB/s
     Architecture)

        PCI             66MHz     (8 bytes de uma vez)
(Peripheral Component                   528MB/s
     Interconnect)

        IDE

        USB                             1.5MB/s

        SCSI                           160MB/s

                                                         27
Revisão sobre hardware de
          computadores(14)
BIOS
• Localizado em memória Flash na placa mãe
   – Pode ser atualizado pelo S.O.
• Inicializado no boot
   – Varre os barramentos ISA e PCI (grava dispositivos plug & play
     e os legados – se forem diferentes do último boot, configura os
     novos)
   – Determina o dispositivo de boot (checa contra lista na CMOS)
   – Lê primeiro setor do dispositivo de boot e executa
   – Determina a partição ativa (através de programa que examina a
     tabela de partição no final do setor de boot)
   – Um loader secundário de boot é lido da partição ativa
   – Loader secundário lê o Sistema Operacional da partição ativa
     para a memória e o inicializa

                                                                       28
Revisão sobre hardware de
          computadores(15)
Atividades Iniciais do Sistema Operacional
• Extrai informação de configuração da BIOS
• Checa a presença de driver para cada dispositivo de E/S
  (se não encontra pede ao usuário para inserir disco ou CD-
  ROM com o software)
• Carrega todos os drivers no kernel (núcleo) do S.O.
• Inicializa suas tabelas
• Cria processos em background
• Inicializa programa de login ou uma interface gráfica para
  cada terminal encontrado


                                                               29
Conceitos sobre Sistemas
          Operacionais (1)




• Uma árvore de processos
  – A criou dois processos filhos: B e C
  – B criou três processos filhos: D, E, e F

                                               30
Conceitos sobre Sistemas
           Operacionais (2)




(a) Um deadlock potencial. (b) um deadlock real.
                                                   31
Deadlocks             (Jean Bacon)

 Dois ou mais processos esperam indefinidamente
   por algo (um evento?) que pode ser fornecido
      por apenas um dos processos em espera.
                  Exemplo de
               deadlock no tráfego




                                          Setas = carros


Starvation: Um processo pode ser negligenciado repetidamente.
• Com a inanição existe sempre uma forma de resolver a situação
• Com o deadlock, uma vez que ele ocorre, não pode ser resolvido
A detecção de deadlock pode ser bem complicada!
                                                                   32
Conceitos sobre Sistemas
          Operacionais (3)




Sistema de arquivos de um departamento universitário
                                                       33
Conceitos sobre Sistemas
            Operacionais (4)




• Antes da montagem,
   – os arquivos do disco flexível são inacessíveis
• Depois da montagem do disco flexível em b,
   – os arquivos do disco fazem parte da hierarquia de arquivos
                                                                  34
Conceitos sobre Sistemas
     Operacionais (5)




 Exemplo:
 host> cat arq1 arq2 arq3 | sort > /dev/lp


Dois processos conectados por um pipe
                                             35
Conceitos sobre Sistemas
      Operacionais (6)
         Chamadas ao Sistema
(Interface entre o S.O. e os Programas do Usuário)


              Programas do usuário
                                       Chamadas
                                          ao
                                        Sistema
               Sistema Operacional


                                                     36
Os Passos de uma Chamada ao Sistema




   Os 11 passos para fazer uma chamada ao
        sistema read (fd, buffer, nbytes)   37
Algumas Chamadas ao Sistema para
   Gerenciamento de Processos




                                   38
Algumas Chamadas ao Sistema para
   Gerenciamento de Arquivos




                                   39
Algumas Chamadas ao Sistema para
   Gerenciamento de Diretório




                                   40
Algumas Chamadas ao Sistema para Tarefas
              Diversas




                                           41
Chamadas ao Sistema (1)
• O interior de um shell:




                                42
Chamadas ao Sistema (2)




Os processos têm três segmentos:
      texto, dados e pilha
                                   43
Chamadas ao Sistema (3)




(a) Dois diretórios antes da ligação de
    /usr/jim/memo ao diretório ast
(b) Os mesmos diretórios depois dessa ligação

                                                44
Chamadas ao Sistema (4)




(a) Sistema de arquivos antes da montagem
(b) Sistema de arquivos depois da montagem


                                             45
Chamadas ao Sistema (5)




Algumas chamadas da interface API Win32   46
Estrutura de Sistemas Operacionais (1)
Sistemas Monolíticos
                                      Programa do Usuário 2      Programas do
                                                                 usuário rodam
                           Chamada Programa do Usuário 1           em modo
                           para kernel                              usuário

                                        4

                             1                                    SO roda em
                                        3                         modo núcleo
                                  2         Tabela de Despacho


                       1      Programa do usuário emite chamada do sistema
                       2      S.O. determina número de serviço solicitado
                       3      S.O. localiza e chama procedimento de serviço
                       4      Controle é retornado ao programa do usuário
                                                                                 47
Estrutura de Sistemas Operacionais (1)




      Modelo simples de estruturação
        de um sistema monolítico
                                         48
Estrutura de Sistemas Operacionais (2)




    Estrutura do sistema operacional THE
                                           49
Estrutura de Sistemas Operacionais (3)




     Estrutura do VM/370 com o CMS

                                         50
Estrutura de Sistemas Operacionais (4)




        O modelo cliente-servidor

                                         51
Estrutura de Sistemas Operacionais (5)




       O modelo cliente-servidor em um
            sistema distribuído

                                         52
Unidades Métricas




 Os prefixos métricos


                        53

Resumo de S.O.

  • 1.
    Sistemas Operacionais Profa. Regina Borges de Araujo Livro Texto • Sistemas Operacionais Modernos. Tanenbaum, A., Pearson – Prentice Hall, 2003 Outras Referências • Operating Systems – Deitel, H., Deitel, P. & Choffnes, D., 3rd edition, Pearson, Prentice Hall, 2003 • Sistemas Operacionais – Conceitos e Aplicações. Silberschatz, Galvin & Gagne,Editora Campus, 2001 Informações sobre o curso http://www.dc.ufscar.br/~regina/apresentaso.html 1
  • 2.
    Capítulo 1 Introdução 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Revisão sobre hardware de computadores 1.5 Conceitos sobre sistemas operacionais 1.6 Chamadas ao sistema 1.7 Estrutura de sistemas operacionais 2
  • 3.
    Introdução • Um sistemacomputacional consiste em – hardware – programas do sistema – programas de aplicação 3
  • 4.
    O que éum Sistema Operacional • É uma máquina estendida – Oculta os detalhes complicados que têm quer ser executados – Apresenta ao usuário uma máquina virtual, mais fácil de usar • É um gerenciador de recurso – Cada programa tem um tempo com o recurso – Cada programa tem um espaço no recurso 4
  • 5.
    História dos SistemasOperacionais (1) • Primeira geração 1945 - 1955 – Válvulas, painéis de programação • Segunda geração 1955 - 1965 – transistores, sistemas em lote • Terceira geração 1965 – 1980 – CIs e multiprogramação • Quarta geração 1980 – presente – Computadores pessoais • Quinta geração – a partir do ano 2000 – Computação ubíqua 5
  • 6.
    História dos SistemasOperacionais (2) Segunda geração 1955 - 1965 Antigo sistema em lote (a) traz os cartões para o 1401 (b) lê os cartões para a fita (c) e (d) coloca a fita no 7094 que executa o processamento (e) e (f) coloca a fita no 1401 que imprime a saída 6
  • 7.
    História dos SistemasOperacionais (3) Estrutura de um job FMS típico – 2a. geração 7
  • 8.
    História dos SistemasOperacionais (4) Terceira geração 1965 – 1980 • Sistema de multiprogramação – Três jobs na memória • Spooling • Compartilhamento de tempo 8
  • 9.
    História dos SistemasOperacionais (5) Quarta geração 1980 – presente • Intel 8080 - CP/M – domínio de 5 anos - popularização dos PCs • IBM projeta o IBM/PC, DOS/BASIC, MS-DOS • IBM PC/AT/80286 em 1983 (morte do CP/M) • Doug Engelbart inventa GUI (adotada pela Xerox e incorporada em suas máquinas) – LISA (Apple) incorpora GUI – fracasso (alto custo) – Apple MacIntosh – enorme sucesso – MS-GUI: W3.0/3.1/3.11/W95,W98, WMe – W/NT – UNIXGUI: XWindows (MIT), Motif (roda sobre X) 9
  • 10.
    História dos SistemasOperacionais (6) Quarta geração 1980 – presente • Sistemas Operacionais de Rede • Sistemas Distribuídos • Internet/WWW – Servidores WWW • Linux, FreeBSD • Solaris – MS/Windows x Linux • Internet 2 – Novas Aplicações (MM, Realidade Virtual) 10
  • 11.
    História dos SistemasOperacionais (7) Quinta geração – a partir de 2000 Computação Ubíqua “É a visão de um mundo no qual o custo do poder computacional e das comunicações digitais tornam-se tão baratos a ponto de poderem ser embutidos em todos os objetos que nos cercam no dia-a-dia” Frank Stajano, 2003 – Cambridge University 11
  • 12.
    História dos SistemasOperacionais (8) Quinta geração – Computação Ubíqua 12
  • 13.
    O Zoológico deSistemas Operacionais (1) • Sistemas Operacionais de Computadores de Grande Porte – Capacidade de E/S, processamento de vários jobs de uma vez – Serviços típicos: lote, processamento de transação e tempo compartilhado • Sistemas Operacionais de Servidores – Servem múltiplos usuários de uma vez (compartilhamento de recursos de software e hardware) via rede. • Sistemas Operacionais de Multiprocessadores – Múltiplas CPUs num único sistema (computadores paralelos, multicomputadores ou multiprocessadores) • Sistemas Operacionais de Computadores Pessoais 13
  • 14.
    O Zoológico deSistemas Operacionais (2) • Tempo Real – Tempo é o parâmetro chave – Tempo real crítico x não crítico • Embarcados – Pequenos computadores e TVs, celulares, fornos de microondas – Restrições de tamanho, memória e potência (PalmOS, W/CE – Consumer Electronics) • Cartão Inteligente – Restrições extremas de tamanho de memória e poder de processamento – JVM em ROM – S.O. primitivo gerencia desde uma única função até tratamento de múltiplas applets 14
  • 15.
    Revisão sobre hardwarede computadores (1) Bus Componentes de um computador pessoal simples 15
  • 16.
    Revisão sobre hardwarede computadores (2) Processadores • Busca, decodifica e executa instruções • Cada UCP tem um conjunto específico de instruções a executar • Tempo de acesso x tempo de execução => leva à necessidade de ter Registradores (PC, ponteiro de pilha, PSW) • S.O. sabe sobre todos os registradores (chaveamento de contexto) • UCPs mais complexas (pipeline, superescalar) => exigem S.Os e compiladores mais complexos • S.O.: modo núcleo (acesso total ao hardware) e modo usuário (subconjunto de chamadas ao sistema para acesso ao hardware) • Programa do usuário obtém serviços do S.O. => Chamadas ao Sistema => TRAP (muda de modo usuário para modo núcleo) 16
  • 17.
    Revisão sobre hardwarede computadores (3) (a) Um pipeline de três estágios (b) Uma CPU superescalar 17
  • 18.
    Revisão sobre hardwarede computadores (4) • Típica hierarquia de memória – números mostrados são apenas aproximações 18
  • 19.
    Revisão sobre hardwarede computadores (5) Memória • Ideal: extremamente rápida, grande e barata => nenhuma tecnologia satisfaz => hierarquia de camadas • Registradores > cache > Memória principal > discos magnéticos > fitas magnéticas • Discos – rotação a 5400, 7200, 10800 rpm – Trilha (dividida em setores) – Setores (512 bytes) – Cilindro – Tempos de disco • de um cilindro ao próximo: 1ms • de um cilindro para um cilindro aleatório: 5 a 10 ms • espera posicionar setor: 5 a 10 ms • R/W: 5 a 160MB/s • Fitas – baixo custo • ROM/EEPROM/FlashRAM (muito mais lento para escrever do que RAM)/CMOS • Memória e multiprogramação (MMU e o S.O. – problemas de proteção e relocação) 19
  • 20.
    Revisão sobre hardwarede computadores(6) Estrutura de uma unidade de disco 20
  • 21.
    Revisão sobre hardwarede computadores (7) (a) um par base-limite (b) dois pares base-limite 21
  • 22.
    Revisão sobre hardwarede computadores (8) (a) Passos para iniciar um dispositivo de E/S e obter uma interrupção (b) Como a CPU é interrompida 22
  • 23.
    Revisão sobre hardwarede computadores (9) Dispositivos de Entrada/Saída • Alta interação com o S.O. • Dispositivo de E/S = dispositivo + Controlador • Dispositivos => interface simples/padronizada IDE/SCSI – controlador IDE acessa qualquer disco IDE • S.O. fala com controlador através dos Drivers de dispositivo • Driver => interage diretamente com o controlador • Driver tem que ser colocado no S.O. e rodar no modo núcleo (religa o núcleo; cria entrada no S.O. e reboot; driver é adicionado “on the fly” – hot plug in USB) • Formas de realizar E/S: – Espera Ociosa: Programa do usuário=> Chamada ao sistema => chamada de procedimento para driver => inicia E/S (espera ociosa até completar) => driver coloca dados (se houver) na memória – Interrupção: idem acima sem espera – controlador gera interrupção – DMA: acesso direto à memória sem a intervenção da CPU 23
  • 24.
    Revisão sobre hardwarede computadores (10) Barramentos • Um barramento só é insuficiente para tratar todo o tráfego => adição de barramentos adicionais (para dispositivos de E/S mais rápidos e maior vazão entre UCP-memória) • Sistema Pentium tem 8 barramentos (cada um com uma função e taxa de transferência diferentes) • S.O. tem que saber sobre todos os barramentos para configuração e gerenciamento => PLUG AND PLAY (MS e Intel) • Antes do plug and Play - cada placa de dispositivo de E/S tinha nível de interrupção fixo e endereços fixos para registradores de E/S 24
  • 25.
    Revisão sobre hardwarede computadores(11) Estrutura de um sistema Pentium 25
  • 26.
    Revisão sobre hardwarede computadores(12) Barramentos • O que fazer quando as interrupções conflitavam? – DIP switches ou Jumpers em cada placa de E/S CAOS • Plug and Play => mecanismo centralizado – sistema coleta automaticamente info sobre todos os dispositivos de E/S – Atribui níveis de interrupção e endereços de E/S – Divulga para cada placa quais são os seus números 26
  • 27.
    Revisão sobre hardwarede computadores(13) Barramento Ciclo Taxa de Transferência ISA 8.33MHz (2 bytes de uma vez) (Industry Standard 16.67MB/s Architecture) PCI 66MHz (8 bytes de uma vez) (Peripheral Component 528MB/s Interconnect) IDE USB 1.5MB/s SCSI 160MB/s 27
  • 28.
    Revisão sobre hardwarede computadores(14) BIOS • Localizado em memória Flash na placa mãe – Pode ser atualizado pelo S.O. • Inicializado no boot – Varre os barramentos ISA e PCI (grava dispositivos plug & play e os legados – se forem diferentes do último boot, configura os novos) – Determina o dispositivo de boot (checa contra lista na CMOS) – Lê primeiro setor do dispositivo de boot e executa – Determina a partição ativa (através de programa que examina a tabela de partição no final do setor de boot) – Um loader secundário de boot é lido da partição ativa – Loader secundário lê o Sistema Operacional da partição ativa para a memória e o inicializa 28
  • 29.
    Revisão sobre hardwarede computadores(15) Atividades Iniciais do Sistema Operacional • Extrai informação de configuração da BIOS • Checa a presença de driver para cada dispositivo de E/S (se não encontra pede ao usuário para inserir disco ou CD- ROM com o software) • Carrega todos os drivers no kernel (núcleo) do S.O. • Inicializa suas tabelas • Cria processos em background • Inicializa programa de login ou uma interface gráfica para cada terminal encontrado 29
  • 30.
    Conceitos sobre Sistemas Operacionais (1) • Uma árvore de processos – A criou dois processos filhos: B e C – B criou três processos filhos: D, E, e F 30
  • 31.
    Conceitos sobre Sistemas Operacionais (2) (a) Um deadlock potencial. (b) um deadlock real. 31
  • 32.
    Deadlocks (Jean Bacon) Dois ou mais processos esperam indefinidamente por algo (um evento?) que pode ser fornecido por apenas um dos processos em espera. Exemplo de deadlock no tráfego Setas = carros Starvation: Um processo pode ser negligenciado repetidamente. • Com a inanição existe sempre uma forma de resolver a situação • Com o deadlock, uma vez que ele ocorre, não pode ser resolvido A detecção de deadlock pode ser bem complicada! 32
  • 33.
    Conceitos sobre Sistemas Operacionais (3) Sistema de arquivos de um departamento universitário 33
  • 34.
    Conceitos sobre Sistemas Operacionais (4) • Antes da montagem, – os arquivos do disco flexível são inacessíveis • Depois da montagem do disco flexível em b, – os arquivos do disco fazem parte da hierarquia de arquivos 34
  • 35.
    Conceitos sobre Sistemas Operacionais (5) Exemplo: host> cat arq1 arq2 arq3 | sort > /dev/lp Dois processos conectados por um pipe 35
  • 36.
    Conceitos sobre Sistemas Operacionais (6) Chamadas ao Sistema (Interface entre o S.O. e os Programas do Usuário) Programas do usuário Chamadas ao Sistema Sistema Operacional 36
  • 37.
    Os Passos deuma Chamada ao Sistema Os 11 passos para fazer uma chamada ao sistema read (fd, buffer, nbytes) 37
  • 38.
    Algumas Chamadas aoSistema para Gerenciamento de Processos 38
  • 39.
    Algumas Chamadas aoSistema para Gerenciamento de Arquivos 39
  • 40.
    Algumas Chamadas aoSistema para Gerenciamento de Diretório 40
  • 41.
    Algumas Chamadas aoSistema para Tarefas Diversas 41
  • 42.
    Chamadas ao Sistema(1) • O interior de um shell: 42
  • 43.
    Chamadas ao Sistema(2) Os processos têm três segmentos: texto, dados e pilha 43
  • 44.
    Chamadas ao Sistema(3) (a) Dois diretórios antes da ligação de /usr/jim/memo ao diretório ast (b) Os mesmos diretórios depois dessa ligação 44
  • 45.
    Chamadas ao Sistema(4) (a) Sistema de arquivos antes da montagem (b) Sistema de arquivos depois da montagem 45
  • 46.
    Chamadas ao Sistema(5) Algumas chamadas da interface API Win32 46
  • 47.
    Estrutura de SistemasOperacionais (1) Sistemas Monolíticos Programa do Usuário 2 Programas do usuário rodam Chamada Programa do Usuário 1 em modo para kernel usuário 4 1 SO roda em 3 modo núcleo 2 Tabela de Despacho 1 Programa do usuário emite chamada do sistema 2 S.O. determina número de serviço solicitado 3 S.O. localiza e chama procedimento de serviço 4 Controle é retornado ao programa do usuário 47
  • 48.
    Estrutura de SistemasOperacionais (1) Modelo simples de estruturação de um sistema monolítico 48
  • 49.
    Estrutura de SistemasOperacionais (2) Estrutura do sistema operacional THE 49
  • 50.
    Estrutura de SistemasOperacionais (3) Estrutura do VM/370 com o CMS 50
  • 51.
    Estrutura de SistemasOperacionais (4) O modelo cliente-servidor 51
  • 52.
    Estrutura de SistemasOperacionais (5) O modelo cliente-servidor em um sistema distribuído 52
  • 53.
    Unidades Métricas Osprefixos métricos 53