sys_proc.c File Reference

#include <routix/system.h>
#include <routix/paging.h>
#include <routix/segm.h>
#include <routix/debug.h>
#include <routix/syscalls.h>
#include <sys/syscalls.h>
#include <routix/elf.h>
#include <routix/file.h>
#include <error.h>
#include <routix/timer.h>
#include <routix/kalloc.h>
#include <routix/kstdio.h>
#include <string.h>
#include <routix/task.h>
#include <sys/list.h>
#include <sys/types.h>
#include <routix/signal.h>

Go to the source code of this file.

Classes

Defines

Functions

Variables


Define Documentation

#define EXIT_CALL_LEN   12
 

Referenced by sys_execve().

#define RUNSTATS   1
 

Definition at line 25 of file sys_proc.c.

#define SIGNAL_CHECK_LEN   14
 

Referenced by sys_execve().

#define START_PRIORITY   1
 

Prioridad inicial de un nuevo proceso creado por medio de exec.

Definition at line 28 of file sys_proc.c.

Referenced by sys_exec(), and sys_execve().


Function Documentation

int count_elements char **  vector  )  [inline]
 

Cuenta la cantidad de elementos que tiene un vector de punteros.

Definition at line 1140 of file sys_proc.c.

Referenced by sys_execve().

int sys_exec char *  nombre  ) 
 

Genera un nuevo proceso a partir de un ejecutable COFF32.

Parameters:
path donde se encuentra el ejecutable
Returns:
-1 en caso de error.
Todo:
Liberar recursos en caso de error

Definition at line 234 of file sys_proc.c.

int sys_execve char *  nombre,
char **  arg_p,
char **  env_p
 

Ejecuta un nuevo proceso sobre el espacio de direcciones del proceso actual.

Parameters:
nombre path de la tarea a ejecutar
arg_p vector de punteros a argumentos de main
env_p vector de punteros a variables de entorno exportadas por el shell
Returns:
0 y -1 en caso de éxito y error, respectivamente. Se setea el valor de err_no del task_struct
Todo:
Liberar recursos en caso de error

Reemplazar todas las llamadas de exec por execve

Definition at line 840 of file sys_proc.c.

int sys_exit_fs void   ) 
 

Libera todos los recursos relacionados con archivos utilizados por el proceso.

Definition at line 676 of file sys_proc.c.

int sys_exit_mm void   ) 
 

Libera todos los recursos de memoria utilizados por un proceso (excepto el task_struct).

Definition at line 588 of file sys_proc.c.

Referenced by sys_exec(), and sys_execve().

int sys_exit_notify void   ) 
 

notificación al sistema de la terminación de un proceso uso interno de System Call exit. Esta llamada deberá levantar todos los procesos hijos en estado zombie, y luego, ponerse el en estado zombie en la lista de procesos hijos de su padre (task->brothers)

Definition at line 635 of file sys_proc.c.

int sys_fork void   ) 
 

Implementación de fork (no hace falta hacer comentarios).

Definition at line 112 of file sys_proc.c.

pid_t sys_get_pid void   )  [inline]
 

Devuelve el PID de la tarea actual.

Definition at line 542 of file sys_proc.c.

pid_t sys_get_ppid void   )  [inline]
 

Devuelve el PID de su padre.

Definition at line 548 of file sys_proc.c.

void sys_perror char *  str  ) 
 

Imprime el mensaje relacionado a un errorn.

Definition at line 516 of file sys_proc.c.

int sys_renice word  pid,
word  prioridad
 

modifica la prioridad de una tarea

Parameters:
pid del proceso
nueva prioridad

Definition at line 526 of file sys_proc.c.

Referenced by tarea_init().

void sys_show int  valor  ) 
 

muestra parametros internos con propósitos de debug

Parameters:
parametro que desea mostrarse

Definition at line 765 of file sys_proc.c.

int sys_void void   ) 
 

Sólo imprime un mensaje (utilizada tiempo atrás para propósitos de debug).

Definition at line 62 of file sys_proc.c.

pid_t sys_waitpid pid_t  pid,
int *  status,
int  options
 

Obtiene la condición de salida de un hijo en estado Zombie.

Parameters:
pid pid del hijo en cuestión o 0 para cualquier proceso hijo
status lugar donde se guardará la condición de salida del proceso
options define el comportamiento de waitpid (momentaneamente solo implementamos WNOHANG)

Definition at line 694 of file sys_proc.c.

Referenced by sys_exit_notify().


Variable Documentation

task_struct_t* actual
 

Puntero al task struct de la tarea que realizó la llamada al sistema.

Definition at line 32 of file sys_proc.c.

struct floppy_cache* header_floppy_cache
 

Definition at line 758 of file sys_proc.c.

Referenced by sys_show().

task_struct_t* init_task
 

Puntero al task struct del proceso init.

Definition at line 34 of file sys_proc.c.

word morecores
 

Definition at line 757 of file sys_proc.c.

Referenced by morecore(), and sys_show().

void* punteros[1000]
 

Definition at line 760 of file sys_proc.c.

Referenced by sys_show().

int(* syscall_process[MAX_SYSCALLS])(void) =
 

Vector de funciones de llamadas al sistema (grupo Process).

Definition at line 46 of file sys_proc.c.

int zombie_queue_len = 0
 

Cantidad de procesos en estado Zombie.

Definition at line 559 of file sys_proc.c.

Referenced by sys_exit_notify(), sys_show(), and sys_waitpid().


Generated on Sun May 30 18:38:36 2004 for Routix OS by doxygen 1.3.6