Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Francis Berenger Machado / Luiz Paulo Maia
Francis Berenger Machado / Luiz Paulo Maia
Francis Berenger Machado / Luiz Paulo Maia
Francis Berenger Machado / Luiz Paulo Maia
Francis Berenger Machado / Luiz Paulo Maia
Francis Berenger Machado / Luiz Paulo Maia
Francis Berenger Machado / Luiz Paulo Maia
Francis Berenger Machado / Luiz Paulo Maia
Capítulo 5
Capítulo 5
Capítulo 5
Capítulo 5
Capítulo 5
Capítulo 5
Capítulo 5
Capítulo 5
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Estrutura do Processo
Contexto de Software Contexto de Hardware Programa Espaço de Endereçamento5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Mudança de Contexto
Sistema Operacional Salva registradores do Processo A executando Processo A Processo B Carrega registradores do Processo B Carrega registradores do Processo A executando executando Salva registradores do Processo B5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Características da Estrutura de um Processo
Contexto de prioridade de execução registrador PC data/ hora de criação owner (UID) PID nome registradores gerais Contexto de Programa Contexto de Software de criação tempo de processador registrador SP quotas privilégios endereços de memória principal alocados registrador de status Contexto de Hardware Espaço de Endereçamento
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Bloco de Controle do Processo (BCP)
É uma estrutura de dados que compõe o processo, contendo os contextos de software e de hardware e o espaço de endereçamento. O BCP reside em memória, numa área reservada ao sistema operacional.
ponteiros Estado do processo . . . . .. . . Registradores Nome do processo Prioridade do processo Limites de memória Lista de arquivos abertos
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Lista de BCPs nos Estados de Pronto e Espera
. .. .. .. . . .. .. .. . Lista de processos em estado de pronto PCB# 5 PCB# 1 . .. .. .. . . .. .. .. . . .. .. .. . PCB# 5 PCB# 9 PCB# 1 PCB# 2 PCB# 4 Lista de processos em estado de espera
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Estados do processo
Criação: neste estado o processo está sendo alocado na memória, sendo
criado no sistema. Todos os recursos necessários à execução do processo são reservados durante a passagem do processo por este estado, o que acontece uma única vez. Vários processos podem estar neste estado, ao mesmo tempo
Pronto: é o estado onde os processos, depois de criados ou quando retornam
do tratamento de uma interrupção, permanecem aguardando a liberação da do tratamento de uma interrupção, permanecem aguardando a liberação da CPU para que possam iniciar ou continuar seu processamento. É como se fosse uma fila, gerenciada pelo sistema operacional. Vários processos podem estar neste estado, ao mesmo tempo.
Execução: é onde o processo efetivamente utiliza a CPU. Ele permanece no
processador até que seja interrompido ou termine sua execução. Neste estado, somente um processo pode permanecer de cada vez, já que existe apenas um processador.
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Estados do processo
Espera: neste estado estão todos os processos que sofreram algum tipo de
interrupção de E/S, onde permanecem até que a intervenção seja resolvida. Vários processos podem estar neste estado, ao mesmo tempo.
Saída: é o estado final do processo, quando este termina seu processamento.
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Mudanças de Estado do Processo
Criação Pronto: o processo foi criado, tem seus recursos alocados, e está
apto a disputar o uso da CPU.
Pronto Execução: o processo é o primeiro da fila de pronto e a CPU fica
disponível. Neste momento o processo passa a ocupar a CPU, permanecendo em execução até que seja interrompido ou termine sua execução.
Execução Pronto: o processo foi interrompido por fatia de tempo ou por Execução Pronto: o processo foi interrompido por fatia de tempo ou por
prioridade. Ainda precisa de mais tempo na CPU para terminar sua execução, não tem nenhuma intervenção pendente, por isso volta à fila de pronto para disputar novamente o uso da CPU.
Execução Espera: esta transição acontece quando o processo foi
interrompido por E/S. Significa que deve permanecer no estado de espera até que a interrupção seja tratada pelo sistema. Neste estado o processo fica
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Mudanças de Estado do Processo
Espera Pronto: Após o término do tratamento da interrupção, o processo
volta à fila de pronto para disputar novamente o uso da CPU.
Execução Saída: o processo terminou, e não mais disputará o uso da
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Mudanças de Estado do Processo
Estado de Execução Estado de Término
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Estrutura de Processos e Subprocessos
Processo A Processo C Processo B Processo B Processo E Processo D
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Tipos de Processo
Além dos processos do usuário, a CPU também executa processos do
sistema. São aqueles que oferecem os serviços do sistema operacional aos usuários, como criação/eliminação de processos, tratamento de interrupção e todos aqueles correspondentes às funções do sistema já estudadas. Estes
executam sempre, com certa prioridade, concorrendo com os processos do usuário.
Os processos em execução, do usuário, podem assumir dois tipos diferentes, de acordo com suas características de uso de CPU e periféricos:
Processo CPU-bound: é aquele processo que utiliza muito a CPU. Ele ganha uma fatia de
tempo e a utiliza por inteiro, sem desperdiçar nenhum tempo. É o caso de programas científicos, de cálculo numérico, estatística, matemática, e também na área de simulação. Normalmente fazem pouca ou nenhuma entrada de dados, e muito processamento.
Processo I/O-bound: é o tipo de processo que utiliza muito mais E/S do que CPU.
Aplicações em Banco de Dados, onde se faz consultas e atualizações constantes em arquivos em disco são um bom exemplo deste tipo de processo. De acordo com essas características, podemos dizer que este tipo de processo permanece mais tempo em espera (tratando interrupções) do que propriamente em execução, ocupando a CPU por períodos mínimos de tempo.
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processos CPU-bound x I/O-bound
E/ S E/ S
(a) CPU-bound
tempo tempo
UCP UCP
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo Multithread
Contexto de hardware Contexto de hardware Contexto de hardware e Espaço de endereçamento C o n te x to d e so ft w a re Thread 3 Thread 2 Thread 15
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processos Foreground e Background
(a) Processo Foreground
saída terminal terminal entrada (b) Processo Background saída arquivo de saída terminal terminal entrada arquivo de entrada
5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Pipe
saída do Processo A entrada do Processo A saída do Processo B Processo A entrada do Processo B Processo A Processo B5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Uso de Sinais
interrupção sinal Sistema Operacional [ctrl-C] Processo Sistema Operacional5
5
5
5
5
5
5
5 –
–
–
–
–
–
–
– Processo
Processo
Processo
Processo
Processo
Processo
Processo
Processo
Sinais, Interrupções e Exceções
Processo Processo Hardware Sistema Operacional Interrupções Exceções Sinais