2. Processos Todos computadores modernos podem executar várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador também pode estar lendo a partir de um disco e dando saída a um texto para uma tela ou impressora. A CPU executa N funções ao “mesmo tempo”, mas como executar N funções ao “mesmo tempo” se só temos uma CPU??? Processos seqüenciais e multiprogramação rodrigo.piovesana@gmail.com
3. Processos Diferenciação entre o programa e a sua execução Programa Entidade estática e permanente Seqüência de instruções Passivo sob o ponto de vista do sistema operacional Processo Entidade dinâmica e efêmera Altera seu estado a medida que avança sua execução Composto por programa, dados e contexto. Analogia entre cozinheiro e a receita! rodrigo.piovesana@gmail.com
4. Processo Ambiente onde é executado um programa. Elemento ativo. Altera seu estado. Seqüência de instruções.
6. Hierarquia de Processos Tempo Real x Sistemas Domésticos Um processo pode criar outros processos. Criando uma estrutura de árvore para representá-la. Cada ramo da árvore é um processo.
7. Processo Um mesmo programa sendo executado por dois usuários ao mesmo tempo, são dois processos em execução. Processo 2 Usuário 2 Processo 1 Usuário 1 Editor de Texto
8. Hierarquias de Processos Inicial P1 P4 P2 Criados por P1 P3 P10 P5 P6 P9 P7 P8 Criados pelos filhos de P1
9. Hierarquia de Processos No UNIX os processos são criados pela chamada de sistema FORK, cujos processos rodam em paralelo. No MS-Dos o processo-pai espera pelo filho.(chamada p/carregar arquivo binário).
10. Estados do Processo Um processo passa por uma série de estados diferentes durante sua existência. A mudança de estado é causada por uma série de eventos. cat capitulo1 capitulo2 capitulo3 | grep arvore
11. Estados do Processo Após ser criado um processo entra em um ciclo de CPU. (executa...espera...executa..) Para dividir o uso da CPU entre os processos os demais devem ficar bloqueados.
12. Estados do Processo Executando:Usando a CPU. Pronto: Em condições de Rodar (não tem CPU) Bloqueado: Impedido de Rodar, depende de um evento externo ao processo.
13. Estados do Processo 1 - Processo bloqueado para fazer entrada de dados. 2 - Escalonador escolhe novo processo. 3 - Escalonador entrega Processador a esse novo processo. 4 - Entrada de dados concluída. executando tempo S/condição 3 novamente 2 1 Pronto Bloqueado 4 externo
15. Processo Escalonador de Processos Decide qual processo vai rodar e por quanto tempo. É uma rotina executada sem que o processo tome conhecimento. É o nível mais baixo do Sistema Operacional Gerenciador de interrupções ou responsável pela comunicação interprocessos.
16. Processo Contexto de Hardware Conteúdo dos Registradores PC(program counter), SP(stack pointer) e bits de estado. Fundamental para sistemas de time-sharing (revezamento na utilização do processador). A troca de processos na CPU (context switching - mudança de contexto).
17. Processo - Mudança de Contexto Processo A Processo B executando Salva registradores do P.A. Carrega registrador do P.B. executando Salva Registrador do P.B. Carrega Registrador do P.A. executando
18. Processo Contexto de Software Especifica características do processo que vão influir na sua execução. Identificação (PID-Process Identification) Quotas (limite de recursos que pode alocar) Privilégios (segurança, acesso)
19. SubProcesso Permite dividir uma aplicação em partes para poder trabalhar de forma concorrente. Aumento do throughput da aplicação. Cada subprocesso tem seu contexto de hardware, contexto de software e espaço de endereçamento.
20. Threads Compartilham o processador da mesma forma que o processo Compartilham o mesmo espaço de endereçamento, permitindo que um thread possa alterar dados de outro thread. O SO pode ou não estar ciente do uso de threads, se está ciente o SO possui uma tabela de threads. Acelera o processo para pequenas tarefas.
21. Comunicação Um processo pode passar informação para o outro (pipeline | ) Para não gerar conflito de recurso Sequencia. “A” produz resultados para “B” imprimí-los.
22. Escalonamento Quem vai primeiro? O SO determina baseado no algorítmo de escalonamento. Sistemas em Lote? O primeiro usuário que chegou usa o recurso.
25. Algorítmo de Escalonamento Algum ITEM sempre vai ser penalizado! Não há como atender todos os quesitos sem penalizar outros..
26.
27.
28. Bloco de controle de processos Process Control Block - PCB Também conhecido como descritor de processos, É uma área de memória, localizada no núcleo do S.O., que armazena as informações referentes a um processo.
29. Bloco de Controle de Processos Ponteiros Estado do Processo Nome do Processo Propriedade do Processo Registradores Limites de memória Lista de arquivos abertos