1. Gerenciamento de Processos - Continuação

Propaganda
FUNDAMENTOS DE SISTEMAS
OPERACIONAIS
MÓDULO 11
Índice
1. Gerenciamento de Processos - Continuação .................. 3
1.3. Concorrência e Sincronização ........................................ 3
1.3.1. Processos Concorrentes .......................................... 3
1.3.2. Sincronização ........................................................ 3
1.4. Monitores e Semáforos................................................. 4
1.4.1. Monitores .............................................................. 4
1.4.2. Semáforos ............................................................ 4
1.5. Comunicação Interprocessos ......................................... 4
1.6. Escalonamento de Processador ..................................... 4
2
Fundamentos de Sistemas Operacionais - Módulo 11
1. GERENCIAMENTO DE PROCESSOS - CONTINUAÇÃO
1.3. CONCORRÊNCIA E SINCRONIZAÇÃO
1.3.1. Processos Concorrentes
Os processos no sistema podem ser executados de maneira concorrente.
Isso quer dizer que muitos processos podem ser multitarefa em uma CPU.
Existem várias razões que justificam permitir as execuções concorrentes:
3
Compartilhamento de Recurso Físico — Os recursos de
hardware
do
computador
são
finitos
e
podem
ser
compartilhados, tornando o ambiente multiusuário;
3
Compartilhamento de Recursos Lógicos — Muitos usuários
podem estar interessados no mesmo fragmento de informação,
que pode ser provida em um ambiente que permita o acesso
concorrente a esses recursos;
3
Aumento de Velocidade da Computação — Quando se deseja
que uma tarefa específica seja executada rapidamente, quebrase essa tarefa em subtarefas e uma a uma elas são executadas
paralelamente com outras;
3
Modularidade — Quando ocorre a construção de sistemas em
padrão modular, dividindo-se as funções em processos distintos;
3
Conveniência — O usuário pode querer ter muitas tarefas para
trabalhar ao mesmo tempo. Um exemplo está no fato de que
usuários podem estar editando, imprimindo e compilando de
forma concorrente.
1.3.2. Sincronização
Serão apresentadas algumas instruções simples de hardware que podem
ser executadas em muitos sistemas. Essas instruções especiais podem ser
usadas para resolver os problemas de regiões críticas com relativa
simplicidade. Uma instrução pode ser definida na forma que segue:
3
Fundamentos de Sistemas Operacionais - Módulo 11
1.4. MONITORES E SEMÁFOROS
1.4.1. Monitores
Para facilitar o processo de escrever programas de forma correta, foi
proposta uma sincronização de alto nível chamada “monitor”. Um monitor é
uma coleção de procedures, variáveis e estruturas de dados que são
agrupados em um tipo especial de pacote. Processos podem chamar as
procedures em um monitor se necessitarem, mas não terão acesso às
estruturas de dados internos de uma procedure declarada fora do monitor.
1.4.2. Semáforos
Como resultado para a dificuldade com as regiões críticas, existe uma
ferramenta de sincronização chamada semáforo. O semáforo é um contador
e é usado quando o recurso a ser utilizado pertence a um conjunto de
recursos idênticos. É uma variável inteira, maior que zero, que é acessada
apenas por duas operações: P (wait) e V (signal). O P decrementa 1, quando
um recurso é removido do conjunto e está em uso pela thread. O V
acrescenta 1, o que indica que a thread devolveu um recurso.
1.5. COMUNICAÇÃO INTERPROCESSOS
Ocorre quando há a necessidade de que os processos se comuniquem uns
com os outros.
1.6. ESCALONAMENTO DE PROCESSADOR
O escalonamento de processador ocorre quando existe uma política do
sistema para escolher quais processos executar. A política de escalonamento
deve atender algumas premissas ligadas a desempenho e maximização do
número de processos executados, reduzir o tempo de latência (tempo de
espera antes da execução), evitar antecipação indefinida de processos e
aperfeiçoar o uso do(s) processador(es).
4
Fundamentos de Sistemas Operacionais - Módulo 11
Download