Você está na página 1de 10

Sistemas Operacionais

AULA 05 Processos
Atravs da execuo simultnea de vrios programas, a multiprogramao torna mais eficiente o aproveitamento dos recursos do computador, tais como: tempo do processador, espao de memria, etc. Na realidade a execuo feita de forma concorrente (mquinas monoprocessadas). Em um sistema multiprogramado vrios programas so mantidos na memria ao mesmo tempo. O que acontece em um sistema multiprogramado quando uma chamada de sistema solicitada por algum processo? Basicamente, o escalonador interrompe o processo que executou a chamada de sistema e escolhe outro da fila de apto para utilizar a CPU. Os seguintes conceitos so necessrios para implementar o conceito de multiprogramao: processos, interrupo e proteo entre processos. Nesta nota de aula iremos discutir estes temas e apresentar detalhes sobre as entidades denominadas processos.

Processos
Em sistema operacional conveniente diferenciar um programa de sua execuo. Assim, podemos dizer que: Programa: uma entidade esttica e permanente composto por uma seqncia de instrues: passivo sob o ponto de vista do sistema operacional. Processo: uma entidade dinmica e efmera, que altera seu estado a medida que avana sua execuo. Assim, o processo uma abstrao que representa um programa em execuo. Um processo composto por: programa, dados, contexto (valores).

Ciclos de um processo
So vrias as razes para que um processo seja criado e/ou destrudo. O momento e a forma como isso acontece pode depender do sistema operacional considerado. Por exemplo: Criao de Processos: ? Momento da execuo ? Chamadas de sistemas ? Podem ser associados a uma sesso de trabalho, exemplo: login + senha _ shell (processo)

Prof. Dr Jean M. Laine

Sistemas Operacionais Finalizao de Processos: ? Trmino da execuo ? Chamadas de sistemas ? Por outros processos Os processos podem executar programas de usurios ou rotinas de sistema (daemons). Basicamente, os processos apresentam dois ciclos de operao: 1. Ciclo de processador: tempo que ocupa a CPU executando algum programa. 2. Ciclo de entrada e sada: tempo em espera pela concluso de um evento (E/S). O primeiro ciclo sempre de processador, pois para entrar em um ciclo de E/S necessariamente preciso executar pelo menos uma instruo. As trocas de ciclos podem acontecer atravs: 1. Chamada de sistema (CPU ? E/S) 2. Interrupo (CPU ? E/S ou E/S ? CPU) 3. Ocorrncia de evento (E/S ? CPU) Dessa forma, os processos podem ser classificados de acordo com taxa de utilizao da CPU ou E/S em: 1. Processos CPU bound: Ciclo de processador >> ciclo de E/S Exemplo: processo que faz multiplicao de matrizes. 2. Processos I/O bound: Ciclo de E/S >> ciclo de processador Exemplo: processo que faz cpia de arquivos ou um processo de Banco de Dados.

Prof. Dr Jean M. Laine

Sistemas Operacionais

Relacionamento entre processos


Os processos podem, ou no, apresentar alguma forma de relacionamento ou dependncia em relao a sua criao e execuo no sistema. Por isso, os processos ativos dentro do sistema computacional podem ser: 1. Independentes ? No apresentam relacionamentos com outros processos ? No existe nenhum vnculo entre o processo que acabou de ser criado com seu criador ? A criao exige uma nova entrada na PCB 2. Subprocessos ? Criados em uma estrutura hierrquica ? O processo criador chamado de pai e o novo de filho ou subprocesso ? Apresentam algum tipo de relacionamento: dependncia do processo filho em relao ao pai ? Podem compartilhar recursos ? A criao do filho tambm exige uma nova entrada na PCB A representao da estrutura hierrquica acontece atravs de uma rvore, semelhante a estrutura de diretrios e representa a evoluo dinmica dos processos com o tempo.

Estados de um processo
Inicialmente, aps ser criado o processo necessita entrar em ciclo de processador para comear a execuo das instrues que compem o programa. No entanto, devemos entender que vrios processos so criados e todos iro disputar o uso da CPU. Neste caso, o que o SO deve fazer? ? Criar uma fila com os processos aptos a disputar o uso do processador: Fila de Aptos (ready queue). ? Gerenciar o escalonamento atravs de polticas implementadas pelo SO para que todos possam ser executados.

Prof. Dr Jean M. Laine

Sistemas Operacionais

Modelo simplificado de Dois Estados


Este diagrama de estado representa o modelo inicial para ilustrar os possveis estados que um processo pode alcanar, desde a sua criao at o seu trmino. Dois estados so destacados: apto e executando. Apto representa o processo em memria aguardando o escalonador para entrar em execuo; e executando caracteriza a aplicao utilizando a CPU. O escalonador de processos um mdulo do SO que deve realizar as seguintes funes bsicas: ? Atribui o processador a um processo da fila de aptos ? Prevenir que um nico processo monopolize o processador

