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

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

Prof. João Paulo de Brito Gonçalves

Apresentações semelhantes


Apresentação em tema: "Prof. João Paulo de Brito Gonçalves"— Transcrição da apresentação:

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

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.

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.

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

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.

6 Processos no Windows

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

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.

9 MONITORAÇÃO DE PROCESSOS

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

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

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

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>

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>

15 Comando kill O 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.

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.

17 Aplicações em background
Ambiente Multiprogramado Usuário trabalha ao mesmo tempo com duas ou mais aplicações residentes na memória Aplicação em foreground Aplicações em background (listadas na barra de ferramentas)

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.

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.


Carregar ppt "Prof. João Paulo de Brito Gonçalves"

Apresentações semelhantes


Anúncios Google