XINU
process.h
Go to the documentation of this file.
1 
29 #ifndef NPROC
30 #define NPROC 8
32 #endif
33 
35 #define PR_FREE 0
36 #define PR_CURR 1
38 #define PR_READY 2
40 #define PR_RECV 3
42 #define PR_SLEEP 4
44 #define PR_SUSP 5
46 #define PR_WAIT 6
48 #define PR_RECTIM 7
50 
52 #define PNMLEN 16
53 #define NULLPROC 0
55 
57 #define INITSTK 65536
58 #define INITPRIO 20
60 #define INITRET userret
62 
71 #define isbadpid(x) (((pid32)(x) < 0) || \
72  ((pid32)(x) >= NPROC) || \
73  (proctab[(x)].prstate == PR_FREE))
74 
79 #define NDESC 5 /* must be odd to make procent 4N bytes */
80 
85 struct procent
86 {
92  char *prstkptr;
94  char *prstkbase;
98  char prname[PNMLEN];
109 };
110 
112 #define STACKMAGIC 0x0A0AAAA9
113 
115 extern struct procent proctab[];
117 extern int32 prcount;
119 extern pid32 currpid;
pid32 prparent
このプロセスを作成したプロセスID(親プロセスID)。
Definition: process.h:102
pid32 currpid
現在実行中のプロセス。
Definition: initialize.c:32
int32 prcount
現在アクティブのプロセス。
Definition: initialize.c:30
byte bool8
Boolean値
Definition: kernel.h:36
uint32 umsg32
プロセス間で渡されるメッセージ
Definition: kernel.h:32
int16 pri16
プロセス優先度
Definition: kernel.h:30
uint32 prstklen
Bytesで表されたスタックの長さ(最大値。Byte)。
Definition: process.h:96
pri16 prprio
プロセスのスケジューリング優先度。
Definition: process.h:90
#define PNMLEN
プロセス名の長さ
Definition: process.h:52
sid32 prsem
プロセスが待機しているセマフォ。
Definition: process.h:100
char prname[PNMLEN]
プロセス名。
Definition: process.h:98
char * prstkbase
ランタイムスタックの基点(メモリ領域で最上位のアドレス)。
Definition: process.h:94
int16 prdesc[NDESC]
プロセス用のデバイスディスクリプタ
Definition: process.h:108
short int16
符号あり16ビット整数(short)
Definition: kernel.h:13
int int32
符号あり32ビット整数(int)
Definition: kernel.h:11
#define NDESC
Definition: process.h:79
uint16 prstate
プロセス状態(PR_CURR, ..., etc)。
Definition: process.h:88
unsigned short uint16
符号なし16ビット整数(unsigned short)
Definition: kernel.h:17
struct procent proctab[]
プロセステーブル。
Definition: initialize.c:23
int32 pid32
プロセスID
Definition: kernel.h:26
プロセステーブル(32bitsの倍数)。
Definition: process.h:85
unsigned int uint32
符号なし32ビット整数(unsigned int)
Definition: kernel.h:15
bool8 prhasmsg
有効(Valid)メッセージの場合、非0となる。
Definition: process.h:106
int32 sid32
セマフォID
Definition: kernel.h:22
umsg32 prmsg
このプロセスに送信されたメッセージ。
Definition: process.h:104
char * prstkptr
保存されたスタックポインタ。
Definition: process.h:92