execução. • Programa é um conjunto de instruções necessárias para execução de operações. • programa por si só não é um processo. • um programa é uma entidade passiva e um processo é uma entidade activa. Conceito de processo • A medida que um processo é executado, ele muda de estado: novo, executando, esperando, pronto e terminado. • apenas um processo pode estar em execução no processador em determinado instante. • Mas muitos podem estar prontos esperando por ser executados. Conceito de processo • Cada processo é representado por um Bloco de controle de Processo (PCB - Process Control Block). • O PCB contém as seguintes informações associadas a um processo: – Estado do processo, – contador de programa, – Registadores da CPU, – Informação de escalonamento da CPU; – informação de gestão de memória, – Informação contábil e – informação de status de entrada e saída. Conceito de processo • Estado do processo: o estado pode ser novo, executando, esperando, pronto e terminado. • Contador de programa: indica o endereço da proxima instrução a ser executada. • Registadores da CPU: os registadores incluem acumuladores, registadores de índice, ponteiros de pilha e registadores de uso geral. • Informação de escalonamento da CPU: contém informações relacionadas com o escalonamento. • informação de gestão de memória: inclui dados como o valor dos registadores. • Informação contábil: inclui a quantidade de CPU e o tempo de leitura usado. • Informação de status de E/S : inclui a informação de dispositivos de E/S alocados ao processo. Escalonamento de processo • O objectivo da multiprogramação é maximar a utilização da CPU.
• O escalonador de processos seleciona um processo
disponível apartir de um conjunto de vários disponíveis para a execução do programa na CPU.
• Num sistema monoprogramado nunca haverá mais do
que um processo em execução. Caso haja o restante terá de esperar até que a CPU esteja livre. Escalonamento de processo • Um escalonador tem a função de fazer a selecção de processos vindos de diversas filas.
• Existem filas de escalonamento onde os processos são colocados:
– fila de tarefas: é a fila em que os processos são colocados qunado entram no
sistema.
– fila de prontos: contém processos que estão na memória principal e que estão prontos a serem executados
– fila de dispositivo: possui processos que estão a espera de um determinado