A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Helder Cleber Almeida Pereira PRINCÍPIOS DE SISTEMA OPERACIONAL Um sistema operacional é uma camada de software que atua entre o hardware e os diversos.

Apresentações semelhantes


Apresentação em tema: "Prof. Helder Cleber Almeida Pereira PRINCÍPIOS DE SISTEMA OPERACIONAL Um sistema operacional é uma camada de software que atua entre o hardware e os diversos."— Transcrição da apresentação:

1 Prof. Helder Cleber Almeida Pereira PRINCÍPIOS 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 execução.

2 Prof. Helder Cleber Almeida Pereira GERENCIADOR DE PROCESSADOR E PROCESSOS

3 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 função; - Em se tratando de sistema operacional um processo é um programa em estado e execução; - Um único processador pode ser compartilhado por vários programas ou processos, se, e apenas se, o sistema operacional tiver um critério de escalonamento; - O gerenciador da CPU é a combinação de dois subgerenciadores: um responsável pelo escalonamento de programas e outro, pelo escalonamento de processos. Eles recebem o nome de Escalonador de Programas e Escalonador de Processos ;

4 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR - O início de cada programa é determinado pelo Escalonador de Programas de acordo com os critérios. Depois que um programa é selecionado para execução, o Escalonador de Processos determina quando deve começar a execução de cada passo, ou conjunto de passos – uma decisão que também obedece a certos critérios; - O escalonador de programas é responsável por encadear os programas para a execução. Os programas dependendo da sua natureza pode exigir mais operações de E/S e outros mais operações de CPU. Por isso é importante que o escalonador de programas ache um equilíbrio;

5 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR - Á medida que um programa se movimenta pelo sistema, ele está sempre em um de cinco estados diferentes (ou pelo menos três): NOVO, PRONTO, EM EXECUÇÃO, EM ESPERA ou TERMINADO; ESTADOS DE PROGRAMA E PROCESSOS - Quando um programa é aceito pelo sistema ele é colocado numa fila e encontra no estado NOVO, nesse estado, estão estudando as necessidades de CPU, dispositivos de E/S e etc; - Um programa saí do estado de NOVO para PRONTO, quando está pronto para execução mas espera a CPU; - O estado EM EXECUÇÃO é auto explicativo; - O estado EM ESPERA, significa que um programa não pode continuar porque espera algum recurso específico lhe seja alocado; - o estado TERMINADO - é quando o programa é enviado de volta para o usuário;

6 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR - 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 contém informações básicas a respeito de um programa: o que ele é, aonde está indo, até onde o seu processamento já foi concluído, onde ele está armazenado e o quanto já foi gasto em termos de utilização de recursos e etc; BLOCO DE CONTROLE DE PROCESSOS (BCP) - Cada acesso por parte dos processos para cada recurso (cpu, hd, impressão e etc) do sistema computacional, existe uma fila que o processo precisa enfrentar; (BCP) E FILAS

7 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR - Em um ambiente de multitarefa, o número de processos a executar normalmente excede a capacidade do sistema para processá-los simultaneamente. Antes de escaloná-los, o sistema operacional precisa resolver três limitações: (1) o número de recursos (unidades de disco, impressoras, unidades de fita, etc); (2) alguns recursos, uma vez alocados, não podem ser mais compartilhados por outros programas (como as impressoras); e (3) alguns recursos necessitam da intervenção de um operador, ou seja, não podem ser realocados automaticamente entre um programa e outro (como a unidade de fita); (BCP) E FILAS

8 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR - As filas utilizam os BCPs para monitorar os programas da mesma maneira que um oficial de imigração utiliza passaportes para monitorar visitantes estrangeiros. O BCP contém todas as informações a respeito do programa que o sistema operacional necessita para processá-lo. À medida que o programa transita pelo sistema, seu progresso é registrado no BCP ; CRITÉRIOS PARA ESCALONAMENTO DE PROCESSOS

9 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR CRITÉRIOS 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 execução quando um intervalo de tempo predeterminado se esgota. Quando isso acontece o escalonador suspende toda a atividade do programa em execução naquele momento e recoloca-o na fila PRONTO para que possa ser retomando mais tarde. A CPU é então alocada a um outro programa, o qual fica em execução até que uma das três coisas aconteça: 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 multiprogramação uma solicitação de E/S é chamada de espera natural (ela permite que o processador seja alocado a um outro programa);

10 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR CRITÉRIOS PARA ESCALONAMENTO DE PROCESSOS - Uma estratégia de escalonamento que interrompe a execução de um programa e transfere a CPU para outro recebe o nome de critério preemptivo de escalonamento (é amplamente utilizado nos ambientes de tempo compartilhado). Naturalmente, a alternativa é um critério não- preemptivo de escalonamento, o qual não permite interrupções externas a tarefa. Nesse caso, quando um programa se apodera da CPU e começa a ser executado, ele permanece ininterruptamente no estado EM EXECUÇÃO até que um comando de E/S (espera natural) seja emitido ou que o programa termine (execução feita aos laços infinitos, os quais são interrompidos por ambos os critérios, preemptivos e não-preemptivos);

