Sistemas de Operação
Aula Prática 1: 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 para sair do script.
- 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?