00001
00002
00003
00004
00005
00006 #include "routix/task.h"
00007
00008 #ifndef __SYSTEM
00009 #include "routix/system.h"
00010 #endif
00011
00012
00013 #define cmd(comando) ( ! strcmp(msg,comando) )
00014
00015
00016 void ps(void);
00017
00018 void task_debug(void) {
00019
00020 char msg[80];
00021 while(1) {
00022 kprintf("task debug > ");
00023 gets(msg);
00024
00025 if ( cmd("exit") ) { return; }
00026 else if ( cmd("ps") ) { ps(); }
00027
00028 }
00029
00030 }
00031
00032 char *estados[] = { "TASK_RUNNING", "TASK_STOPPED" };
00033
00034 void ps()
00035 {
00036 task_struct_t *tmp;
00037
00038 kprintf("Actual: 0x%x\n",actual);
00039
00040 for (tmp = tareas_inicio; tmp != NULL ; tmp=tmp->proxima ) {
00041
00042 kprintf("Puntero: 0x%x - Proxima: 0x%x\n",tmp,tmp->proxima);
00043 kprintf("Pid: %d - Desc: '%s'\n", tmp->pid, tmp->descripcion);
00044 kprintf("Estado: %s - Prioridad: %d - Cuenta: %d - Tiempo Cpu: %d\n\n",estados[tmp->estado],tmp->prioridad,tmp->cuenta,tmp->tiempo_cpu);
00045
00046 }
00047
00048 }
00049
00050