• Nenhum resultado encontrado

03 Ger ncia de Processos 1

N/A
N/A
Protected

Academic year: 2021

Share "03 Ger ncia de Processos 1"

Copied!
45
0
0

Texto

(1)

Sistemas Operacionais

Prof. Leonardo Araújo

(2)
(3)

Processos

• Quando se fala em Sistema Operacional, se fala em processos;

• Um programa é carregado na memória, mas, para ser de fato executado, ele precisa ser “transformado” em um processo;

(4)

Processos

• É importante entender que, embora um programa seja conceitualmente muito parecido com um processo, existe sim diferença;

• Processo: constitui uma atividade dependente de um programa • Programa: é o “roteiro” da atividade (processo)

(5)
(6)

Modelo de processo

• Um processo é uma atividade, que consiste de um programa, entrada, saída e um estado de execução;

• Sem os processos não teríamos os conceitos na Ciência da computação que temos hoje;

• Os processos são a base da execução de múltiplos programas;

(7)

Modelo de processo

• Atualmente muitos programas são executados pelos usuários de forma simultânea;

• Na realidade, é executado um processo por vez;

• A CPU gerencia os processos através da técnica de escalonamento/chaveamento, dando a impressão de paralelismo;

(8)

Modelo de processo

• Cada processo recebe um tempo específico de CPU;

• Porém, para entender melhor esse conceito, assume-se que cada processo tem uma CPU virtual (pseudo) o executando;

(9)

Modelo de processo

• Para entender (ainda) melhor, vamos assumir, a princípio, que existe apenas uma CPU no sistema (esqueça multiprocessadores ou multinúcleos);

• Cada programa está alocado na memória em uma dada posição determinada por um contador de programa físico;

• Como um processo é uma abstração de um programa, cada programa tem um processo rodando na memória associado a ele (pseudoprograma);

(10)

Modelo de processo

• Logo, vários processos também estão alocados na memória, porém cada processo tem o seu contador de programa lógico;

• Quando um processo está sendo executando na CPU, seu contador de programa logico é carregado no contador de programa físico;

• Assim, quando o tempo de CPU para um processo acaba, o contador de programa físico daquele processo é carregado no contador de programa lógico;

(11)

Modelo de processo

• Ideia de multiprogramação com quatro programas, com um contador de programa

(12)

Modelo de processo

• Modelo conceitual de quatro processos suquenciais independentes

A B C D

(13)

Modelo de processo

• Somente um programa (processo) está ativo dentro do tempo de CPU alocado a cada um deles

(14)

Modelo de processo

• Todos processo tem um “ciclo de vida”;

• Basicamente os processos são criados, executados e terminados;

• Além disso, os processos podem assumir estados e pertencerem a conjuntos hierárquicos.

(15)
(16)

Criação de Processos

• Para que um processo seja de fato executado, evidentemente ele precisa ser criado;

• O responsável direto pela criação do processo é o sistema operacional;

(17)

Criação de Processos

• Em sistemas operacionais simples, como em eletrodomésticos ou eletroportáteis (ar-condicionado, forno micro-ondas), todos os processos são criados no ato da inicialização do sistema;

• Em sistemas de uso geral, como computadores pessoais, servidores e smarphones, existem, pelo menos, quatro tipos de eventos que fazem com que processos sejam criados:

• Início do sistema;

• Por meio de outro processo em execução; • Por meio do usuário do sistema;

(18)

Criação de Processos

• No início do sistema:

• Quando um sistema operacional é carregado, vários processos são iniciados;

• Existem dois tipos de processos do ponto de vista do usuário:

• Aqueles que permitem interação com o usuário (arquivo de texto, browser, planilha), ou seja, estão em primeiro plano (foreground);

(19)

Criação de Processos

• Por meio de outro processo em execução:

• Processos que já estão sedo executados podem requisitar a criação de novos processos idênticos a ele;

• Isso pode ser feito tanto pelo próprio sistema quanto pela ação de um usuário;

• Esses processos são criados a partir de chamadas de sistema (somente o sistema operacional em modo núcleo pode criá-los);

(20)

Criação de Processos

• Por meio do usuário do sistema:

• Em sistemas interativos, os usuários podem inicializar um programa por meio de comandos ou janelas (cliques);

• Essa ação gera um novo processo referente àquele programa;

• Vários processos com as mesmas características referentes ao mesmo programa podem ser criados;

(21)

Criação de Processos

• Início de uma tarefa em lote:

• Em sistema em lote, os processos são criados quando o sistema operacional “julgar” a possibilidade da execução de uma tarefa em lote;

(22)

Criação de Processos

• Em todos os casos, tecnicamente, o processo inicialmente criado que invoca a criação de outro processo é chamado de processo pai, e o processo criado por ele é chamado de processo filho;

• Cada processo (pai e filho) tem o seu espaço de endereçamento da memória;

• Normalmente os processos não compartilham recursos entre si, mesmo um sendo a cópia fiel na memória do outro;

(23)
(24)

Término de Processos

• Se um processo é iniciado, em algum momento ele pode ser

terminado;

• Algumas razões podem levar ao término dos processos,

sendo elas de ordem:

• Voluntária

• Saída normal; • Saída por erro; • Involuntária

(25)

Término de Processos

• Saída normal:

• Quando o processo encerra a sua execução dentro do previsto (sucesso), o compilador executa uma chamada ao sistema informando que o processo referente àquele programa terminou;

• Neste caso, o sistema retira da memória todos os dados referentes ao processo finalizado;

(26)

Término de Processos

• Saída por erro:

• Ainda assim, um processo em execução pode identificar algum erro (previsível);

