Unix - Robert

  • View
    1.507

  • Download
    0

Embed Size (px)

DESCRIPTION

Unix ROBERT DE SALES QUEIROZ 2 semestre de 2008

Transcript

  • 1. SISTEMA OPERACIONAL UNIX Universidade Guarulhos -Bacharelado em Cincia da Computao

2. Universidade Guarulhos -Bacharelado em Cincia da Computao UNIX ARQUITETURA DO SISTEMA Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro 3. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX ARQUITETURA DO SISTEMA

  • O Unix composto de quatro partes bsicas o kernel, o sistema de arquivo, o shell
  • e as ferramentas:
  • Okernel o ncleo do sistema operacional. Ele interage com o hardware do computador e traduz todos os comandos do Unix do shell para o hardware
  • Oshell a parte responsvel pela interao com a maioria dos usurios. Quando o usurio emite um comando, o shell passa o pedido para o kernel, e este por sua vez traduz o comando vindo do shell em comandos de hardware apropriados plataforma. Dessa forma, o sistema tem um maior controle sobre o hardware, impedindo acessos indevidos por parte dos usurios.
  • Osistema de arquivos o mtodo de armazenamento de informaes utilizado pelo Unix. O Unix pode acessar todos os arquivos que esto armazenados em seu sistema de arquivos, arquivos estes que podem ser documentos de processador de texto, planilhas, figuras, arquivos de programas e outros tipos de arquivos.
  • Asferramentasso as aplicaes que os usurios rodam atravs do shell. As aplicaes podem ser tanto programas fornecidos juntamente com o Unix como softwares de usurio instalados no computador.

4. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX ARQUITETURA DO SISTEMA System Call Interface File Subsystem Buffer Cache Caractere Block Device Drivers Controle de Hardware Sistema de Controle de Processos Intercomunicao / Processos schedule Gerenciador de memria Hardware Aplicaes dos usurios Bibliotecas Padres do Unix 5. Universidade Guarulhos -Bacharelado em Cincia da Computao UNIX PROCESSOS E KERNEL Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro 6. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX PROCESSOS E KERNEL

  • Escalonamento no Unix
  • Unix um sistema de tempo compartilhado:
  • Permite que vrios processos sejam executados concorrentemente.
  • Concorrncia emulada intercalando processos com base na atribuio de uma fatia de tempo (time slice ou quantum)
  • Processos ativos competem pelos diversos recursos do sistema (memria, perifricos e, em particular, a CPU).
  • Escalonador ( Scheduler)
  • Componente do S.O. que determina qual processo receber a posse da CPU em um determinado instante.
  • Cada processo que recebe a CPU executado durante a fatia de tempo a ele atribuda.

7. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX PROCESSOS E KERNEL

  • Escalonamento no Unix
  • O projeto de um escalonador deve focar em dois aspectos:
  • Poltica de escalonamento estabelece as regras usadas para decidir para qual processo ceder a CPU e quando chave-la para um outro processo.
  • Implementao definio dos algoritmos e estruturas de dados que iro executar essas polticas.
  • A poltica de escalonamento deve buscar:
  • Tempos de resposta rpidos para aplicaes interativas.
  • Alto throughput(vazo) para aplicaes em background.
  • Evitar starvation(um processo no deve ficar eternamente esperando pela posse da CPU).
  • Os objetivos acima podem ser conflitantes!
  • O escalonador deve prover uma maneira eficiente de balancear esses objetivos, minimizando overhead

8. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX PROCESSOS E KERNEL

  • Rotina de Interrupo do Relgio
  • O relgio ( clock) um elemento de hardware que interrompe a CPU em intervalos de tempos fixos.
  • CPU tick, clock tick ou tick.
  • Algumas mquinas requerem que o S.O. rearme o relgio aps cada interrupo; em outras, o relgio rearma-se sozinho.
  • A maioria dos computadores suporta uma variedade de intervalos:
    • Unix tipicamente configura o CPU tick em 10 ms.
    • A constante HZ (definida no arquivo param.h) armazena a freqncia desejada para o CPU tick.
    • Ex: HZ=100 implica em um intervalo de tick de 10 ms.
    • As funes do kernel so usualmente medidas em nmeros de CPU ticks ao invs de segundos ou milisegundos.

9. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX PROCESSOS E KERNEL

  • Rotina de Interrupo do Relgio
  • A interrupo de relgio a mais prioritria, s perdendo para a interrupo de falha de energia.
  • Uma Rotina de Interrupo do Relgio ( Clock Interrupt Handler) executada em resposta a uma interrupo do relgio
    • Deve ser rpida e suas tarefas devem ser mnimas Tarefas tpicas do Clock Interrupt Handler:
    • Reiniciar o relgio, se necessrio
    • Atualizar as estatsticas de uso da CPU p/ o processo corrente
    • Realizar funes relacionadas ao escalonamento (recalcular prioridades, tratar evento de fim de fatia de tempo do processo corrente, etc.)
    • Manipular sinais (ex: enviar o sinal SIGXCPU para o processo corrente, caso ele tenha excedido a sua cota de uso de CPU)
    • Acordar processos de sistema quando apropriado (ex: swapper e pagedaemon)
    • Manipular callouts e alarmes

10. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX PROCESSOS E KERNEL

  • Callouts
  • So registros de funes que devem ser invocadas pelo kernel num tempo futuro (i.e., aps decorridos um nmero n de CPU ticks).
  • Callouts so adequados para a realizao de tarefas peridicas:
    • Retransmisso de pacotes em protocolos de comunicao
    • Algumas funes do escalonador e do gerente de memria
    • Perifricos que no suportam interrupo
  • Callouts so consideradas operaes normais de kernel
    • A Rotina de Interrupo do Relgio no invoca diretamente os callouts. A cada CPU tick, ela verifica se existe algum callout a executar.
    • Se SIM, ela seta um flag indicando que o callout handler deve ser executado
    • Quando o sistema retorna sua prioridade base de interrupo ele verifica esta flag e:
    • Se flag setado ento o kernel invoca o callout handler
    • O callout handler, por sua vez, invoca cada callout function que deve ser executado
    • Cada callout s ser efetivamente executado quando todas as interrupes pendentes forem atendidas.

11. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX PROCESSOS E KERNEL

  • Alarmes
  • Processos podem solicitar ao kernel que este lhes envie um alarme (um sinal) aps transcorrido um certo intervalo de tempo.
  • O Unix prov trs tipos de alarmes:
  • Real-time alarm, profiling alarm e virtual-time alarm
  • Real time alarm
    • Mede o tempo real decorrido
    • O kernel notifica o processo requisitante atravs do sinal SIGALRM
  • Profiling alarm
    • Mede a quantidade de tempo que um processo est sendo executado (i.e., o seu tempo corrente de execuo).
    • O kernel notifica o processo atravs do sinal SIGPROF
  • Virtual-time alarm
    • Monitora o tempo gasto pelo processo em user mode
    • O kernel notifica o processo atravs do sinal SIGVALRM

12. Universidade Guarulhos -Bacharelado em Cincia da Computao Robert Dsalles Queiroz Sistemas Operacionais Professor Anderson Favaro UNIX PROCESSOS E KERNEL

  • Escalonador
  • Sendo um sistemade tempo compartilhado , o Unix deve alocar a CPU de maneirajustapara todos os processos.
  • Naturalmente, quanto maior for acarga no sistema, menorser aporo de CPUdada a cada processo e, portanto, eles executaro mais lentamente
  • funo do escalonadorgarantiruma boaperformancepara todos os processos, considerando todas as expectativas de carga do sistema.
  • Aplicaes que concorrem pela CPU podem apresentarcaractersticas diversasentre si, implicando emdiferentes requisitosde escalonamento.
  • Ex: aplicaes interativas, aplicaes batch e aplicaes de tempo real

13.