Processos
Um processo é um simples programa que está rodando em seu espaço de
endereçamento virtual próprio. É distinto de um job ou comando, que, em
sistemas UNIX, podem ser compostos de muitos processos realizando uma única tarefa.
Comandos simples como "ls" são executados como simples processos. Um comando composto,
contendo pipes irá executar um processo por segmento pipe. Em sistemas UNIX, o
gerenciamento dos recursos da CPU deve ser feito, em grande parte, por contrôle de
processos, pois os recursos de alocação e as facilidades de execução
em bacht disponíveis em outros sistemas são pouco desenvolvidas ou inexistentes.
Tipos de Processos
- Interativos
- Batch
- Deamons
Processos interativos são iniciados a partir de, e controlados por uma sessão
terminal. Estes processos podem rodar tanto em foreground como em background.
Processos batch, ou em lote, são processos não associados a nenhum terminal.
Ao invés disso, são submetidos a uma fila, da qual jobs são executados
sequencialmente. UNIX oferece um comando bacht muito primitivo.
Daemons são processos servidores, inicialmente inicializados durante o boot, que
rodam continuamente enquanto o sistema estiver ativo, esperando, em background, até que
um processo requisite seus serviços. Por exemplo, network daemons ficam em estado idle
até que um processo requisite serviço de rede.
Atributos
- Process ID (PID)
- Parent process (PPID)
- TTY
- UID real e efetiva (RUID, EUID)
- GID real e efetiva (RGID, EGID)
Process ID, PID, é um número que identifica unicamente este processo e
é usado para referir-se a ele.
Parent process ID, PPID, é o process ID do processo pai do processo, ou seja, o
processo que o criou.
TTY é o dispositivo de terminal associado com o processo
O UID real de um processo é o UID do usuário que o criou. O UID efetivo,
é o UID que é utilizado para determinar o acesso do processo a recursos do
sistema. Usualmente, RUID e EUID são os mesmos e o processo tem os mesmos acessos que o
usuário que o disparou. Entretanto, quando SUID está setado em um
executável, então o EUID do processo executando é setado para o UID do
propritário do arquivo, que herda as permissões deste.
O GUID real e efetivo de um processo é grupo primário ou corrente do
usuário. Seu GID efetivo, utilizado para determinar permissões de acesso, é
o mesmo que o GID real, exceto quando o SGID está setado em um executável. Neste
caso, o EGID assume o GID do grupo proprietário do arquivo.
Voltar
Avançar