Processos e escalonamento

Disponível somente no TrabalhosFeitos
  • Páginas : 13 (3055 palavras )
  • Download(s) : 0
  • Publicado : 12 de março de 2013
Ler documento completo
Amostra do texto
SISTEMAS OPERACIONAIS
Processos e Escalonamento




ÍNDICE
1. Processos 01
2.1 Fundamentos 01
2.2 O Núcleo do Sistema Operacional 02

2. Escalonamento de Processos 03
3.3 Escalonamento FCFS ou FIFO 05
3.4 Escalonamento Round Robin 06
3.5 Escalonamento com Prioridades 06
3.6 Filas Multi-nível com retorno 073.7 Escalonamento Menor Tarefa Primeiro 07
PROCESSOS
Em sistemas operacionais, processo é um módulo executável único, que corre concorrentemente com outros módulos executáveis. Por exemplo, em um ambiente multi-tarefa,um processador de texto, um navegador e um sistema de banco de dados são processos separados que podem rodar juntos. Processos são módulos separados e carregáveis, ao contráriode threads (um processo dividir a si mesmo), que não podem ser carregadas. Múltiplas threads de execução podem ocorrer dentro de um mesmo processo. Além das threads, o processo também inclui certos recursos, como arquivos e alocações dinâmicas de memória e espaços de endereçamento.
A comunicação entre processos é o grupo de mecanismos que permite aos processos transferirem informação entre si. Acapacidade de um sistema operacional executar simultaneamente dois ou mais processos é chamada multiprocessamento. Se existirem dois ou mais processos executados em simultâneo e disputam o acesso a recursos partilhados, problemas da concorrência podem ocorrer. Estes problemas podem ser resolvidos pelo gerenciamento adequado de múltiplas linhas de execução ou processos atravésda sincronização (multitarefa) ou por outros recursos (como a troca de contexto).

FUNDAMENTOS
Considere-se um computador funcionando em multiprogramação (isto é, tendo vários programas simultaneamente ativos na memória). Cada programa em execução corresponde a um procedimento (seqüência de instruções) e um conjunto de dados (variáveis utilizadas pelo programa). É conveniente ter as instruções separadas dos dados, poisisso possibilita o compartilhamento do código do procedimento por vários programas em execução (neste caso diz-se que o procedimento e reentrante ou puro). Se cada programa em execução possui uma pilha própria, então os dados podem ser criados (alocados) na própria pilha do programa.
Além das instruções e dados, cada programa em execução possui uma área de memória correspondente para armazenaros valores dos registradores da UCP, quando o programa, por algum motivo, não estiver sendo executado. Essa área de memória é conhecida como bloco de controle de processo -BCP (ou bloco descritor, bloco de contexto, registro de estado, vetor de estado) e, além dos valores dos registradores da UCP, contém outras informações. Ele contém muitas informações associadas a um processo específico:
*Estado do processo: o estado pode ser pronto, execução ou bloqueado (espera).
* Contador do programa: o contador indica o endereço da próxima instrução a ser executada para esse processo.
* Registradores de UCP: os registradores variam em número e tipo, dependendo da arquitetura do computador. Incluem acumuladores, registradores, ponteiros de pilha e registradores de uso geral, além deinformações de código de condição. Juntamente com o contador do programa, essas informações de estado devem ser salvas quando ocorre uma interrupção, para permitir que o processo continue corretamente depois.
* Informações de escalonamento de UCP: essas informações incluem prioridade de processo, ponteiros para filas de escalonamento e quaisquer outros parâmetros de escalonamento
*Informações de gerência de memória: essas informações podem incluir dados como o valor dos registradores de base e limite, as tabelas de páginas ou tabelas de segmentos, dependendo do sistema de memória usado pelo sistema operacional
* Informações de contabilização: essas informações incluem a quantidade de UCP e tempo real usados, limites de tempo, números de contas, números de jobs ou...
tracking img