RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em
Informática (2006) e Bacharel em Ciência da Computação (2003), todos
pela Universidade Federal do Espírito Santo. Atualmente, Professor
Substituto de Informática no CEFET-ES, Professor de
Programação I no Curso Superior de Tecnologia em Análise e
Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de
Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da
Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de
Informática para estudantes do Ensino Médio, atuando principalmente nos
seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#,
Java, Pascal.
Página pessoal:
Curriculo Lattes::
UNIDADE 8
Objetivo: Entender o mecanismo de gerenciamento dos
processos feito pelo sistema operacional, e conhecer os modelos que
podem ser utilizados para realizar esta tarefa.
1. Introdução
O gerenciamento de processos é um dos conceitos
fundamentais dos sistemas operacionais modernos. No gerenciamento dos
processos serão definidas as propriedades dos processos em execução, e a
maneira como cada um receberá o tempo de execução no processador. A
principal função do gerenciador de processos é exatamente a execução do
processo no processador de maneira adequada (considerando a prioridade
do processo e a quantidade de processos gerenciados).
2. Tipos de Gerenciadores de Processos
Em relação à execução dos processos, os gerenciadores podem ser separados em três categorias:
•Gerenciadores
por Admissão: neste caso o gerenciador irá escolher quais processos
serão selecionados para serem executados no processador. Quando um
programa solicita ao sistema operacional a execução de alguma operação, é
o gerenciador de processos que irá decidir o momento em que esta
solicitação será atendida. Esta escolha é feita verificando-se alguns fatores, sendo que o principal fator é a Prioridade do Processo.
Esse tipo de gerenciador geralmente é utilizado em
Sistemas de Tempo Real, em que o controle da execução das operações deve
ser rigorosamente definido e obedecido. Não existe nenhum sistema
operacional para computadores pessoais que utilize esse tipo de
gerenciador de processos;
•Gerenciadores
por Tempo Médio: este está presente em todos os sistemas que trabalham
com Memória Virtual (descrito na Unidade 12) que temporariamente irá
retirar processos da memória principal e guardá-los
na memória secundária, e vice- versa. A escolha de qual processo irá
sair da memória principal para a secundária é feita de acordo com o
estado do processo.
Como visto na Unidade 5, enquanto o processo está
nos estados de Espera e Execução, ficará na memória principal e quando
passar para o estado de Bloqueio será retirado da memória principal e
será armazenado na memória secundária. Quando o processo passar do
estado de Bloqueio para Espera, será enviado da memória secundária para a
principal;
•Gerenciadores
Despachantes: os despachantes designam os processos para serem
executados pelo processador baseados em alguma alteração ocorrida no
sistema, que pode ser causada por uma interrupção do relógio do
processador, por um dispositivo, por uma instrução de Chamada do
Sistema, ou por algum outro sinal identificável. Dessa maneira, não será
nem a prioridade do processo, nem a alteração do seu estado que
influenciarão na escolha feita pelo gerenciador. As execuções dos
processos serão feitas de acordo com o nível de “atividade” do sistema.
Quando houver uma carga de trabalho muito grande, os
processos receberão em intervalos regulares o devido tempo de execução
no processador. Quando a carga de trabalho for menor, cada processo terá
mais tempo para executar no processador. (O tempo de interrupção
causado pelo relógio pode ser definido pelo programador do sistema
operacional).
3. Algoritmos para Gerenciamento de Processos
Na informática o termo algoritmo define o conjunto de
instruções que irão executar uma determinada tarefa. Um algoritmo para
um Gerenciador de Processos contém as instruções necessárias para que o
gerenciamento seja feito de maneira correta e organizada. Atualmente os
sistemas operacionais têm uma necessidade por algoritmos extremamente eficientes, devido ao maior número de programas em execução nos computadores, e da maior quantidade de recursos disponíveis.
Um algoritmo pode ser escrito definindo-se
um Gerenciador Despachante, com a troca entre os processos no
processador feita a partir de interrupções do relógio a cada 100ms, e a
troca entre os processos ser feito por um método de rodízio. Esse tipo
de algoritmo é um dos mais simples de ser feito. Os sistemas
operacionais atuais necessitam de um algoritmo com maior capacidade de
controle dos processos e com maior aproveitamento do processador. Pode-se planejar um algoritmo que trabalhe com prioridade de execução nos processos, ou com base no Estado de Execução deles.
Essa escolha é feita durante o desenvolvimento do
Sistema Operacional e influenciará diretamente o desempenho geral do
computador. A escolha é feita pensando-se no tipo de utilização que o usuário fará dos recursos computacionais e do tipo de aplicação que será executado.
Um exemplo de algoritmo avançado para gerenciamento de processos é chamado de Fila de Resposta Multi-nível. Os objetivos desse algoritmo são:
•Executar preferencialmente Processos com poucas instruções;
•Executar preferencialmente Processos que irão fazer acesso a algum dispositivo;
•Definir rapidamente a natureza do processo, e gerenciá-lo adequadamente.
Nesse algoritmo cada processo tem a oportunidade de
concluir suas instruções a cada instante. Caso isso não aconteça, o
gerenciador irá reclassificar o processo, colocando-o em um determinado nível de controle.
gfg
ResponderExcluirbom texto
ResponderExcluirA terra é plana.
ResponderExcluirsim
ResponderExcluiro assunto é abrangente, porém, artigo muito fraco.
ResponderExcluir