283
|
1 module process;
|
|
2 import memory;
|
|
3 import kernel;
|
|
4
|
|
5 // process type definition:
|
|
6 typedef struct {
|
|
7 int id;
|
|
8 } process_t;
|
|
9
|
|
10 // init is the root of all processes:
|
|
11 var process_t* init = 0;
|
|
12 var int next_pid = 0;
|
|
13
|
|
14 public func void Init()
|
|
15 {
|
|
16 next_pid = 0;
|
|
17 init = Create();
|
|
18 }
|
|
19
|
|
20 /*
|
|
21 Create a new process.
|
|
22 */
|
|
23 public func process_t* Create()
|
|
24 {
|
|
25 process_t* p = memory.Alloc(sizeof(process_t));
|
|
26 p->id = next_pid;
|
|
27 next_pid++;
|
|
28 return p;
|
|
29 }
|
|
30
|
|
31
|
|
32 public func void Kill(process_t* p)
|
|
33 {
|
|
34 // clean memory
|
|
35 }
|
|
36
|
|
37
|