Sunteți pe pagina 1din 20

PRINCPIOS DE SISTEMA OPERACIONAL

Um sistema operacional uma camada de software que atua entre o hardware e os diversos aplicativos existentes em um sistema computacional, executando diversas atividades, de modo a garantir a disponibilidade de recursos entre todos os programas em execuo.

Prof. Helder Cleber Almeida Pereira

GERENCIADOR DE PROCESSADOR E PROCESSOS

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
- Um processo uma entidade ativa que requer um conjunto de recursos, como processador e registradores especiais, para exercer sua funo;
- Em se tratando de sistema operacional um processo um programa em estado e execuo;

- Um nico processador pode ser compartilhado por vrios programas ou processos, se, e apenas se, o sistema operacional tiver um critrio de escalonamento;
- O gerenciador da CPU a combinao de dois subgerenciadores: um responsvel pelo escalonamento de programas e outro, pelo escalonamento de processos. Eles recebem o nome de Escalonador de Programas e Escalonador de Processos ;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
- O incio de cada programa determinado pelo Escalonador de Programas de acordo com os critrios. Depois que um programa selecionado para execuo, o Escalonador de Processos determina quando deve comear a execuo de cada passo, ou conjunto de passos uma deciso que tambm obedece a certos critrios;

- O escalonador de programas responsvel por encadear os programas para a execuo. Os programas dependendo da sua natureza pode exigir mais operaes de E/S e outros mais operaes de CPU. Por isso importante que o escalonador de programas ache um equilbrio;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
ESTADOS DE PROGRAMA E PROCESSOS

