Você está na página 1de 34

Savio Grossi savio.grossi@aedu.

com

Programao Concorrente

Conceitos bsicos de sistemas operacionais e multiprogramao

Em torno do computador existem diversos problemas a serem resolvidos Por exemplo, execuo de dois programas simultneos: um browser, uma musica, um chat, etc;

O que Sistema Operacional

Problema: todos estes programas precisam acessar recursos em comum: seja um disco, deja um dispositivo de rede

O que Sistema Operacional

O sistema operacional uma camada de software entre o hardware e os programas que executam tarefas para os usurios. Sempre que um programa precisa executar alguma operacao de entraga e sada, ele solicita o sistema operacional;

O que Sistema Operacional

Vantagem1: como programador, voc no precisa conhecer os detalhes do hardware.

O que Sistema Operacional

Vantagem2 Como todos os acessos aos recursos so feitos atravs do sistema operacional, ele pode controlar qual programa est acessando qual recurso, ento possvel obter uma distribuio justa e eficiente.

O que Sistema Operacional

Objetivo tornar a utilizacao do computador mais eficiente e mais conveniente;

O que Sistema Operacional

Meios para um programa seja carregado na memria principal e executado Tambm meios de encerrar um programa j em execuo

Tipos de Servicos

Utilizao de arquivos, implementado pelo sistema de arquivo

Tipos de Servicos

Contabilizacao do uso dos recursos pelos programas e usurios. Quanto tempo de processador for gasto na execuo de um programa" Qual o espao em disco ocupado pelos arquivos de um determinado usurio"

Tipos de Servicos

Gerncia de Usurio Segurana Isolamento

Tipos de Servicos

Programas solicitam servios ao sistema operaciona atravs das chamadas de sistema. Semelhantes chamada de uma subrotina. Ex: printf()

Chamadas de Sistema

Kernel: parte do sistema operacional que implementa as chamadas de sistema Microkernel x kernel monolitico

Chamadas de Sistema

Interpretador de comandos Listar diretorio Verificar espaco em disco Desligar o computador

Programas de Sistema

GUI: Interpretador de comandos grficos Muitas vezes, para o usurio leito, a interface grfica o sistema operacional!

Programas de Sistema

"MAO NA MASSA"

Livro Texto, pgina 11 Exerccios 1, 2 e 3

Atividades

Multiprogramao

Num sistema multiprogramado, diversos programas so mantidos na memria ao mesmo tempo.

Multiprogramao

O S.O. executa um dos programas. Quando este programa solicita acesso algum recurso (chamada de sistema), acesso a um disco, por exemplo, o S.O. envia o comando para o perifrico e enquanto aguarda o perifrico, aproveita para executar outro programa que j est na memria.

Multiprogramao

Desta forma, processador e perifrico trabalham ao mesmo tempo.

Multiprogramao

Programa != Programa em Execuo Programa em Execuo == Processo

Conceito de Processo

Processos so criados atravs de chamadas de sistema ("cria processo"); Maioria dos processos: programas de usurio Outro tipo de processo: processos do sistema (daemon) Exemplo: spooling de impressora;

Conceito de Processo

Aps criado, o processo passa a ocupar processador. Em determinados momentos, deixa de ocupar processador para realizar uma operao de E/S. Ciclos de processador Ciclos de E/S

Conceito de Processo

Grupos de processo Ex: todos os processos abertos pelo mesmo terminal formam um grupo de processo

Relacionamento entre Processos

Processos podem ser criados por outro processo (atravs de chamada de sistema). Pode-se criar uma hierarquia de processos Processo pai x processo filho

Relacionamento entre Processos

Aps criado, ciclo de processador Mais de um processo criado, apenas um usa processador os demais esperam Deve-se criar ento uma fila de aptos a ganhar o processador (ready queue).

Estados de um Processo

Criao -> Apto -> Executando Executando -> Destruio (fim) Executando -> Bloqueado (chamada de sistema)

Estados de um Processo

Para passar de Executando p/ Bloqueado, o processo fez uma chamada de sistema. Depois disso o processador fica livre.

Estados de um Processo

Para passar de Apto p/ Executando, o sistema operacional seleciona um processo da fila de aptos para receber o processador. O mdulo do sistema operacional que faz essa seleo chamado de escalonador (scheduler).

Estados de um Processo

Para evitar que processos monopolizem a ocupao do processador, o sistema operacional pode dispor de um temporador. Se um processo est usando processador por muito tempo, o sistema operacional pode voltar ele para o estado de Apto.

Estados de um Processo

"MAO NA MASSA"

Livro Texto, pgina 11 1 a 10, pgina 28

Atividades