Gerenciamento de processo windows vs linux
Gestor de Processos
Núcleo Unix, Linux, e Windows
Departamento de Engenharia Informática
Unix e Linux
Gestor de Processos
Page 1
1
Departamento de Engenharia Informática
Contexto dos Processos
• Em Unix encontrava se divido em duas estruturas: encontrava-se
– A estrutura proc – sempre mantida em memória para suportar o escalonamento e o funcionamento dos signals – A estrutura u - user – só era necessária quando o processo se estivesse a executar transferida para disco se houvesse falta de memória
• As estruturas proc eram organizadas num vector cuja dimensão ditava o número máximo de processos que o di ã dit ú á i d sistema poderia ter.
Departamento de Engenharia Informática
Unix - Contexto Núcleo de um Processo
• estrutura proc:
– p_stat – estado do processo – p_pri – prioridade – p_sig – sinais enviados ao processo – p_time – tempo que está em memória – p_cpu – tempo de utilização – p_pid – identificador do processo – p_ppid – identificador do processo pai
• estrutura u:
– registos do processador – pilha do núcleo – códigos de protecção (UID, GID) – referência ao directório corrente e por omissão – tabela de ficheiros abertos – apontador para a estrutura proc – parâmetros da função sistema em execução
• parte do contexto do processo necessária para efectuar as operações de escalonamento
Page 2
2
Departamento de Engenharia Informática
Linux: task_struct struct task_struct { volatile long state; unsigned long flags; int sigpending; mm_segment_t addr_limit; struct exec_domain *exec_domain; volatile long need_resched; unsigned long ptrace; int lock_depth; unsigned int cpu; int prio, static_prio; struct list_head run_list; prio_array_t *array; unsigned long sleep_avg; unsigned long last_run; unsigned long policy; unsigned long cpus_allowed; unsigned int time_slice, first_time_slice; atomic_t usage; struct list_head tasks; struct list_head ptrace_children; struct list_head