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

Post on 22-Apr-2015

110 views 4 download

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

1

AULA 9 –SISTEMAS OPERACIONAIS

Prof. Werley T. Reinaldo

26/05/2011

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.

3

E HOJE ...

4

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.

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.

7

8

PROCESSOS

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).

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.

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)

12

DIAGRAMA (ESTENDIDO) DE ESTADOS DOS PROCESSOS

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

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.

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).

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.

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.).

18