1 / 20

PRINCÍPIOS DE SISTEMA OPERACIONAL

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.

gianna
Download Presentation

PRINCÍPIOS DE SISTEMA OPERACIONAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. 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 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 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 (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 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 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 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 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 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 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 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 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. R1 R1 P –processo R - recurso P1 P1 P2 P1 R1 R2 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. Prof. Helder Cleber Almeida Pereira

  17. 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 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. 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. 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

More Related