1 processos prof. joão paulo de brito gonçalves campus - cachoeiro curso técnico de informática

19
1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

1

Processos

Prof. João Paulo de Brito Gonçalves

Campus - CachoeiroCurso Técnico de Informática

Page 2: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

2

Conceito de Multiprogramação

– Se existirem vários programas carregados na memória ao mesmo tempo, a CPU pode ser compartilhada entre eles, aumentando a eficiência da máquina e produzindo mais resultados em menos tempo

– Quando um programa libera a CPU, seja para realizar alguma operação de E/S ou por outro motivo, ela ficaria parada.

– Enquanto espera que o programa volte para executar, a CPU não realizaria nenhum trabalho útil.

– Para acabar com a ociosidade deste tempo vários programas são mantidos ao mesmo tempo na memória e o sistema operacional se encarrega de escolher um deles para executar.

– Assim, sempre que um programa é interrompido, um outro é escolhido para ser executado em seu lugar. Com isso, a CPU estará durante grande parte do tempo ocupada processando instruções de programas.

Page 3: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

3

Conceito de Processo

Um processo é um programa em execução Um programa é uma seqüência de instruções executáveis

e pode conter diferentes fluxos de execução, frutos da existência de comandos condicionais e interativos.

Ele pode ser visto como uma entidade passiva. Um processo pode ser visto ainda como uma entidade

ativa que descreve a execução de um dos possíveis fluxos do programa.

A execução de um processo se dá de maneira seqüencial, ou seja, em qualquer instante de tempo no máximo uma instrução está sendo executada.

Page 4: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

4

Programa x Processo

Programa– Entidade estática e permanente

• Sequência de instruções• Passivo sob o ponto de vista do SO• Existe indefinidamente na forma de arquivo

• Processo– Entidade dinâmica e temporária– São criados no momento da execução e destruídos no

término da mesma• altera seu estado a medida que avança sua execução

– Identificado por um único número

Page 5: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

5

Processo

• Todo o software no computador é organizado em processos seqüenciais ou apenas processos.

• Com a multiprogramação, cada usuário tem a sensação de ter uma máquina (processador) só para si, o que na prática não acontece.

• Na verdade, o processador central se reveza entre os vários usuários e uma das tarefas do sistema operacional é tornar isto o mais transparente possível.

Page 6: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

6

Processos no Windows

Page 7: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

7

Criação de Processos

• Nos sistemas mais antigos só o sistema operacional podia criar novos processos. • Atualmente, a maioria dos sistemas permitem que os usuários criem e destruam seus próprios processos.

• Criação- Leitura de um arquivo;-Iniciar um programa (linha de comando ou um duplo clique no mouse);

-Término-Gerenciador de Tarefas- Fechando o programa

Page 8: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

8

MONITORAÇÃO DE PROCESSOS

• A monitoração de sistemas derivados do UNIX pode ser realizada pela execução dos comandos ps e top. O comando ps possui variações em termos de seus parâmetros de entrada e a forma de saída exibida ao usuário.• A utilização mais comum do ps é utilizando-se os argumentos aux.• No caso acima, o argumento ‘a’ referencia a todos os processos. Já o parâmetro ‘u’ torna ativa a exibição de todos os nomes de usuários e, por último, o ‘x’ indica todos os processos não vinculados a um terminal. O significado dos campos presentes na saída do comando ps podem ser visualizados no próximo slide.

Page 9: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

9

MONITORAÇÃO DE PROCESSOS

Page 10: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

10

MONITORAÇÃO DE PROCESSOS• Por outro lado, uma visão não instantânea dos processos pode ser obtida utilizando-se o comando top (utilitário desenvolvido por William Lefebvre). • O referido utilitário fornece regularmente um resumo acerca dos processos ativos, exibindo informações atualizadas a cada unidade de tempo (o padrão equivale a cada 10 segundos). • Isso é feito eficientemente, pois o utilitário consome apenas uma pequena fração de processamento da CPU.• Além das informações dos processos de forma semelhante à execução do ps, o comando top também disponibiliza as relativas ao sistema como um todo. • Como exemplo dessas informações pode-se citar a quantidade de memória total e utilizada do sistema, consumo de CPU frente aos processos dos usuários e do sistema e quantidade de processos em execução e sua distribuição segundo seu estado corrente

Page 11: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

11

PIDOF

