Disciplina: Sistemas Operacionais
Professor: Cristiano Mariotti
[email protected]


Um processo é constituído de um espaço de
endereços de memória e um conjunto de
estruturas de dados dentro do kernel;
O espaço de endereços é um conjunto de
páginas (unidades nas quais a memória é
gerenciada, normalmente 4 KB) de memória
que o kernel marcou para ser empregado
pelo processo;

Contém o código e as bibliotecas que o
processo está executando, as variáveis do
processo, suas pilhas e várias informações
adicionais que o kernel precisa enquanto um
processo está em execução.

As estruturas de dados internas do kernel
registram vários tipos de informações sobre
cada processo:


PID: número do processo em execução;
PPID : número do “pai” (original) do processo
em execução;
◦ A cópia de um processo clonado é chamado de
“processo-filho”;


UID: número de identificação do usuário que
criou o processo;
EUID: número de identificação do usuário
“efetivo” de um processo;
◦ Usado para determinar quais recursos e arquivos
um processo tem permissão de utilizar em um dado
momento.



FSUID: controla a determinação de
permissões de sistema de arquivos;
GID: número de identificação do grupo de
usuários que exercem poder sobre um
processo;
EGID: número de identificação do grupo
“efetivo” de usuários que exercem poder
sobre um processo.

Gentileza: Indica como o processo deve ser
tratado com relação aos demais processos que
lutam por recursos na CPU;
◦ Um valor alto nice significa baixa prioridade do
processo: significa que ele está apto a ceder lugar para
outros processos serem executados;
◦ Os valores permitidos vão de [-20, +19];


Quando um processo é criado, seu primeiro valor
de “gentileza” é atribuído pelo comando nice;
O comando renice ajusta o grau de “nice”
(gentileza) que um processo terá com relação aos
outros.

xntpd: processo ao qual a “gentileza” é mais
comumente aplicado nos sistemas modernos;
◦ daemon de sincronização do relógio da CPU;

Comando fork: cria a cópia de um processo,
originando assim um “processo-filho”;
◦ Retorna para o “filho” o valor 0 (zero), e para o
“processo-pai”, retorna o PID do “filho” recém-criado;



init: sempre igual a 1, indica o primeiro processo
a ser criado, quando na inicialização do sistema;
exit: comando que notifica ao kernel quando no
encerramento de um processo;
wait: comando que faz o pai reconhecer a
notificação de que um processo será encerrado.


São solicitações de interrupção enviados aos
processos que estão em execução;
Podem ser enviados:
◦ Entre processos como um meio de comunicação;
◦ Pelo driver do terminal do sistema para extinguir,
interromper ou suspender processos quando teclas
especiais como CTRL + C e CTRL + Z forem acionadas;
◦ Pelo superusuário, através do comando kill, por
exemplo, capaz de eliminar um processo em execução;
◦ Pelo kernel quando o processo cai na “zona crítica” ou
cai em erros de exceção, que resultam em sua “morte”.

Através do comando ps, o superusuário do
sistema Linux pode controlar os processos
que estão em execução;

Comando top: fornece um sumário atualizado
regularmente dos processos ativos e o
emprego de seus recursos.




Processos que utilizam demasiados recursos
de tempo e espaço em disco do sistema; OU
Processos que, de repente, “se enfurecem” e
foge do controle do kernel ou do próprio
operador do sistema;
Deve-se descobrir a quem pertence o
processo e se ele é destrutivo ou não para os
demais antes de o usuário querer eliminá-lo
através do comando kill;
Outra forma de tratá-los é redefinindo suas
“gentilezas” através do comando renice.
EXERCÍCIOS





As estruturas de dados internas do kernel
registram vários tipos de informações sobre
cada processo, EXCETO:
A) O tempo de vida útil do processo.
B) O número de identificação do processo.
C) O número de identificação do criador do
processo.
D) O estado do processo.





Usado para determinar quais recursos e
arquivos um processo tem permissão de
utilizar em um dado momento:
A) EUID
B) GID
C) PID
D) PPID





Controla a determinação de permissões de
sistema de arquivos:
A) EGID
B) FSUID
C) GID
D) PID





Quando um processo é criado, seu primeiro
valor de “gentileza” é atribuído pelo
comando:
A) nice
B) renice
C) ps
D) kill





Qual dos números abaixo indica um nice de
processo com mais baixa prioridade?
A) +10
B) -8
C) +12
D) 0





Processo ao qual a “gentileza” é mais
comumente aplicado nos sistemas modernos:
A) xntpd
B) xtp
C) xnt
D) exntpd





Cria a cópia de um processo, originando
assim um “processo-filho”:
A) exec
B) fork
C) init
D) wait





Comando para visualizar a execução dos
processos residentes no sistema:
A) xntpd
B) ps
C) kill
D) ls -a





Fornece um sumário atualizado regularmente
dos processos ativos e o emprego de seus
recursos:
A) ls
B) kill
C) xntpd
D) top





Deve-se descobrir a quem pertence o
processo e se ele é destrutivo ou não para os
demais antes de o usuário querer eliminá-lo
através do comando:
A) kill
B) ps
C) top
D) init
Download

Capítulo 3: Controlando processos