Sistemas de Operação
Aula Prática 1
Ano Lectivo de 2002/2003
Processos em Unix
O propósito deste exercício é, por um lado, conhecer melhor os
processos em Unix, como são criados/organizados, e por outro lado
habituar-se a pesquisar informação existente no sistema sobre
processos. Para tal, segue-se um conjunto de pequenas tarefas que deve
resolver.
Algumas das questões são mais simples de responder usando a sintaxe
SysV e outras usando a sintaxe BSD. SysV usa um hífen (-) antes da
lista de opções enquanto que BSD não. Existem diferenças nas duas
sintaxes nas opções dos comandos, e algumas das opções com a mesma
letra produzem resultados diferentes. Consulte a man-page do
comando ps para saber mais sobre as opções das duas
sintaxes. Para obter um sumário das opções faça ps -help,
uma opção ilegal em SysV mas que acciona a mensagem de como usar o
comando.
Realize as tarefas propostas e escreva, sempre que apropriado, o
comando completo usado para encontrar ou ajudar a encontrar a resposta
adequada.
- Crie um ficheiro para gravar os comandos que irá invocar e as
respostas dadas pelo sistema. Para começar a gravar faça:
script fich_output (se não indicar fich_output
o output vai para o ficheiro typescript). Para terminar
de gravar faça Ctrl-d.
- Registe a data e a hora com o comando date.
- Use o comando pstree para visualizar a hierarquia dos
processos em execução e em seguida identifique o próprio comando
pstree nessa hierarquia.
- Use o comando top para visualizar a evolução do estado
dos vários processos e acompanhe a evolução do seu processo
corrente. Para interpretar os vários parâmetros apresentados
consulte a man-page do comando top.
- Execute o comando ps e determine qual o ID do
seu processo.
- Descubra qual a shell que está a executar.
- Descubra mais informação sobre o seu processo usando ps
-f, ps l ou ps u.
- Qual é o ID do processo-pai do seu processo?
- Execute o comando ps aux e consulte a man-page
do comando ps para determinar o significado das colunas
TIME e STIME?
- Inicie o editor emacs e em seguida suspenda a sua
execução com Ctrl-z. Como é que isso afecta a sua lista
de processos e o seu estado?
- Use os comandos ps e wc para determinar
quantos processos estão a executar no sistema.
- Consulte a man-page do ps para descobrir como
listar todos os seus processos.
- Do total dos seus processos, quantos estão em cada um dos
seguintes estados: running, sleeping,
zombie e stopped?
- Qual o processo que está a usar mais tempo de CPU?
- Quantos processos estão a correr no sistema e desses quantos
estão swapped-out?
- Qual é o ID do pai de todos os processos do sistema?
- Quantos processos existem no sistema que não estão associados a
terminais?