Você está na página 1de 25

Sistemas Operacionais I

Fatec Sorocaba
Conteúdo
2. Processos e Threads

Abordaremos aqui:

• Introdução aos Sistemas Operacionais:


• Processos e Threads
• DeadLocks

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


SO mantém uma tabela de processos (vetor de estruturas),
com uma entrada e atributos dos processos. Ela é utilizada
pelo escalonador para a alternância de processos.

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Cada entrada nesta tabela de processos, conter:
• informações sobre o estado do processo;
• seu contador do programa;
• O ponteiro da pilha;
• A alocação da memória;
• Estado dos arquivos abertos;
• Informação sobre o escalonamento;
• Ou seja, todas as informações necessárias sobre o
processo que necessitam ser salvas quando houver
alternância de processo.
Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Entende-se como alternância de processos:
• Mudar de estado do processo.
• Exemplo processo em execução mudando o estado para
pronto ou bloqueado;
• Para então ele ser reiniciado, como se nunca estivesse
bloqueado;

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Ilusão de múltiplos processos sequenciais num computador
com somente uma CPU e vários dispositivos de E/S:
• Vetor de Interrupções:
o Cada classe de dispositivos (discos por exemplo) está
associada => uma alocação de memória;
o Este vetor de interrupções contém os endereços dos
procedimentos de serviços de interrupção;

Como visualizar isto?


Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Supondo que um processo de usuário <2> esteja em
execução quando ocorre uma interrupção em disco:
• o contador do programa do processo do usuário <2> +
palavra de estados do programa + um (ou mais)
registradores => são colocados na pilha atual pelo HW
de interrupção;
• O computador desvia a execução para o endereço
especificado no vetor de interrupção do disco;
• À partir deste ponto, o SW fará o procedimento de
serviços de interrupção prosseguir.
Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Cuidados tomados quando se escreveu as rotinas de
interrupção:
• salvar os registradores na entrada de tabela de
processos atual;

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Cuidados tomados quando se escreveu as rotinas de
interrupção:
• salvar os registradores na entrada de tabela de
processos atual;
• Remover a informação colocada na pilha pela
interrupção;

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Cuidados tomados quando se escreveu as rotinas de
interrupção:
• salvar os registradores na entrada de tabela de
processos atual;
• Remover a informação colocada na pilha pela
interrupção;
• Ponteiro da pilha é alterado para que aponte para uma
pilha temporária usada pelo tratador do processo;

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Cuidados tomados quando se escreveu as rotinas de
interrupção:
• salvar os registradores na entrada de tabela de
processos atual;
• Remover a informação colocada na pilha pela
interrupção;
• Ponteiro da pilha é alterado para que aponte para uma
pilha temporária usada pelo tratador do processo;
• Esta ações são executadas em linguagem de
montagem, visto que não pode ser expressos em
Fatec Sorocaba
Linguagem “C”.
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Ao término das ações anteriores:
• após a interrupção, um procedimento em geral em
Linguagem C fará o restante das rotinas;

Fatec Sorocaba
Introdução aos Sistemas Operacionais
A maioria dos Sistemas
Operacionais Utilizam
2. Processos e Threads Linguagem C.

2.13 Implementação de Processos


Ao término das ações anteriores:
• após a interrupção, um procedimento em geral em
Linguagem C fará o restante das rotinas;

Fatec Sorocaba
Introdução aos Sistemas Operacionais
A maioria dos Sistemas
Operacionais Utilizam
2. Processos e Threads Linguagem C.

2.13 Implementação de Processos


Ao término das ações anteriores:
• após a interrupção, um procedimento em geral em
Linguagem C fará o restante das rotinas;
• Remover a informação colocada na pilha pela
interrupção;

Fatec Sorocaba
Introdução aos Sistemas Operacionais
A maioria dos Sistemas
Operacionais Utilizam
2. Processos e Threads Linguagem C.

2.13 Implementação de Processos


Ao término das ações anteriores:
• após a interrupção, um procedimento em geral em
Linguagem C fará o restante das rotinas;
• Remover a informação colocada na pilha pela interrupção;
• Ao término do JOB/script, ao mudar o estado do processo
= “pronto”, o escalonador de processos é chamado para
colocar o processo para executar;

Fatec Sorocaba
Introdução aos Sistemas Operacionais
A maioria dos Sistemas
Operacionais Utilizam
2. Processos e Threads Linguagem C.

2.13 Implementação de Processos


Ao término das ações anteriores:
• após a interrupção, um procedimento em geral em
Linguagem C fará o restante das rotinas;
• Remover a informação colocada na pilha pela interrupção;
• Ao término do JOB/script, ao mudar o estado do processo
= “pronto”, o escalonador de processos é chamado para
colocar o processo para executar;
• Controle retornado para linguagem de montagem =>
carregar registradores+ mapa de mem.processo+inicio
do processo
Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs
2. HW carrega=>novo contador de programa à partir do vetor de
interrupção

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs
2. HW carrega=>novo contador de programa à partir do vetor de
interrupção
3. Procedimento em Linguagem de montagem p/ salvar registradores

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs
2. HW carrega=>novo contador de programa à partir do vetor de
interrupção
3. Procedimento em Linguagem de montagem p/ salvar registradores
4. Procedimento em Linguagem de montagem p/ configurar nova pilha

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs
2. HW carrega=>novo contador de programa à partir do vetor de
interrupção
3. Procedimento em Linguagem de montagem p/ salvar registradores
4. Procedimento em Linguagem de montagem p/ configurar nova pilha
5. Execução de serviço de interrupção em Linguagem C

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs
2. HW carrega=>novo contador de programa à partir do vetor de
interrupção
3. Procedimento em Linguagem de montagem p/ salvar registradores
4. Procedimento em Linguagem de montagem p/ configurar nova pilha
5. Execução de serviço de interrupção em Linguagem C
6. Escalonador de Processo decide próximo processo a executar

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs
2. HW carrega=>novo contador de programa à partir do vetor de
interrupção
3. Procedimento em Linguagem de montagem p/ salvar registradores
4. Procedimento em Linguagem de montagem p/ configurar nova pilha
5. Execução de serviço de interrupção em Linguagem C
6. Escalonador de Processo decide próximo processo a executar
7. Procedimento em C retorna p/ código em Linguagem de Montagem

Fatec Sorocaba
Introdução aos Sistemas Operacionais

2. Processos e Threads

2.13 Implementação de Processos


Resumo das Ações e Responsabilidades:
1. HW empilha contador de programa + palavra de estados+outros regs
2. HW carrega=>novo contador de programa à partir do vetor de
interrupção
3. Procedimento em Linguagem de montagem p/ salvar registradores
4. Procedimento em Linguagem de montagem p/ configurar nova pilha
5. Execução de serviço de interrupção em Linguagem C
6. Escalonador de Processo decide próximo processo a executar
7. Procedimento em C retorna p/ código em Linguagem de Montagem
8. Procedimento em Linguagem de Montagem inicia o novo processo

Fatec Sorocaba
Introdução aos Sistemas Operacionais

Bibliografia

Tanenbaum, Andrew S. - Sistemas Operacionais Modernos - 2. edição

Capitulo I - Introdução

Fatec Sorocaba

Você também pode gostar