• O comando pidof informa o PID do processo correspondente. Caso mais de um processo seja encontrado, lista-os em sequência, em uma mesma linha.

•Sintaxe: pidof comando

Page 12: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

12

PSTREE

• O comando pstree mostra a árvore de processos, identificando visualmente as relações entre processos pais e filhos.• Exemplos:

pstree –pÁrvore de todos os processos, mostrando também o PID de cada um.

pstree joaoÁrvore de todos os processos disparados pelo usuário joao.

pstree 123Árvore de todos os processos filhos iniciados pelo processo de PID 123

Page 13: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

13

Comandos nice e renice• Os comandos nice e renice estão relacionados com a prioridade dos processos em relação ao escalonamento de uso do processador, feito pelo sistema operacional.• Existe um atributo de cada processo que se chama cortesia (niceness),

um valor que vai de -20 até 19 e que armazena a prioridade do processo. •O processo com maior valor de cortesia tem menor prioridade, pois ele

é o mais “educado”, e deixa que os outros usem mais o processador.• Já o processo com menor valor de cortesia tem maior prioridade, pois ele é muito “mal-educado” e não deixa os outros processos usarem o processador.• O comando nice executa um programa passado como parâmetro com o valor de cortesia também especificado. A sintaxe do comando nice é:

nice -n <valor-de-cortesia> <programa>

Page 14: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

14

Comandos nice e renice

• Já o renice muda o valor de cortesia de processos que já estão em execução.• Os usuários (exceto o root) só podem mudar o valor de cortesia de processos que eles mesmos estão executando. • Além disso, para esses usuários só é possível aumentar o valor da cortesia de seus processos e somente na faixa de 0 até 19. • O super-usuário (root) pode mudar o valor de cortesia de qualquer processo, para qualquer valor entre -20 e 19.

•Sintaxe:renice <prioridade> <piddoprocesso>

Page 15: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

15

Comando killO programa kill serve para mandar sinais aos processos. Essas

mensagens ou sinais servem para alterar o status dos processos.

• A sintaxe do kill é simples: kill <signal> <pid>

Se nenhum sinal for informado, o kill envia o sinal SIGTERM ao programa, que é um pedido de finalização, dando-lhe a chance de salvar os dados que estão em memória.

Além do TERM, os outros sinais principais enviados pelo Kill são:•STOP: Pára a execução do processo até que ele receba o sinal CONT• CONT: Reinicia a execução de um processo parado pelo sinal STOP• KILL: Faz com que o sistema operacional finalize um processo.

Page 16: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

16

Comando killall• O comando killall envia um sinal a um ou mais processos em execução, especificados pelo nome. Muito similar ao comando kill, pois o sinal a ser enviado também pode ser informado pelo número, e o sinal padrão também é o TERM.

• A diferença é não precisar informar o PID do processo, mas sim o nome do comando.

• Desta maneira vários PIDs que rodam sob um mesmo nome podem ser terminados de uma só vez.

Page 17: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

17

Usuário trabalha ao mesmo tempo com duas ou mais aplicações residentes na memória

Ambiente Multiprogramado

Aplicação emAplicação emforegroundforeground

Aplicações em Aplicações em backgroundbackground

(listadas na barra (listadas na barra de ferramentas)de ferramentas)

Page 18: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

18

Comando fg e bg• Os comandos fg e bg servem para alterar o plano de execução de um processo, mandando-o para o primeiro ou segundo plano, respectivamente. O primeiro plano é a execução normal onde todos os processos rodam, ocupando o prompt do sistema enquanto não terminam. • O segundo plano é uma execução independente, deixando o prompt liberado para o usuário.• Para se iniciar um programa em segundo plano, basta colocar um E comercial(&) no final da linha de comando. O prompt voltará imediatamente ao usuário e o programa prosseguirá sua execução.• Para colocar em segundo plano um processo já existente, antes é necessário pará-lo com a combinação de teclas Crtl + Z. Então usa-se o comando bg para que o processo continue sua execução do ponto onde parou, mas em segundo plano.• Para trazer de volta ao primeiro plano um processo colocado no segundo, basta usar o comando fg.

Page 19: 1 Processos Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

19

Comando xkill

• Uma alternativa para a gerência de processos usando a interface gráfica é o comando xkill.

• Este comando, ao ser digitado no terminal transforma o cursor do mouse em um X que possibilita matar qualquer processo em execução pelo simples clique em cima de sua janela.