Criao de Processos
Os processos podem ser criados atravs das seguintes aes: ? Inicializao de um programa ? Logon de usurios ? Processo criado para execuo de um determinado servio do SO ? Chamadas de sistemas, como o fork no Linux

Trmino de processos
Os processos podem ser finalizados pelas seguintes aes: ? Final de execuo (normal)

Prof. Dr Jean M. Laine

Sistemas Operacionais ? Situaes anormais: Exceder tempo limite de espera, Falta de memria, Erros de proteo (Ex. escrita em arquivo read-only, acesso a reas de memria no autorizadas), Erros aritmticos (Ex. diviso por zero, overflow, underflow) ? Erro em perifricos de E/S ? Execuo de instrues invlidas (Ex. tentativa de executar rea de dados, instrues privilegiadas) ? Interveno do sistema operacional ? Ex. ocorrncia de blocagens (deadlocks) ? Log off de usurios

Modelo de 5 Estados
Este modelo cria novos estados de forma a representar diferentes momentos de execuo dos processos. Estados do diagrama: ? Executando (Running) ? Apto (Ready) ? Bloqueado (Blocked) ? Criao (New) ? Destruio (Exit)

Prof. Dr Jean M. Laine

Sistemas Operacionais

Processos suspensos
1. Processador mais rpido que operaes de E/S Possibilidade de todos processos estarem bloqueados esperando por E/S 2. Liberar memria ocupada por estes processos Transferidos para o disco (swap) 3. Estado bloqueado assume duas situaes: Bloqueado com processo em memria Bloqueado com processo no disco 4. Necessidade de novos estados Bloqueado, suspenso (Blocked, suspend) Apto, suspenso (Ready, suspend)

Razes para suspender um processo


Swapping SO necessita liberar memria para executar um novo processo Prof. Dr Jean M. Laine 6

Sistemas Operacionais Solicitao do usurio Comportamento tpico de depuradores Temporizao: Processo deve ter sua interrupo interrompida por um certo perodo de tempo Processo suspende outro processo Ex. Sincronizao

Diagrama de Estados Ampliado


Neste modelo, novos estados foram inseridos para representar com preciso a localizao dos processos durante seu ciclo de vida, diferenciando memria e disco. Os estados com o atributo suspenso indica o processo em disco.

Prof. Dr Jean M. Laine

Sistemas Operacionais

Suporte de hardware multiprogramao


A implementao da multiprogramao explora caractersticas do hardware dos processadores Mecanismos bsicos: ? Interrupo ? Dois modos de operao: modo protegido (supervisor) e modo usurio ? Proteo de perifricos, memria e processador

Proteo entre processos


O compartilhamento de recursos comuns implica em garantir que a execuo incorreta de um programa no influencie a execuo de outro programa. Mecanismos de proteo ? Modos de operao do processador ? Proteo de perifricos ? Proteo de memria

Modos de operao do processador


Modo supervisor (protegido) ? Possibilita a execuo de todas as instrues do processador ? Modo de execuo sistema operacional Modo usurio ? Certas instrues no podem ser executadas ? Modo de execuo dos processos usurios Chaveamento ? Interrupo (modo usurio ? modo protegido) ? Instruo (modo protegido ? modo usurio)

Prof. Dr Jean M. Laine

Sistemas Operacionais

Proteo de perifricos

Como processos usurios realizam operaes de E/S j que estas so instrues privilegiadas? Ou ainda, como os processos solicitam servios para o SO? Resposta: Atravs de Chamadas de sistema ? Normalmente baseada em interrupes de software ? Aciona a rotina de tratamento de interrupo 1. Identifica servio requisitado 2. Verifica validade dos parmetros 3. Executa o servio 4. Retorna ao processo do usurio

Prof. Dr Jean M. Laine

Sistemas Operacionais

Exercicios
1. Defina o conceito de processo e explique quais partes o compe. 2. Como uma aplicao pode implementar concorrncia em um ambiente monothread? 3. Como o SO implementa o conceito de processo? Quais as estruturas de dados indicada para organizar os diversos processos na memria principal? 4. Explique as diferenas entre processos foreground, background, cpu-bound e i/o-bound. D exemplos de cada um. 5. Por que no faz sentido manter a lista de processos bloqueados em ordem de prioridade? 6. Comente sobre as funes do escalonador e do dispatcher. 7. Apresente situaes reais presentes na execuo dos processos que justifiquem cada uma das transies apresentadas no diagrama de estados mais completo dos processos.

Bibliografia
OLIVEIRA, R. S.; CARISSIMI, A. S. e TOSCANI, S. S. Sistemas Operacionais. Sagra Luzzatto, Porto Alegre, 2001. (Cap. 2)

Prof. Dr Jean M. Laine

10

Você também pode gostar