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

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

PRINCÍPIOS DE SISTEMA OPERACIONAL Prof. Helder Cleber Almeida Pereira

Apresentações semelhantes


Apresentação em tema: "PRINCÍPIOS DE SISTEMA OPERACIONAL Prof. Helder Cleber Almeida Pereira"— Transcrição da apresentação:

1 PRINCÍPIOS DE SISTEMA OPERACIONAL Prof. Helder Cleber Almeida Pereira
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. Prof. Helder Cleber Almeida Pereira

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

3 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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 ; Prof. Helder Cleber Almeida Pereira

4 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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; Prof. Helder Cleber Almeida Pereira

5 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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 três): NOVO, PRONTO, EM EXECUÇÃO, EM ESPERA ou TERMINADO; 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; Prof. Helder Cleber Almeida Pereira

6 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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 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; (BCP) E FILAS 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; Prof. Helder Cleber Almeida Pereira

7 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
(BCP) E FILAS 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); Prof. Helder Cleber Almeida Pereira

8 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
CRITÉRIOS PARA ESCALONAMENTO DE PROCESSOS 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 ; Prof. Helder Cleber Almeida Pereira

9 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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); Prof. Helder Cleber Almeida Pereira

10 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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); Prof. Helder Cleber Almeida Pereira

11 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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; Prof. Helder Cleber Almeida Pereira

12 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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; Prof. Helder Cleber Almeida Pereira

13 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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 ; Prof. Helder Cleber Almeida Pereira

14 GERENCIAMENTO DO PROCESSADOR Prof. Helder Cleber Almeida Pereira
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; Prof. Helder Cleber Almeida Pereira

15 GERENCIAMENTO DE PROCESSOS Prof. Helder Cleber Almeida Pereira
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; Prof. Helder Cleber Almeida Pereira

16 GERENCIAMENTO DE PROCESSOS Prof. Helder Cleber Almeida Pereira
Exemplificação de um impasse (deadlock) R1 P1 R2 P2 P –processo R - recurso 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. Prof. Helder Cleber Almeida Pereira

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 ; Prof. Helder Cleber Almeida Pereira

18 GERENCIAMENTO DE PROCESSOS Prof. Helder Cleber Almeida Pereira
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 . Prof. Helder Cleber Almeida Pereira

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ó. Prof. Helder Cleber Almeida Pereira

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 Prof. Helder Cleber Almeida Pereira


Carregar ppt "PRINCÍPIOS DE SISTEMA OPERACIONAL Prof. Helder Cleber Almeida Pereira"

Apresentações semelhantes


Anúncios Google