- medida que um programa se movimenta pelo sistema, ele est sempre em um de cinco estados diferentes (ou pelo menos trs): NOVO, PRONTO, EM EXECUO, EM ESPERA ou TERMINADO;
- Quando um programa aceito pelo sistema ele colocado numa fila e encontra no estado NOVO, nesse estado, esto estudando as necessidades de CPU, dispositivos de E/S e etc; - Um programa sa do estado de NOVO para PRONTO, quando est pronto para execuo mas espera a CPU; - O estado EM EXECUO auto explicativo; - O estado EM ESPERA, significa que um programa no pode continuar porque espera algum recurso especfico lhe seja alocado; - o estado TERMINADO - quando o programa enviado de volta para o usurio;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
BLOCO DE CONTROLE DE PROCESSOS (BCP) - Cada processo no sistema representado por uma estrutura de dados, denominada Bloco de Controle de Processo (BCP), que funciona a maneira de um passaporte. O BCP contm informaes bsicas a respeito de um programa: o que ele , aonde est indo, at onde o seu processamento j foi concludo, onde ele est armazenado e o quanto j foi gasto em termos de utilizao de recursos e etc; (BCP) E FILAS - Cada acesso por parte dos processos para cada recurso (cpu, hd, impresso e etc) do sistema computacional, existe uma fila que o processo precisa enfrentar;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
(BCP) E FILAS - Em um ambiente de multitarefa, o nmero de processos a executar normalmente excede a capacidade do sistema para process-los simultaneamente. Antes de escalon-los, o sistema operacional precisa resolver trs limitaes: (1) o nmero de recursos (unidades de disco, impressoras, unidades de fita, etc); (2) alguns recursos, uma vez alocados, no podem ser mais compartilhados por outros programas (como as impressoras); e (3) alguns recursos necessitam da interveno de um operador, ou seja, no podem ser realocados automaticamente entre um programa e outro (como a unidade de fita);

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
CRITRIOS PARA ESCALONAMENTO DE PROCESSOS - As filas utilizam os BCPs para monitorar os programas da mesma maneira que um oficial de imigrao utiliza passaportes para monitorar visitantes estrangeiros. O BCP contm todas as informaes a respeito do programa que o sistema operacional necessita para process-lo. medida que o programa transita pelo sistema, seu progresso registrado no BCP ;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
CRITRIOS PARA ESCALONAMENTO DE PROCESSOS - Devido a processos que ocupam por muito tempo a CPU, o Escalonador de Processos, muitas vezes utiliza um mecanismo de cronometragem que periodicamente interrompe processos em execuo quando um intervalo de tempo predeterminado se esgota. Quando isso acontece o escalonador suspende toda a atividade do programa em execuo naquele momento e recoloca-o na fila PRONTO para que possa ser retomando mais tarde. A CPU ento alocada a um outro programa, o qual fica em execuo at que uma das trs coisas acontea: seu tempo se esgota, um comando de E/S emitido ou o programa termina. Em seguida o programa transferido para a fila de PRONTO para fila EM ESPERA ou para fila TERMINADO, respectivamente. Em um ambiente de multiprogramao uma solicitao de E/S chamada de espera natural (ela permite que o processador seja alocado a um outro programa);

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
CRITRIOS PARA ESCALONAMENTO DE PROCESSOS - Uma estratgia de escalonamento que interrompe a execuo de um programa e transfere a CPU para outro recebe o nome de critrio preemptivo de escalonamento ( amplamente utilizado nos ambientes de tempo compartilhado). Naturalmente, a alternativa um critrio nopreemptivo de escalonamento, o qual no permite interrupes externas a tarefa. Nesse caso, quando um programa se apodera da CPU e comea a ser executado, ele permanece ininterruptamente no estado EM EXECUO at que um comando de E/S (espera natural) seja emitido ou que o programa termine (execuo feita aos laos infinitos, os quais so interrompidos por ambos os critrios, preemptivos e no-preemptivos);

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
ALGORTMOS DE ESCALONAMENTO DE PROCESSOS - Primeiro a chegar, primeiro a ser atendido (PCPA) um algortmo de escalonamento no preemptivo, esse algortmo funciona bem para sistemas operacionais em lotes, mas inaceitvel para sistemas interativos. Nesse esquema cada programa executada de ponta a ponta, ou seja os programas so executados literalmente de maneira seqencial; - Programa menor primeiro (MP) um algortmo de escalonamento no preemptivo, que lida com os programas de acordo com a extenso dos seus ciclos de CPU. No pode ser implementado em sistemas interativos; - Escalonamento por prioridade um algortmo de escalonamento no preemptivo, que d preferncia de execuo a uns programas em relao a outros. um dos algortmos de escalonamento mais comuns sem sistemas em lotes. A prioridade pode ser atribuda por um administrador ou por um gerenciador de CPU;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
ALGORTMOS DE ESCALONAMENTO DE PROCESSOS - Menor tempo restante (MRT) a verso preemptiva do algortmo MP. Esse algortmo no pode ser implementado em sistemas interativos, pois requer conhecimento prvio do tempo de uso da CPU; - Rodzio (Round Robin) um algoritmo preemptivo de escalonamento de processos amplamente utilizado nos sistemas interativos, j que fcil de se implementar e no se baseia nas caractersticas dos programas, mas em uma fatia de tempo reservada a cada programa de forma a garantir que a CPU seja eqitativamente compartilhada por todos os processos ativos, e no monopolizada por um nico programa. Essa fatia de tempo chamada quantum de tempo;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
ALGORTMOS DE ESCALONAMENTO DE PROCESSOS - RODZIO - Os programas so colocadas na fila PRONTO de acordo com o esquema primeiro a chegar, primeiro a ser atendido. Em seguida, o Escalonador de Processos seleciona o primeiro programa na fila, ajusta o timer de acordo como quantum de tempo e aloca a CPU ao programa. Se o processamento no tiver terminado antes de expirar o quantum de tempo, o programa preterido e encadeado ao final da fila PRONTO, e suas informaes so armazenadas no BCP;

