#include <ubixos/types.h>
#include <ubixos/elf.h>
#include <ubixos/tty.h>
#include <vfs/file.h>
#include <sys/tss.h>
#include <sys/thread.h>
Go to the source code of this file.
| Data Structures | |
| struct | osInfo | 
| struct | taskStruct | 
| Typedefs | |
| typedef taskStruct | kTask_t | 
| Enumerations | |
| enum | tState { PLACEHOLDER = -2, DEAD = -1, NEW = 0, READY = 1, RUNNING = 2, IDLE = 3, FORK = 4, WAIT = 5 } | 
| Functions | |
| void | sched () | 
| int | sched_addDelTask (kTask_t *) | 
| int | sched_deleteTask (pidType) | 
| kTask_t * | sched_getDelTask () | 
| int | sched_init () | 
| int | sched_setStatus (pidType, tState) | 
| void | sched_yield () | 
| void | schedEndTask (pidType pid) | 
| kTask_t * | schedFindTask (uInt32 id) | 
| kTask_t * | schedNewTask () | 
| Variables | |
| kTask_t * | _current | 
| kTask_t * | _usedMath | 
| typedef struct taskStruct kTask_t | 
| enum tState | 
| void sched | ( | ) | 
Definition at line 85 of file sched.c.
References _current, DEAD, FORK, taskStruct::id, taskStruct::next, READY, sched_addDelTask(), sched_deleteTask(), schedulerSpinLock, spinTryLock(), and taskStruct::state.
Referenced by sched_yield().
| int sched_addDelTask | ( | kTask_t * | ) | 
Definition at line 195 of file sched.c.
References delList, taskStruct::next, and taskStruct::prev.
Referenced by sched().
| int sched_deleteTask | ( | pidType | ) | 
Definition at line 176 of file sched.c.
References taskStruct::id, taskStruct::next, taskStruct::prev, and taskList.
Referenced by sched().
| kTask_t* sched_getDelTask | ( | ) | 
Definition at line 204 of file sched.c.
References delList, and taskStruct::next.
Referenced by systemTask().
| int sched_init | ( | ) | 
Definition at line 282 of file sched.c.
References schedFindTask(), taskStruct::state, and x1.
Referenced by endTask(), execFile(), and execThread().
| void sched_yield | ( | ) | 
Definition at line 260 of file sched.c.
References sched().
Referenced by _int0(), _int1(), _int10(), _int11(), _int12(), _int2(), _int3(), _int4(), _int5(), _int6(), _int9(), endTask(), fork_copyProcess(), schedEndTask(), spinLock(), sysFgetc(), sysSchedYield(), systemTask(), ubthread_cond_timedwait(), and ubthread_cond_wait().
| void schedEndTask | ( | pidType | pid | ) | 
Definition at line 242 of file sched.c.
References _current, endTask(), taskStruct::id, and sched_yield().
Definition at line 217 of file sched.c.
References taskStruct::id, taskStruct::next, and taskList.
Referenced by sched_setStatus(), sysCheckPid(), systemTask(), and vmmMapFromTask().
| kTask_t* schedNewTask | ( | ) | 
Definition at line 144 of file sched.c.
References file::f_flag, taskStruct::id, kmalloc(), kpanic(), memset(), NEW, taskStruct::next, nextID, thread::o_files, taskStruct::prev, schedulerSpinLock, spinLock(), spinUnlock(), taskStruct::state, taskList, taskStruct::td, and taskStruct::usedMath.
Referenced by biosCall(), execFile(), and execThread().
Definition at line 52 of file sched.c.
Referenced by _int0(), _int1(), _int10(), _int11(), _int12(), _int13(), _int2(), _int3(), _int4(), _int5(), _int6(), _int8(), _int9(), biosCall(), endTask(), execFile(), fork_copyProcess(), fstat(), getgid(), getpid(), getuid(), intNull(), kern_sysctl(), kmod_load(), ldEnable(), mathStateRestore(), mmap(), mpi_createMbox(), mpi_destroyMbox(), mpi_fetchMessage(), mpi_postMessage(), netMainThread(), obreak(), sched(), schedEndTask(), syscall(), sysChDir(), sysExec(), sysExit(), sysFgetc(), sysFwrite(), sysGetCwd(), sysGetFreePage(), sysGetGid(), sysGetpid(), sysGetUid(), sysMkDir(), sysPasswd(), sysSetGid(), sysSetUid(), ubthread_mutex_lock(), ubthread_mutex_unlock(), ubthread_self(), vmm_pageFault(), vmm_remapPage(), vmmGetFreeVirtualPage(), and vmmMapFromTask().
 1.4.7
 1.4.7