Sistemas Operacionais Parte II

SISTEMAS MULTITAREFA - Resumão

 - PROCESSO: dinâmico, em memória RAM, ocupa área de código + dados + pilha de memória
      x
 - PROGRAMA: estático, em memória secundária, ocupa só o espaço do código

 - BCP: Bloco de Controle de Processo -
      x
 - PCB: Pilha de Controle de Processo -

Existem duas abordagens nos SO multitarefa, sistemas cooperativos e preemptivos.

Nos cooperativos é determinado um tempo igual para executar cada tarefa, se há 20 processos rodando e o ciclo é feito em um segundo, cada um vai receber 1/20 de segundo.

Nos preemptivos nem todos são iguais, alguns tem prioridade maior do que outros, iniciando pelos que rodam no modo núcleo. no windows existem 32 filas de prioridade, 16 para modo núcleo e 16 para modo usuário. Processos que usam mais processamento, mais tempo processando, vão subindo a prioridade e ganham cada vez mais tempo para processar, caso contrário sua prioridade cai e consequentemente tem cada vez menos tempo para executar quando chega sua vez.

Interrupções: evitar busy waiting, que é quando um processo precisa esperar terminar uma tarefa, gravar dados no HD por exemplo, o processador fica passando pelo processo sem que o mesmo tenha algo para processar perdendo seu tempo. Para evitar perder tempo estes processos são deixados de lado até o momento em que a tarefa (gravar HD) seja concluída, quando isso acontece o HD faz uma interrupção, que serve para fazer o processador voltar a executar o processo. As interrupções são numeradas, a que tiver valor menor tem prioridade maior. Se tiver valor 0 (zero) é a RTC, de maior prioridade, Real Time Clock, que é o relógio. Esta interrupção RTC é feita a cada intervalo fixo de tempo e serve para o processador saber a hora de parar de executar um processo e ir para outro.

Dentro do Gerenciador de Dispositivos há uma opção para "Exibir recursos por tipo" no Windows para ver as prioridades de execução das interrupções, minha placa de vídeo estava com prioridade (-2), achei estranho este windows...

Prioridades de Interrupções do Meu Note
Timesharing compartilha tempo de processamento entre diversos terminais burros.

Ciclo de Vida de um Processo -> Estudar que vai cair na prova, tem que saber.

Ciclo vida processo utilizando 5 estados
O primeiro ciclo de um processo é sempre de processador, mas durante sua vida um processo pode ter dois estados, processando ou aguardando entrada/saída de dados. Processos que fazem muito processamento são chamados de CPU BOUND e ficam muito tempo processando. Processos que fazem grande movimentação de dados são I/O BOUND e ficam pouco tempo processando e logo voltam a esperar uma entrada ou saída de dados. A tendência é os CPU Bound irem subindo sua prioridade pois ficam mais tempo processando e o I/O Bound cair na fila de prioridade.

Qual a sequencia que um processo sai do estado de bloqueado? Quando dispositivo/periférico diz que terminou a tarefa.

Chaveamento de contexto: o processador precisa estar preparado/organizado da mesma maneira que estava quando parou de processar determinada tarefa para poder continuar o processamento. Então o chaveamento é salvar o contexto antes de sair de uma tarefa e ir para outra E carregar o contexto para a próxima tarefa a ser executada. Assim as tarefas "pensam" que estão sendo executadas sem interrupções. Quem faz este trabalho é o chaveador de contexto.

Buffer e Cache servem para minimizar gargalos de velocidade, já leu a meta? A diferença entre buffer e cache é que o Buffer, logo após ser utilizado é limpado/apagado memória, exemplo impressoras. Já o cache, enquanto tem espaço ele vai deixando tudo armazenado, quando começa encher vai tirando o que está a mais tempo sem ser utilizado.

Comentários

  1. baah, estava precisando disso pro resumão da prova hehe. Abraço Bolívar

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Solução para problemas com impressora de cheque Bematech DP-20

SIOPE 2017 - Instalação e Restauração Cópia de Segurança

Como bloquear Facebook Youtube no Mikrotik