11 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR ALGORÍTMOS DE ESCALONAMENTO DE PROCESSOS - Primeiro a chegar, primeiro a ser atendido (PCPA) – é um algorítmo de escalonamento não preemptivo, esse algorítmo funciona bem para sistemas operacionais em lotes, mas é inaceitável para sistemas interativos. Nesse esquema cada programa é executada de ponta a ponta, ou seja os programas são executados literalmente de maneira seqüencial; - Programa menor primeiro (MP) – é um algorítmo de escalonamento não preemptivo, que lida com os programas de acordo com a extensão dos seus ciclos de CPU. Não pode ser implementado em sistemas interativos; - Escalonamento por prioridade – é um algorítmo de escalonamento não preemptivo, que dá preferência de execução a uns programas em relação a outros. É um dos algorítmos de escalonamento mais comuns sem sistemas em lotes. A prioridade pode ser atribuída por um administrador ou por um gerenciador de CPU;

12 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR ALGORÍTMOS DE ESCALONAMENTO DE PROCESSOS - Menor tempo restante (MRT) – é a versão preemptiva do algorítmo MP. Esse algorítmo não pode ser implementado em sistemas interativos, pois requer conhecimento prévio do tempo de uso da CPU; - Rodízio (Round – Robin) – é um algoritmo preemptivo de escalonamento de processos amplamente utilizado nos sistemas interativos, já que é fácil de se implementar e não se baseia nas características dos programas, mas em uma fatia de tempo reservada a cada programa de forma a garantir que a CPU seja eqüitativamente compartilhada por todos os processos ativos, e não monopolizada por um único programa. Essa fatia de tempo é chamada quantum de tempo;

13 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR ALGORÍTMOS DE ESCALONAMENTO DE PROCESSOS - RODÍZIO - Os programas são 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 não tiver terminado antes de expirar o quantum de tempo, o programa é preterido e encadeado ao final da fila PRONTO, e suas informações são armazenadas no BCP; - Quando o ciclo de CPU de um programa é menor do que o quantum de tempo, uma de duas ações podem ocorrer: (1) se for o último ciclo de CPU do programa e o processamento tiver terminado, todos os recursos alocados a ele são liberados e o programa terminado volta ao usuário, ou (2) se o ciclo de CPU foi interrompido por uma requisição de E/S, as devidas informações são armazenadas no BCP e o programa é encadeado ao final da fila de E/S. Mais tarde, quando a requisição de E/S já tiver sido atendida, o programa retorna para o final da fila PRONTO e espera pela alocação da CPU ;

14 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DO PROCESSADOR ALGORÍTMOS DE ESCALONAMENTO DE PROCESSOS - RODÍZIO - A eficiência do rodízio depende do tamanho do quantum de tempo em relação ao tamanho médio 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 mudança de contexto atrasa o processamento dos programas e a sobrecarga é significativamente majorada;

15 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DE PROCESSOS POUCOS RECURSOS MUITO PROCESSOS - Na ausência de uma sincronização de processos, duas situações extremas podem acontecer: impasse(deadlock) e abandono; - Um impasse é mais letal que o abandono, pois pode derrubar o sistema inteiro;

16 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DE PROCESSOS Exemplificação de um impasse (deadlock) - P1 requisita R1 e conseque; Quando alocou R1, P1 requisita também 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 não- preemptíveis, onde um ou mais processos desse conjunto está aguardando a liberação de um recurso por um outro processo que, por sua vez, aguarda a liberação de outro recurso alocado ou dependente do primeiro processo. R1 P1 R1 P1 R1 R2 P2P1 P –processo R - recurso

17 Prof. Helder Cleber Almeida Pereira IMPASSE Um impasse normalmente ocorre quando recursos não-passíveis de compartilhamento ou preempção (como arquivos, impressoras ou unidades de fita) são alocados a programas que eventualmente, solicitam outros recursos não-passíveis de compartilhamento ou preempção monopolizados por outros programas. Os impasses todavia não se limitam a arquivos, impressoras e unidades de fita. Também pode acontecer com recursos compartilháveis, como discos e base de dados ;

18 Prof. Helder Cleber Almeida Pereira GERENCIAMENTO DE PROCESSOS Exemplificação de um impasse P1 requisita e obtém a unidade de fita; P2 requisita e obtém a impressora; P3 requisita e obtém 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 três programas pode continuar porque todos estão à espera de um dispositivo bloqueado.

19 Prof. Helder Cleber Almeida Pereira INFORMAÇÃO ADICIONAL Thread – técnica onde um processo pode efetuar varias operações concorrentemente ou simultaneamente através das chamadas "Linhas de execução". 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 operação de I/O, outra Thread pode ser executada. Cada Thread tem seu próprio conjunto de registradores mas todas elas compartilham o mesmo espaço de endereçamento pois lembre-se que o processo é um só.

20 Prof. Helder Cleber Almeida Pereira PALAVRAS CHAVES PROCESSO ESCALONAMENTO ESCALONADOR DE PROGRAMAS X ESCALONADOR DE PROCESSOS ESTADOS DE UM PROCESSO: NOVO, PRONTO, EM EXECUÇÃO, EM ESPERA, TERMINADO BCP FILAS PREEMPTIVO ALGORÍTMOS DE ESCALONAMENTO: PCPA, MP, ESCALONAMENTO DE PRIORIDADE, MTR, RODÍZIO QUANTUM IMPASSE ABANDONO DEADLOCK THREADS


Carregar ppt "Prof. Helder Cleber Almeida Pereira PRINCÍPIOS DE SISTEMA OPERACIONAL Um sistema operacional é uma camada de software que atua entre o hardware e os diversos."

Apresentações semelhantes


Anúncios Google