Modelo de Processos
Gerenciamento
Sistemas Operacionais
Prof. Mauro Duarte
29/04/14
●
Se o computador possui apenas um processador,
então teremos um pseudoparalelismo:
Introdução:
29/04/14
● Teremos um paralelismo real quanto o computador
possuir mais de um processador:
29/04/14
Modelo de Processos
29/04/14
Modelo de processos:
● Todos os programas rodando no computador são organizados
como um conjunto de processos seq...
29/04/14
Modelo de processos:
● O modelo de processo facilita o
entendimento de multiprogramação:
O modelo de processos se...
29/04/14
Modelo de processos:
● A distinção entre um programa e um
processo:
– Um programa é um conjunto de instruções par...
29/04/14
Criação de Processos
29/04/14
Criação de processos:
● Um SO deve garantir a existência de todos os
processos necessários às aplicações
executad...
29/04/14
● Em geral, um processo pode ser criado em
decorrência de um dos seguinte eventos:
– Quando o SO é iniciado
– Qua...
29/04/14
● Os processos criados podem ser de dois tipos:
– Em primeiro plano (foreground): em geral
interage com o usuário...
29/04/14
● Quando um usuário estiver usando o
interpretador de comandos e digitar um
comando:
– Os comandos sem & no final...
29/04/14
●
Vários processos (em geral, daemons) são criados
ao inicializar o SO:
29/04/14
●
A criação de processos por outro processo:
– Facilita a implementação de uma tarefa que pode ser
dividida em ta...
29/04/14
● Nos SO's que seguem o padrão POSIX, um
processo cria outro por meio de uma chamada
fork ao sistema:
– Cria um p...
29/04/14
Término de Processos
29/04/14
Término voluntário:
● Um processo deverá existir somente enquanto
estiver executando a tarefa implementada por um...
29/04/14
● Nos sistemas que seguem o padrão POSIX, a
chamada ao sistema para terminar um
processo e a exit:
– A chamada po...
29/04/14
●
O segundo caso ocorre corre quanto quando a
execução de um processo gera um erro
reportado pelo processador do ...
29/04/14
● Ao invés de ser terminado quando o primeiro evento
ocorrer, o processo pode usar o mecanismo de sinais do
siste...
29/04/14
Término por parte de outro
processo:
● O último evento que termina um processo é
gerado pela chamada ao sistema k...
29/04/14
Para saber mais:
págs 50-56
Upcoming SlideShare
Loading in …5
×

Sistemas Operacionais - 04 - Processos

542 views
335 views

Published on