• O mesmo dispara uma requisição de sistema solicitando o seu encerramento; • Em sistemas com janela, normalmente é perguntado ao usuário se ele deseja

(27)

Término de Processos

• Erro fatal:

• Por outro lado, quando um processo encontra um erro inesperado,

geralmente por um erro de programa, o mesmo é encerrado abruptamente – erro fatal;

• O próprio sistema operacional trata de encerrar o processo, independente do que ele esteja fazendo;

• Acesso à endereços de memória inexistentes, execução de uma instrução ilegal ou divisão por zero, causam erro fatal;

(28)

Término de Processos

• Cancelamento por outro processo:

• Há também a possibilidade de um processo solicitar o encerramento de outro processo;

• Normalmente, quando um processo pai gerou um processo filho para a execução temporária ou auxiliar de alguma tarefa;

(29)

Término de Processos

• Cancelamento por outro processo:

• O processo que solicita o encerramento de outro processo tem que ter autorização necessária para realizar tal chamada;

• Um exemplo claro é um programa em janela interativa (processo pai) que, por meio de uma ação do usuário, iniciou outra janela (processo filho) com um contador de carregamento (loading), sendo encerrada ao atingir 100%;

(30)
(31)

Hierarquia de Processos

• Sabendo-se que um processo pode criar outro processo (pai-filho), os processos podem ficar associados;

• O processo filho gerado também pode gerar novos processos filhos;

• Nos sistemas UNIX (por exemplo, o init), todos os processos filhos formam um grupo de processos;

(32)

Hierarquia de Processos

• Logo, é formada uma hierarquia de processos, onde todos estão ligados de tal forma que quando algum comando é passado (pelo sistema ou usuário), todos os processos ligados poderão receber e responder a esse comando;

• Já nos sistemas Windows, não existe o conceito de hierarquia de processos, todos são iguais;

(33)
(34)

Estados dos Processos

• É importante lembrar que um processo tem o seu próprio contador de programa (lógico);

• Também, o processo é uma atividade, que consiste de um programa, entrada, saída e um estado de execução;

• Quando um processo é executado, ele nada mais é do que uma instância de um programa;

(35)

Estados dos Processos

• O processo, para ser executado, precisa de uma entrada (letras do teclado inseridas pelo usuário ou um sinal de controle para rotação do disco, por exemplo);

• Com o término da execução do processo (assumindo uma saída normal), é gerada uma saída para quem o invocou;

(36)

Estados dos Processos

• Mas o processo ainda tem um parâmetro que indica o seu

estado, que pode ser:

• Em execução • Pronto

(37)

Estados dos Processos

• Em execução:

• Quando um processo assume o estado de execução, indica que ele realmente está usando a CPU naquele momento;

• Enquanto o processo estiver dentro do seu tempo de CPU ou com as entradas corretas, ele manterá o seu estado em execução;

• Uma vez que ele termina a execução, o processo não muda para um estado “terminado”. Normalmente ele pode ficar no estado de “pronto” ou é

(38)

Estados dos Processos

• Pronto:

• O processo está apto a ser executado;

• Contem todas as informações (entrada) necessárias para a sua execução; • Fica aguardando o escalonador de processos apontar para ele;

(39)

Estados dos Processos

• Bloqueado (em espera):

• Quando um processo não recebe a entrada, ele entra no estado de “bloqueado”;

• Neste caso, o processo está incapaz de executar enquanto não ocorrer um evento externo;

• Porém, mesmo “pronto” para executar, um processo pode ser interrompido pelo sistema operacional para dar lugar na CPU a outro processo, fora do padrão de escalonamento;

• No primeiro caso (não tem entrada), a suspensão do processo é inerente ao problema;

(40)
(41)
(42)

Resumo

• Definição de processos

• Modelo conceitual de processos

• Criação de processos

• Término de processos

• Hierarquia de processos

• Estado de processos

(43)

Na próxima aula

(44)

Referências

• TANENBAUM, Andrew S. Sistemas Operacionais Modernos. São Paulo: PRENTICE HALL.

• SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G. Sistemas Operacionais com Java. Rio de Janeiro: Elsevier, 2004.

• CARISSIMI, Alexandre. Sistemas Operacionais. Porto Alegre: Bookman.

(45)

Sistemas Operacionais

Prof. Leonardo Araújo

Referências

Documentos relacionados

Microsoft foi lançado no ano de 1995 e trouxe, pela primeira vez, o Menu Iniciar e a Barra de ferramentas.. O Windows 95 também inaugurou o conceito de “plug

As variáveis peso, estatura e circunferência da cintura apresentaram valores médios superiores aos homens em relação as mulheres, sendo o inverso observado para índice

A tarefa da shell é traduzir as linhas de comando do usuário em instruções do sistema operacional... Exemplo de uma tarefa

A combinação dessas dimensões resulta em quatro classes de abordagem comunicativa, que podem ser exemplificadas da seguinte forma: interativo/dialógico: professor e

Na figura 17 é apresentado o gráfico de controle correspondente ao coeficiente de uniformidade de distribuição (CUD) estimado para o sistema de irrigação funcionando com o

Alinhado ao conceito de McKenna (1992), Leal (2005) constatou em sua pesquisa sobre o marketing de relacionamento na indústria farmacêutica que os

In the present study, we sought to investigate whether acute ethanol intake activates the vascular RhoA/Rho kinase pathway in resistance arteries and the role of NAD(P)H

No corte controle (Figura 94) é possível visualizar a epiderme, em vermelho, ilesa e uniforme sobre o tecido conjuntivo da derme, em verde, abaixo do epitélio. Não é possível