Mercurial > lcfOS
view kernel/process.c3 @ 300:158068af716c
yafm
author | Windel Bouwman |
---|---|
date | Tue, 03 Dec 2013 18:00:22 +0100 |
parents | 9417caea2eb3 |
children | 6753763d3bec |
line wrap: on
line source
module process; import memory; import kernel; // process type definition: type struct { int id; int status; } process_t; // Or, use this list structure: // List<process_t> procs; // init is the root of all processes: var process_t* init_pid = 0; var int next_pid = 0; function void init() { next_pid = 0; init_pid = Create(); } /* Create a new process. */ function process_t* Create() { // process_t* p = memory.Alloc(sizeof(process_t)); p->id = next_pid; next_pid = next_pid + 1; return p; } function void Kill(process_t* p) { // clean memory } function process_t* byId(int id) { // Perform lookup return 0; }