A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais"— Transcrição da apresentação:

1 Sistemas Operacionais
Processos

2 Pergunta Como vários "programas" podem rodar simultaneamente em um computador se ele possui um único processador? (ou menos processadores ou núcleos – "cores" – do que o número de programas em execução)

3 Resposta Multiprogramação
O processador é chaveado entre diversos programas dando a cada um algumas dezenas de milissegundos de processamento produzindo a ilusão de paralelismo ("pseudoparalelismo"). Árdua tarefa do sistema operacional: tratamento das múltiplas atividades realizadas em pseudoparalelismo.

4 Multiprogramação e a ilusão de paralelismo

5 O Modelo de Processos Todos os programas que rodam em um computador (o sistema operacional, inclusive) são compostos de um conjunto de processos.

6 O Modelo de Processos PROCESSO = instância de um programa em execução + seu contexto (formado por: valores das variáveis + valores dos registradores do hardware(Program Counter - PC, Stack Pointer - SP) + recursos (lista de arquivos abertos, alarmes pendentes, listas de processos relacionados, etc.) Um processo é essencialmente um contêiner de informações necessárias para executar um programa.

7 O Modelo de Processos PROGRAMA = arquivo contendo um conjunto de informações que descrevem como construir um processo.  Estas informações incluem: Identificação do formato binário: o formato do arquivo executável que permite ao kernel interpretar as demais informações contidas no arquivo; Instruções em linguagem de máquina: representam o algortimo do programa;

8 O Modelo de Processos (Cont.)
Endereço de entrada do programa: identifica a localização da instrução na qual a execução do programa deverá começar; Dados: valores usados para inicializar as variáveis e constantes; Tabelas de símbolos e de relocação: localização e nomes das funções e variáveis de um programa; Informações de bibliotecas compartilhadas e linkagem dinâmica: lista de bibliotecas dinâmicas necessárias ao programa. Outras informações que descrevem como o processo deverá ser construído.

9 O Modelo de Processos Processo Conceito fundamental para todos os SOs.
Ambiente onde se executa um programa. Um processo é basicamente um programa em execução.

10 Tabela de Processos O SO materializa o processo através de uma tabela, chamada tabela de processos Cada entrada da tabela é chamada de bloco de controle do processo (Process Control Block - PCB). Um PCB é responsável por manter todas as informações referentes a um determinado processo.

11 Tabela de Processos Essas informações são: Ponteiros.
Estado do processo. Prioridade do processo. Limites de memória. Registradores Estado de seus arquivos abertos. Lista de arquivos abertos. Contabilidade do processo no uso de recursos. Outras informações relevantes ao processo.

12 O que é um Processo Um processo é uma atividade (ou tarefa) de um programa, que contém o código e dados de uma atividade. Essas são: leitura de dados, escrita de dados, cálculos no processador, comunicação com o usuário, comunicação com um BD, comunicação com a rede interna ou externa, entre outras.

13 O que é um Processo Um trecho de código em execução em uma máquina.
É a unidade de processamento concorrente que um processador sob um SO pode processar. Pode-se determinar como processo o programa e todos os recursos englobados por ele, assim como tudo que estiver ligado a esse software para encontrar o resultado esperado.

14 O que é um Processo Um processo é uma entidade a nível de kernel, que possui um espaço de endereçamento. O único modo para seu programa acessar dados na estrutura (contexto) de um processo, consultar ou mudar seu estado, é via uma chamada de sistema.

15 O que é um Processo Identificado pelo seu PID (Process Identifier).
Unix (anos 70) foi construído para executar processos.

16 Contexto de Processo Um identificador do processo (PID).
Um segmento de código. Um segmento de dados. Os valores dos registradores da CPU. Um contador de programa lógico. Uma pilha de execução. O estado do processo. Informações para escalonamento (prioridade, tempo) Dados para contabilização de uso. Recursos alocados: arquivos, portas, eventos, outros.

17 Dois processos partilhando a CPU
conceito realidade context switch

18 Estados do Processo Em um sistema multiprogramável, um processo passa por uma série de estados, durante a sua existência.

19 Estados do Processo Existem três estados em que um processo pode se encontrar no sistema: Pronto: um processo já se encontra pronto para executar, entretanto o processador está sendo ocupado por outro processo. Execução: um processo está efetivamente ocupando o processador para seu processamento. Bloqueado/Espera: um processo está no estado de bloqueio/espera quando aguarda a ocorrência de determinado evento para continuar sua execução.

20 Estados do Processo Um processo pode estar bloqueado por dois motivos:
O processo está pronto para executar, porém não há ainda alguma entrada disponível para permitir essa execução. Exemplo: Um comando está pronto para ser executado, mas precisa de parâmetros de entrada para sua execução. O processo estava processando, necessitou realizar alguma operação de E/S, desocupou o processador, e está aguardando a retomada do processador.

21 Estados do Processo Mudanças de Estados
Um processo muda de estado diversas vezes, durante o seu processamento, em função de eventos gerados por ele próprio (eventos voluntários) ou pelo sistema operacional (eventos involuntários). Basicamente, existem quatro mudanças de estado que podem ocorrer a um processo:

22 Estados do Processo Mudanças de Estados Pronto Execução 2 1 3 4
Bloqueado Pronto 1 2 3 4

23 Estados do Processo 1. Execução  Bloqueado/Espera:
Um processo em execução passa para o estado bloqueado ou de espera por eventos gerados pelo próprio processo. Exemplo: Espera por uma operação de E/S. 2. Execução  Pronto: Um processo em execução passa para o estado de pronto por eventos gerados pelo sistema. Exemplo: Fim da fatia de tempo (time-slice) que o processo possui para sua execução.

24 Estados do Processo 3. Pronto  Execução:
Processo que estava na lista de processos pronto passa a ser executado pelo processador. Quando um processo é criado, o sistema o coloca em uma lista de processos no estado pronto, onde aguarda uma oportunidade para ser executado, a partir do momento que “ganha” a CPU passa para o estado de execução.

25 Estados do Processo 4.Bloqueado/Espera  Pronto:
Um processo no estado de espera passa para o estado de pronto quando a operação solicitada ou o recurso é atendido. Um processo no estado de espera sempre terá que passar pelo estado de pronto antes de ser executado novamente. Não existe a mudança do estado bloqueado para o estado de execução diretamente.


Carregar ppt "Sistemas Operacionais"

Apresentações semelhantes


Anúncios Google