Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Sistemas Operacionais
Gerenciador de Processos
2
Gerenciador de processo Processos
Um processo é um programa em execução que utiliza recursos, incluindo tempo de CPU, memória, arquivos e dispositivos de E/S. O sistema operacional é responsável pelas seguintes atividades em conjunto com o gerenciador de processos: Criação e exclusão de processos. Suspensão e resumo de processos. Provisão dos mecanismos de: Sincronização de processos Comunicação entre processos Multiprogramação: Pseudoparalelismo: coleção de processos sendo executados alternadamente na CPU;
3
Gerenciador de processo Processos
Prioridade dos processos Tempo Real Tempo Compartilhado
4
Processos Processo Pai A B C E F D Processo Filho Processo Pai e Filho
5
Threads e Processos Um processo pode ser composto por várias threads.
6
Threads do Windows Explorer
8
Threads Descrição Estado Pronto (ready)
Indica que o thread aguarda apenas por uma chance para ser executado (espera pela UCP) Standby Thread selecionado para execução e aguarda troca de contexto. Somente um processo em standby por processador Execução (running) Indica que o processo, de posse da UCP, está sendo executado Espera (waiting) Indica que o processo aguarda por algum evento (p.ex., operação de E/S) Transição (transition) Indica que o processo aguarda por algum recurso do sistema para poder ser executado. Terminado (terminated) Quando termina sua execução, o thread é colocado no estado terminado, podendo ser eliminado ou não.
9
Criando Processos Processos precisam ser criados e finalizados a todo o momento: Inicialização do sistema; Execução de uma chamada de sistema realizada por algum processo em execução; Requisição de usuário para criar um novo processo; Inicialização de um processo em batch – mainframes com sistemas em batch;
10
Criando Processos Processos específicos para usuários específicos:
Leitura de um arquivo; Iniciar um programa (linha de comando ou um duplo clique no mouse); Processos com funções específicas que independem de usuários – chamados de daemons: Recepção e envio de s; Serviços de Impressão;
11
Criando Processos UNIX: Fork Windows: CreateProcess
12
Finalizando Processos
Condições: Término normal (voluntário): A tarefa a ser executada é finalizada; Chamadas: exit (UNIX) e ExitProcess (Windows) Término com erro (voluntário): O processo sendo executado não pode ser finalizado: gcc filename.c, o arquivo filename.c não existe;
13
Finalizando Processos
Término com erro fatal (involuntário); Erro causado por algum bug no programa: Divisão por 0 (zero); Término causado por algum outro processo (involuntário): Kill (UNIX) e TerminateProcess (Windows);
14
Chamada de sistema (Kernel)
Escalonamento (RAM) Programa de usuário 2 Programas de usuário rodam no modo usuário Programa de usuário 1 M E Ó R I A P N C L Chamada de sistema (Kernel) 4 Procedimentos de serviço 3 Rotinas do sistema operacional rodam no modo Kernel (ou modo supervisor) 1 Tabela de escalonamento 2
15
Escalonamento (tempo)
16
Escalonamento P3 P2 P1 PILHA RAM Pop Pop Push Pop Push Push Uso da CPU
UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA REGISTRADORES A C B D PC IR Push P2 Pop UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA REGISTRADORES A C B D PC IR Push P1 UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA REGISTRADORES A C B D PC IR Push Uso da CPU Troca de Contexto Uso de I/O
17
Escalonamento (conceitos)
Quanto a Troca de Contexto Preemptivo Não preemptivo Quanto a Atividade I/O bound CPU bound
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.