Sistemas Operacionais - 04 - Processos

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
542
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sistemas Operacionais - 04 - Processos

  1. 1. Modelo de Processos Gerenciamento Sistemas Operacionais Prof. Mauro Duarte
  2. 2. 29/04/14 ● Se o computador possui apenas um processador, então teremos um pseudoparalelismo: Introdução:
  3. 3. 29/04/14 ● Teremos um paralelismo real quanto o computador possuir mais de um processador:
  4. 4. 29/04/14 Modelo de Processos
  5. 5. 29/04/14 Modelo de processos: ● Todos os programas rodando no computador são organizados como um conjunto de processos sequênciais ● O SO também é, em geral, organizado como um conjunto de processos (Linux) ● Cada processo possui um contexto, necessário à correta execução do processo e que contém: – O contador de programa (PC), que controla o fluxo de informações do processo, e outros registradores do CPU – Outras informações, como o mapeamento do espaço de endereçamento
  6. 6. 29/04/14 Modelo de processos: ● O modelo de processo facilita o entendimento de multiprogramação: O modelo de processos sequências, e o fato de os registradores do processador serem salvos no contexto do processo, nos permite visualizar cada processo do sistema rodando exclusivamente em um processador virtual, cujos valores dos registradores são iguais aos valores salvos no contexto do processo.
  7. 7. 29/04/14 Modelo de processos: ● A distinção entre um programa e um processo: – Um programa é um conjunto de instruções para executar uma tarefa – Um processo é uma atividade em execução, e possui um programa, uma entrada, uma saída, um contexto e um estado
  8. 8. 29/04/14 Criação de Processos
  9. 9. 29/04/14 Criação de processos: ● Um SO deve garantir a existência de todos os processos necessários às aplicações executadas pelos usuários. ● Com isso, o SO deve fornecer um meio para a criação e o término de um processo.
  10. 10. 29/04/14 ● Em geral, um processo pode ser criado em decorrência de um dos seguinte eventos: – Quando o SO é iniciado – Quando um processo cria outro processo – Quando um usuário cria um novo processo para executar um programa – Quando um usuário submete um trabalho a um sistema em lote, sendo que o processo executará esse trabalho Criação de processos:
  11. 11. 29/04/14 ● Os processos criados podem ser de dois tipos: – Em primeiro plano (foreground): em geral interage com o usuário para poder executar sua tarefa – Em segundo plano (background): não interage com o usuário mas pode executar sua tarefa ● Um daemon é um processo em background que recebe requisições de outros processos para tratar de suas tarefas específicas. Criação de processos:
  12. 12. 29/04/14 ● Quando um usuário estiver usando o interpretador de comandos e digitar um comando: – Os comandos sem & no final serão executados em foreground – Os comando com & no final serão executados em background Criação de processos:
  13. 13. 29/04/14 ● Vários processos (em geral, daemons) são criados ao inicializar o SO:
  14. 14. 29/04/14 ● A criação de processos por outro processo: – Facilita a implementação de uma tarefa que pode ser dividida em tarefas menores. – Neste caso, um processo será criado para executar cada uma das tarefas menores. – Em geral, estes processos deverão interagir uns com os outros para que a tarefa original seja executada. Criação de processos:
  15. 15. 29/04/14 ● Nos SO's que seguem o padrão POSIX, um processo cria outro por meio de uma chamada fork ao sistema: – Cria um processo filho que é uma cópia exata do processo pai – O processo filho deverá executar uma outra chamada ao sistema, a execve, para poder executar um outro programa – A chamada ao sistema retorna, ao processo pai, o PID do filho, e ao processo filho, o valor 0 (zero) Criação de processos:
  16. 16. 29/04/14 Término de Processos
  17. 17. 29/04/14 Término voluntário: ● Um processo deverá existir somente enquanto estiver executando a tarefa implementada por um programa. ● Os seguintes eventos podem causar o término de um processo: – Quando terminou voluntariamente sua execução. – Quando foi terminado pelo SO. – Quando foi terminado por um outro processo. ● Quando um processo terminal voluntariamente, ou executou a sua tarefa, ou não conseguiu executá-la devido a um erro.
  18. 18. 29/04/14 ● Nos sistemas que seguem o padrão POSIX, a chamada ao sistema para terminar um processo e a exit: – A chamada possui um parâmetro que o processo pode usar para informar se a tarefa foi executada com sucesso. – Por exemplo a chamada “exit(0)” informa ao interpretador que a tarefa foi executada com sucesso. Chamada “exit”:
  19. 19. 29/04/14 ● O segundo caso ocorre corre quanto quando a execução de um processo gera um erro reportado pelo processador do computador, como: – Um erro aritmético, como uma divisão por zero. – Uma tentativa de executar uma instrução privilegiada, que somente pode ser executada no modo supervisor. – Uma tentativa de acessar uma região da memória fora do espaço de endereçamento do processo. Término pelo SO:
  20. 20. 29/04/14 ● Ao invés de ser terminado quando o primeiro evento ocorrer, o processo pode usar o mecanismo de sinais do sistema operacional: – O sistema operacional envia um sinal específico ao processo para tratar cada um dos erros. – O processo devera definir um procedimento para cada um dos sinais que o processo deseja tratar. – Os erros não tratados pelo processo irão gerar uma ação padrão que é a de determinar a execução do processo. Tratamento de sinais:
  21. 21. 29/04/14 Término por parte de outro processo: ● O último evento que termina um processo é gerado pela chamada ao sistema kill, executada por algum outro processo: – O processo que executou a chamada deverá ter autorização para terminar o processo. – A tarefa que o processo estava executando não será terminada corretamente. ● Em geral, quando um processo termina sua execução, todos os seus descendentes também terminal sua execução.
  22. 22. 29/04/14 Para saber mais: págs 50-56

×