- Quando o ciclo de CPU de um programa menor do que o quantum de tempo, uma de duas aes podem ocorrer: (1) se for o ltimo ciclo de CPU do programa e o processamento tiver terminado, todos os recursos alocados a ele so liberados e o programa terminado volta ao usurio, ou (2) se o ciclo de CPU foi interrompido por uma requisio de E/S, as devidas informaes so armazenadas no BCP e o programa encadeado ao final da fila de E/S. Mais tarde, quando a requisio de E/S j tiver sido atendida, o programa retorna para o final da fila PRONTO e espera pela alocao da CPU ;
Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DO PROCESSADOR
ALGORTMOS DE ESCALONAMENTO DE PROCESSOS - RODZIO - A eficincia do rodzio depende do tamanho do quantum de tempo em relao ao tamanho mdio dos ciclos de CPU. Se o quantum for grande demais, isto , se for maior do que a maioria dos ciclos da CPU, o algoritmo se reduz ao esquema PCPA. Se for pequeno demais, a quantidade de mudana de contexto atrasa o processamento dos programas e a sobrecarga significativamente majorada;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DE PROCESSOS
POUCOS RECURSOS MUITO PROCESSOS - Na ausncia de uma sincronizao de processos, duas situaes extremas podem acontecer: impasse(deadlock) e abandono; - Um impasse mais letal que o abandono, pois pode derrubar o sistema inteiro;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DE PROCESSOS
Exemplificao de um impasse (deadlock)

R1
P processo R - recurso

P1
R1

P1

R1

P2
R2

P1

- P1 requisita R1 e conseque; Quando alocou R1, P1 requisita tambm R2, s que R2 j est alocado a P2, ao mesmo tempo P2 requer R1, que j est alocado a P1. -O deadlock ocorre com um conjunto de processos e recursos nopreemptveis, onde um ou mais processos desse conjunto est aguardando a liberao de um recurso por um outro processo que, por sua vez, aguarda a liberao de outro recurso alocado ou dependente do primeiro processo.
Prof. Helder Cleber Almeida Pereira

IMPASSE
Um impasse normalmente ocorre quando recursos no-passveis de compartilhamento ou preempo (como arquivos, impressoras ou unidades de fita) so alocados a programas que eventualmente, solicitam outros recursos no-passveis de compartilhamento ou preempo monopolizados por outros programas. Os impasses todavia no se limitam a arquivos, impressoras e unidades de fita. Tambm pode acontecer com recursos compartilhveis, como discos e base de dados ;

Prof. Helder Cleber Almeida Pereira

GERENCIAMENTO DE PROCESSOS
Exemplificao de um impasse P1 requisita e obtm a unidade de fita; P2 requisita e obtm a impressora; P3 requisita e obtm a plotadora; P1 requisita a impressora, mas ela est bloqueada; P2 requisita a plotadora, mas ele est bloqueada; P3 requisita a unidade de fita, mas ela est bloqueada; Como nos exemplos anteriores, nenhum dos trs programas pode continuar porque todos esto espera de um dispositivo bloqueado .

Prof. Helder Cleber Almeida Pereira

INFORMAO ADICIONAL
Thread tcnica onde um processo pode efetuar varias operaes concorrentemente ou simultaneamente atravs das chamadas "Linhas de execuo". Neste caso, o processo dividido no numero de Threads sem que haja necessidade de ser criado um outro.; Threads compartilham o processador da mesma maneira que um processo. Por exemplo, enquanto uma Thread espera por uma operao de I/O, outra Thread pode ser executada. Cada Thread tem seu prprio conjunto de registradores mas todas elas compartilham o mesmo espao de endereamento pois lembre-se que o processo um s.

Prof. Helder Cleber Almeida Pereira

PALAVRAS CHAVES
PROCESSO ESCALONAMENTO ESCALONADOR DE PROGRAMAS X ESCALONADOR DE PROCESSOS ESTADOS DE UM PROCESSO: NOVO, PRONTO, EM EXECUO, EM ESPERA, TERMINADO BCP FILAS PREEMPTIVO ALGORTMOS DE ESCALONAMENTO: PCPA, MP, ESCALONAMENTO DE PRIORIDADE, MTR, RODZIO QUANTUM IMPASSE ABANDONO DEADLOCK THREADS

Prof. Helder Cleber Almeida Pereira

S-ar putea să vă placă și