Prof. Werley T. Reinaldo 26/05/2011 1. Sistemas Operacionais: Visão geral As diferentes imagens...

18
AULA 9 – SISTEMAS OPERACIONAIS Prof. Werley T. Reinaldo 26/05/2011 1

Transcript of Prof. Werley T. Reinaldo 26/05/2011 1. Sistemas Operacionais: Visão geral As diferentes imagens...

Page 1: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

1

AULA 9 –SISTEMAS OPERACIONAIS

Prof. Werley T. Reinaldo

26/05/2011

Page 2: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

2

AULA DE ONTEM Sistemas

Operacionais:Visão geral

As diferentes imagens do SO:Visão Usuários;Visão Projeto.

Multiprogramação; Introdução a

Processos.

Page 3: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

3

E HOJE ...

Page 4: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

4

MULTIPROGRAMAÇÃO

Page 5: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

5

MULTIPROGRAMAÇÃO Execução simultânea (paralela) de

vários programas, sendo que diversos programas são mantidos na memória;

Torna mais eficiente o aproveitamento dos recursos do computador, evitando que o computador fique parado em uma operação de E/S.

Page 6: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

6

EXECUÇÃO “PARALELA”

Maquinas multiprocessadas

Maquinas monoprocessadas

Paralelismo real: mais de um processo é executado realmente ao mesmo tempo, em processadores distintos.

Pseudoparalelismo (paralelismo aparente): na verdade os processos concorrem pela CPU, como demonstra a figura a seguir.

Page 7: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

7

Page 8: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

8

PROCESSOS

Page 9: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

9

PROCESSO São programas em execução (forma pela qual o

SO enxerga um programa e possibilita sua execução);

Programa: Entidade estática e permanente (sequência de instruções);

Processo: Entidade dinâmica e efêmera.Altera seu estado a medida que avança sua

execução;Composto por programa, dados e contexto

(valores).

Page 10: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

10

ESTADOS DE UM PROCESSO Durante o tempo de

vida (execução) o processo muda de estado várias vezes;

Em um determinado momento existem, no sistema, vários processos que podem estar em situações diferentes.

Page 11: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

11

Por exemplo, um processo P1 está utilizando a CPU (executando),

Enquanto os processos P2 está imprimindo um conteúdo (operação de E/S sendo realizada);

Os processos P3 e P4 estão esperando na fila do controlador da impressora (fila de E/S);

Os processos P5 e P6 estão esperando o processador liberar. (aptos)

Page 12: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

12

DIAGRAMA (ESTENDIDO) DE ESTADOS DOS PROCESSOS

Page 13: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

13

ESTADOS DE UM PROCESSO

Criação – Novo processo;

Apto – Está pronto esperando para utilizar a CPU, em uma “fila de aptos”;

Executando – Utilizando a CPU;

Bloqueado – Esperando pela ocorrência de algum evento (normalmente em E/S);

Destruição – Fim do processo

Page 14: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

14

BLOCO DESCRITOR DO PROCESSO Process Control Block (PCB); Algumas informações presentes no PCB:

Identificação do processo (PID) e do criador do mesmo (PPID);

Prioridade; Localização e tamanho da memória principal; Identificação de arquivos abertos; Informações de contabilidade (Ex. tempo de

CPU); Estado do processo (apto, executando, bloqueado

...). Contexto de execução; Apontadores para encadeamento com outros

descritores.

Page 15: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

15

PROGRAMAÇÃO COM MANIPULAÇÃO DE PROCESSOS NO LINUX

FORKÚnica chamada de sistema que possibilita a

criação de um processo em UNIX.

Ao ser executada, esta chamada cria um novo processo (filho) a partir do processo chamador (pai), sendo que os processos pai (criador) e filho compartilham o mesmo código. No momento da criação o processo filho é uma

cópia exata do segmento correspondente ao processo antigo (pai).

Page 16: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

16

FORK (CONTINUAÇÃO) O filho passa a executar a partir do contexto que

o pai estava executando quando o mesmo foi criado, ou seja, os dois processos continuarão a executar a partir do momento em que o fork() foi chamado. Assim, os dois ficam esperando o retorno do fork() e continuam a executar a partir daí.

O valor de retorno do fork é: para o processo filho – 0 (zero); para o processo pai -o identificador (PID) do processo filho criado; e -1 em caso de erro.

O sistema suporta a criação de um número limitado de processos.

Page 17: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

17

FORK (CONTINUAÇÃO)

No momento da cópia os filhos herdam as variáveis do pai, com os valores atuais.

Porém, após a criação, pais e filhos trabalham em áreas de memória distintas, exceto se utilizar o mecanismo de memória compartilhada.

A cópia do segmento de dados do filho pode diferir do segmento do pai em alguns atributos específicos (como por exemplo, o pid, o tempo de execução, etc.).

Page 18: Prof. Werley T. Reinaldo 26/05/2011 1.  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;

18