You are on page 1of 15

Introdução a Sistemas Operacionais

Aula 2 - Gerência de Processos
Instituto Federal de Brasília
Profa. Msc. Cristiane Jorge de Lima Bonfim

Semestre Letivo 2014/2
Coordenação do Eixo de Informação e Comunicação

Roteiro da Aula ● Processos ● Estados possível de um processo ● Concorrência entre processos ● Comunicação entre processos ● Semáforo ● Memória de um processo ● Threads .

e a execução simultânea de processos em processadores diferentes.O que é um processo para o SO? Um processo é um programa em execução com um conjunto de informações que permite ao SO gerenciar a execução destes processos no sistema. Para esse controle o SO lança mão da gerência de processos do sistema. Em sistemas com mais de um processador existe a concorrência entre processos. memória principal (RAM) e outros recursos de I/O sejam internos ou externos. Tudo isso controlado pelo SO para sistema multiprocessados. para o devido processamento de todos os processos do sistema requisitados ou não pelo usuário. Em sistemas multiprogramáveis os processos são executados concorrentemente. O Sistema Operacional dedica tempo. compartilhando o uso do processados. a execução e o controle. recurso de memória para o uso. Nosso foco de estudo é para SO monoprocessado .

Concluído: Processo concluiu sua execução. Um processo muda de estado durante seu processamento em função de eventos originados por ele próprio (eventos voluntários) ou pelo sistema operacional (eventos involuntários).Quais estados possíveis de um processo? Novo: Processo está sendo criado Execução (running): está sendo processado pelo processador (CPU) Pronto (ready): Está pronto disponibilidade de CPU pelo SO para execução aguardando a Espera (wait): Está aguardando por algum evento externo ou por algum recurso de I/O para prosseguir processamento. .

ponteiros da pilha e Reg. (4) Varia o número e tipo dependendo do da Arquitetura do Computador RISC/CISC. Inclui: acumuladores. (5)Aponta o endereço de memória usada pelo processo. além da listas de arquivos abertos quando for o caso. registradores índice. Interrompe o processo para correta retomada pelo SO. (6)Contem a lista de dispositivos de I/O alocados para o processo. . Junto com o cont. De programas as informaçõe de estado são salvas qdo.Bloco de Controle de Processos PCB Estado do Processo(1) Número do processo(2) Contador do programa(3) Registradores usados na CPU(4) Limites da memória(5) Listas de arquivos abertos(6) (3) indica o endereço da próxima instrução a ser executada pelo processo. de uso geral.

A concorrência entre processos ocorre no ambiente controlado pelo SO e se dá em relação processador e a dispositivos de I/O. são colocados em estado de pronto para ser escalonados pelo SO.O que é concorrência entre processos? O SO organiza os processos no estado de espera geralmente em listas encadeadas. Processos em wait pelo mesmo evento com o retorno deste à lista. . Isso significa que eles passam a concorrer o recurso CPU que é o próximo passo do ciclo de vida do processo ''pronto'' no sistema.

Concorrência entre processos .

As mensagens podem ser enviadas de tamanho fixo ou variável. . Bate papo utilizando as operações send () e receive().A comunicação interprocessos Os processos podem cooperar entre si utilizando memória compartilhada ou transmissão de mensagens. Ex. A comunicação entre processos por memória compartilhada utiliza para acesso à área do processo o controle de semáforo de uso da memória pelo SO. A comunicação por troca de mensagens permite sincronização de processos .

Ex: a figura abaixo ilustra a execução do comando: $ ls /etc | more . Este exemplo retrata um | unidirecional ou seja halfduplex. ou seja a saída padrão de um processo é redirecionada para outro processo via linha de comando.Quais as formas de comunicação entre processos? O pipe (tubo) '' | '' é uma forma de comunicação entre processos.

Quais as formas de comunicação entre processos? Comunicação de processos em sistemas Cliente servidor por endereço de loopback utilizado pelo próprio código da aplicação .

composta por um ID de Thread. Os benefícios de programação com vários threads podem ser divididos em quatro categorias principais: A Capacidade de resposta Melhora a resposta para o usuário por meio de uma thread enquanto outra thread da mesma aplicação estiver bloqueada. A Escalabilidade que Possibilita ao programador aumentar o paralelismos de Thread em suas aplicações em ambientes multiprocessados. 85). Nav. Web permite O Compartilhamento de recursos da máquina A Economia de recursos de processamento e memória já que não há outra instância de processo pelo SO.Threads ''Uma Thread é uma unidade básica de utilização da CPU. um contador de programa e um conjunto de registradores e uma pilha'' (Silberschatz 2011 p. Ex. .

As aplicações multi contemporâneos Threads threads é suportada pela maioria dos OS Um para muitos: Um Thread de Kernel para muitas Threads de Usuário. Sem limites de threads para usuário e as threads correspondentes de kernel podem ser executados em paralelo em um ambiente multiprocessado. Problema: o processo inteiro pode ser bloqueado se a Thread do Kernel for bloqueada Um para um: Um Thread de Kernel para uma Thread de Usuário. Não sofre os problemas das anteriores. Problema: a criação um para um pode gerar overread e atrapalhar a execução da aplicação. Tru64 UNIX. as versões posteriores suportam o modelo um para um. Muitos para muitos: conecta muitas threads de usuário a uma quantidade menor ou igual de threads de kernel. Suportado por HP-UX. Para resolver esta questão o sistema restringe a quantidade de Threads criadas. . Até o Solaris 9. Usados em Linux e família Windows.

.Assim vimos hoje: O esforço do um Sistema Operacional na abertura. que proporcionar um bom funcionamento do sistema. monitoramento e mediação de e entre processos.

Após execução da tarefa postem no Moodle para fins de avaliação.Parte de verificação prática ● ● Acessem o Moodle de forma individual e respondam a tarefa correspondente a aula 2 de Sistemas Operacionais. .

2010. Arquitetura de Sistemas Operacionais 4e. Abraham. Rio de Janeiro: LTC. Francis B. Curitiba:Editora Livro Técnico. 2010 MACHADO. . Rio de Janeiro: LTC. Fundamentos de Sistemas Operacionais.Referências Bibliográficas TANENBAUM. São Paulo: Pearson Pretice Hall. Sistemas Operacionais. Diogo Roberto. Sistemas Operacionais Modernos. 2011 SILBERSCHATZ. Andrew S. 2011 OLSEN. 3ed.