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

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

Administração de Sistemas Operacionais Não Proprietários 2º Semestre Aula 09 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM.

Apresentações semelhantes


Apresentação em tema: "Administração de Sistemas Operacionais Não Proprietários 2º Semestre Aula 09 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM."— Transcrição da apresentação:

1 Administração de Sistemas Operacionais Não Proprietários 2º Semestre Aula 09 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS

2 Utilitários de Gerenciamento de Processos
Processos - Descrição Segundo Tanenbaum: “A idéia-chave aqui é que um processo é um tipo de atividade. Ele tem um programa, entrada, saída e um estado. Um único processador pode ser compartilhado entre vários processos, com algum algoritmo de agendamento sendo utilizado para determinar quando parar de trabalhar em um processo e servir a um diferente”.

3 Utilitários de Gerenciamento de Processos
Processos - Descrição Ainda segundo Tanenbaum: executando - o processo está utilizando a CPU; pronto - o processo está temporariamente parado para permitir que outro processo execute; bloqueado - o processo é incapaz de executar até que um evento aconteça.

4 Utilitários de Gerenciamento de Processos
Processos - Descrição Um processo pode criar outros processos. Dizemos que um processo é pai do processo que ele criou. Além disso, um processo-filho pode também criar novos processos, formando assim uma árvore hierárquica de processos. Todo processo, possui: Espaço de endereçamento de memória; Variáveis de ambiente; Lista de arquivos abertos; Um número que o identifica, conhecido como PID; Umprocesso pai (parent) identificado pelo PPID; Identificação de usuário e grupo.

5 Utilitários de Gerenciamento de Processos
Processos - Linux O init é o primeiro processo inicializado no Linux e é o pai de todos os outros processos. Se um processo termina e deixa processos-filho ainda executando, o processo init assume a paternidade destes processos. Quando um usuário trabalha no modo monousuário, um único processo shell é inicializado. Qualquer comando digitado pelo usuário neste terminal irá gerar um ou mais processos. A árvore hierárquica dos processos tendo o shell como raiz é chamada de sessão.

6 Utilitários de Gerenciamento de Processos
Processos - Linux Quando um usuário inicializa um gerenciador de janelas (X Windows), para cada terminal criado é alocado um processo shell responsável pelo terminal em questão. Cada terminal corresponde a uma sessão aberta pelo usuário sendo que as sessões são independentes entre si. Isto significa que uma alteração feita em um dos terminais não será reconhecida pelos outros terminais pois cada terminal possui o seu próprio conjunto de variáveis de ambiente. Por exemplo, ao entrar com o comando newgrp em um dos terminais para alterar o grupo do usuário, apenas a sessão em questão mudará de grupo.

7 Utilitários de Gerenciamento de Processos
Processos – Background e Foreground No linux, um processo pode estar em foreground ou em background, ou seja, em primeiro plano ou em segundo plano. Por exemplo, ao digitar o comando ls –R /etc > teste o sistema criará o arquivo teste com o conteúdo de todos os diretórios e arquivos que se encontram abaixo do diretório /etc. Durante a execução do comando acima, nenhum outro comando poderá ser digitado pelo usuário no mesmo terminal. Isto significa que o comando está sendo executado em primeiro plano impedindo assim a execução de outras atividades no mesmo terminal.

8 Utilitários de Gerenciamento de Processos
Processos – Background e Foreground Para o exemplo acima, é possível liberar o shell para outras atividades enquanto o arquivo teste é criado. Basta que você digite ls -R /etc > teste & O símbolo & indica que o comando deve ser executado em background, ou seja, em segundo plano.

9 Utilitários de Gerenciamento de Processos
Processos – Background e Foreground O símbolo & indica que o comando deve ser executado em background, ou seja, em segundo plano. Se um processo está executando em foreground e você deseja colocá-lo em background, você deve: 1. interromper a execução do processo com as teclas CTRL-Z; 2. digitar o comando bg. Para trazer um processo do modo background para o modo foreground, você deve usar o comando fg.

10 Utilitários de Gerenciamento de Processos
Processos – Modelo Cliente-Servidor O Linux implementa muitas das suas funções usando o modelo cliente-servidor. Isto significa que existem processos que são criados especificamente para executar determinadas tarefas. Estas tarefas especiais são oferecidas aos outros processos do sistema na forma de serviços. O processo responsável pela execução de um determinado serviço no sistema é chamado de servidor, enquanto o processo que solicita o serviço ao sistema é chamado de cliente. Normalmente, as aplicações servidoras (daemons) são executadas em background, enquanto as aplicações clientes são executadas em foreground.

11 Utilitários de Gerenciamento de Processos
Processos – Modelo Cliente-Servidor A grande vantagem em implementar funções do sistema dessa forma é tornar o kernel do Linux menor, pois tudo que o kernel faz neste caso é gerenciar a comunicação entre clientes e servidores. Além disso, o administrador pode escolher os serviços que o sistema tornará disponíveis.

12 Utilitários de Gerenciamento de Processos
Processos – Modelo Cliente-Servidor São exemplos de daemons no Linux: at daemon - servidor que executa serviços agendados pelo comando at. cron daemon - servidor que executa serviços agendados pelo comando crontab. lpd (printer daemon) - servidor de impressão de arquivos.

13 Utilitários de Gerenciamento de Processos
Processos – Modelo Cliente-Servidor Por padrão, podemos usar os seguintes argumentos com os daemons: start : inicializa o daemon. stop : termina o daemon. status : verifica a situação do daemon. Portanto, o comando status atd fornece informação sobre o servidor at. Por exemplo, é possível ter a seguinte saída: atd start/running, process 986

14 Utilitários de Gerenciamento de Processos
Processos – Observações O diretório /proc possui a lista dos processos que estão em execução no sistema. Cada processo é identificado neste diretório por um número. Por exemplo, o processo init é o processo 1.

15 Utilitários de Gerenciamento de Processos
Processos – Tópicos Relacionados bg - coloca um processo em background. fg - coloca um processo em foreground. fuser - identifica os processos que estão usando um determinado arquivo ou diretório. kill - envia um determinado sinal a um processo em execução. killall - envia um determinado sinal a um conjunto de processos que usam o mesmo nome. nice - define a prioridade de execução de um processo. nohup - executa um comando (processo) imune a interrupções de conexão. PID - número de identificação (ID) de um processo. ps - exibe informações sobre os processos em execução. renice - altera a prioridade de um processo em execução. top - lista os processos que estão utilizando a CPU. ulimit - exibe/altera os limites dos recursos disponibilizados para o shell e seus processos-filhos.

16 Utilitários de Gerenciamento de Processos
Processos – Comandos... PS ps   # Visualiza os processos em execução ps -a   # Exibe processos de outros usuários também ps -u   # Exibe os processos detalhadamente inclusive com uso de memória ps -x   # Exibe os processos que não estão vinculados a terminais ps -ef   # Exibe todos os processos e mostra o PPID top   # Exibe os processos que utilizam CPU em tempo real top -d   # Exibe os processos que utilizam CPU em tempo real com atualização de 1 seg kill -9 (processo)   # Mata um processo kill -l   # Mostra as opções do comando kill 


Carregar ppt "Administração de Sistemas Operacionais Não Proprietários 2º Semestre Aula 09 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM."

Apresentações semelhantes


Anúncios Google