Name |
Default Value |
Comments |
EX_HANDLER / EXCEPTION |
1024 |
Starting address of Exception Handler |
TIMER |
2048 |
Starting address of Timer Interrupt Routine |
DISK |
3072 |
Starting address of Disk Controller Interrupt Routine |
CONSOLE |
4096 |
Starting address of Console Interrupt Routine |
INT_4 |
5120 |
(Create, 1)* , (Delete, 4) |
INT_5 |
6144 |
(Seek, 6), (Open, 2), (Close,3) |
INT_6 |
7168 |
(Read, 7) |
INT_7 |
8192 |
(Write, 5) |
INT_8 |
9216 |
(Fork, 8) |
INT_9 |
10240 |
(Exec, 9) |
INT_10 |
11264 |
(Exit, 10) |
INT_11 |
12288 |
(Getpid, 11), (Getppid, 12), (Wait, 13), (Signal, 14) |
INT_12 |
13312 |
(Logout, 28) |
INT_13 |
14336 |
(Semget, 17), (Semrelease, 18) |
INT_14 |
15360 |
(SemLock, 19), (SemUnLock, 20) |
INT_15 |
16384 |
(Shutdown, 21) |
INT_16 |
17408 |
(Newusr, 22), (Remusr, 23), (Setpwd, 24), (Getuname, 25), (Getuid, 26) |
INT_17 |
18432 |
(Login, 27) |
INT_18 |
19456 |
(Test0, 96), (Test1, 97), (Test2, 98), (Test3, 99) |
MOD_0 / RESOURCE_MANAGER |
20480 |
Resource Manager |
MOD_1 / PROCESS_MANAGER |
21504 |
Process Manager |
MOD_2 / MEMORY_MANAGER |
22528 |
Memory Manager |
MOD_3 / FILE_MANAGER |
23552 |
File Manager |
MOD_4 / DEVICE_MANAGER |
24576 |
Device Manager |
MOD_5 / CONTEXT_SWITCH / SCHEDULER |
25600 |
Context Switch Module (Scheduler Module) |
MOD_6 / PAGER_MODULE |
26624 |
Pager Module |
MOD_7 / BOOT_MODULE |
27648 |
Boot Module |
Name |
Default Value |
Comments |
ACQUIRE_BUFFER |
1 |
Resource Manager Function #1 |
RELEASE_BUFFER |
2 |
Resource Manager Function #2 |
ACQUIRE_DISK |
3 |
Resource Manager Function #3 |
ACQUIRE_INODE |
4 |
Resource Manager Function #4 |
RELEASE_INODE |
5 |
Resource Manager Function #5 |
ACQUIRE_SEMAPHORE |
6 |
Resource Manager Function #6 |
RELEASE_SEMAPHORE |
7 |
Resource Manager Function #7 |
ACQUIRE_TERMINAL |
8 |
Resource Manager Function #8 |
RELEASE TERMINAL |
9 |
Resource Manager Function #9 |
GET_PCB_ENTRY |
1 |
Process Manager Function #1 |
FREE_USER_AREA_PAGE |
2 |
Process Manager Function #2 |
EXIT_PROCESS |
3 |
Process Manager Function #3 |
FREE_PAGE_TABLE |
4 |
Process Manager Function #4 |
KILL_ALL |
5 |
Process Manager Function #5 |
GET_FREE_PAGE |
1 |
Memory Manager Function #1 |
RELEASE_PAGE |
2 |
Memory Manager Function #2 |
GET_FREE_BLOCK |
3 |
Memory Manager Function #3 |
RELEASE_BLOCK |
4 |
Memory Manager Function #4 |
GET_CODE_PAGE |
5 |
Memory Manager Function #5 |
GET_SWAP_BLOCK |
6 |
Memory Manager Function #6 |
BUFFERED_WRITE |
1 |
File Manager Function #1 |
BUFFERED_READ |
2 |
File Manager Function #2 |
OPEN |
3 |
File Manager Function #3 |
CLOSE |
4 |
File Manager Function #4 |
DISK_STORE |
1 |
Device Manager Function #1 |
DISK_LOAD |
2 |
Device Manager Function #2 |
TERMINAL_WRITE |
3 |
Device Manager Function #3 |
TERMINAL_READ |
4 |
Device Manager Function #4 |
SWAP_OUT |
1 |
Pager Module Function #1 |
SWAP_IN |
2 |
Pager Module Function #2 |
Name |
Default Value |
Comments |
PROCESS_TABLE |
28672 |
Starting address of Process Table |
OPEN_FILE_TABLE |
28928 |
Starting address of Open File Table |
SEMAPHORE_TABLE |
29056 |
Starting address of Semaphore Table |
MEMORY_FREE_LIST |
29184 |
Starting address of Memory Free List |
FILE_STATUS_TABLE |
29312 |
Starting address of File Status Table |
DISK_STATUS_TABLE |
29552 |
Starting address of Disk Status Table |
SYSTEM_STATUS_TABLE |
29560 |
Starting address of System Status Table |
TERMINAL_STATUS_TABLE |
29568 |
Starting address of Terminal Status Table |
PAGE_TABLE_BASE |
29696 |
Starting address of Page tables |
BUFFER_TABLE |
30016 |
Starting address of Buffer Table |
DISK_MAP_TABLE |
30032 |
Starting address of Disk Map Table |
INODE_TABLE |
30208 |
Starting address of Inode Table |
USER_TABLE |
31168 |
Starting address of User Table |
DISK_FREE_LIST |
31232 |
Starting address of Disk Free List |
ROOT_FILE |
31744 |
Starting address of Root File |
BUFFER |
36352 |
Starting address of Buffer Cache |
BUFFER_BASE |
71 |
Starting page number of Buffer Cache |
Name |
Default Value |
Comments |
READY |
1 |
Process State READY |
RUNNING |
2 |
Process State RUNNING |
CREATED |
3 |
Process State CREATED |
TERMINATED |
4 |
Process State TERMINATED |
WAIT_DISK |
5 |
Process is waiting to acquire disk |
WAIT_FILE |
6 |
Process is waiting for release on an Inode |
WAIT_BUFFER |
7 |
Process is waiting for release of buffer cache |
WAIT_TERMINAL |
8 |
Process is waiting to acquire terminal |
WAIT_PROCESS |
9 |
Process is waiting for a signal from another process |
WAIT_SEMAPHORE |
10 |
Process is waiting to acquire a semaphore |
WAIT_MEM |
11 |
Process is waiting as memory is not available |
ALLOCATED |
12 |
Process Table entry has been allocated for the process, but process creation is not complete |
Name |
Default Value |
Comments |
PAGE_SIZE |
512 |
Size of a memory page in eXpOS |
NUM_MEM_PAGES |
128 |
Number of memory pages in eXpOS |
MAX_PROC_NUM |
16 |
Max. number of process allowed by eXpOS |
PT_ENTRY_SIZE |
16 |
Size of one page table entry |
MAX_OPENFILE_NUM |
32 |
Max. number of open files allowed by eXpOS |
MAX_MEM_PAGE |
128 |
Max. number of memory pages availble to eXpOS |
MAX_SEM_COUNT |
32 |
Max. number of semaphores allowed by eXpOS |
MAX_PROC_PAGES |
10 |
Max. number of pages allowed for each process |
MAX_BUFFER |
4 |
Max. number of file read/write buffers in eXpOS |
MAX_FILE_NUM |
60 |
Max. number of files possible |
MAX_FILE_SIZE |
2048 |
Max. words in a file |
MAX_USER_NUM |
16 |
Max. number of users allowed |
Name |
Default Value |
Comments |
OS_SECONDARY |
65536 |
Starting address of OS Startup code for secondary core. |
INT_19 |
66560 |
(Test4, 100), (Test5, 101), (Test6, 102), (Test7, 103) |
MOD_8 / ACCESS_CONTROL |
67584 |
Access Control Module |
MOD_9 / TESTA |
68608 |
TestA (Reserved for Future use) |
MOD_10 / TESTB |
69632 |
TestB (Reserved for Future use) |
MOD_11 / TESTC |
70656 |
TestC (Reserved for Future use) |
IDLE2_PROCESS |
14 |
PID of the Idle Process for secondary core |
INT_TEST4 |
100 |
Test System Call 4 |
INT_TEST5 |
101 |
Test System Call 5 |
INT_TEST6 |
102 |
Test System Call 6 |
INT_TEST7 |
103 |
Test System Call 7 |
ACQUIRE_KERN_LOCK |
1 |
Access Control Module Function #1 |
ACQUIRE_SCHED_LOCK |
2 |
Access Control Module Function #2 |
ACQUIRE_GLOCK |
3 |
Access Control Module Function #3 |
RELEASE_LOCK |
4 |
Access Control Module Function #4 |
PRIMARY_CORE |
0 |
Indicates that the current core is primary core |
SECONDARY_CORE |
1 |
Indicates that the current core is secondary core |
ACCESS_LOCK_TABLE |
29576 |
Starting address of Access Lock Table |
KERN_LOCK |
29576 |
Kernel Lock |
SCHED_LOCK |
29577 |
Scheduler Lock |
GLOCK |
29578 |
General Purpose Lock |
NUM_MEM_PAGES * |
144 |
Number of memory pages in eXpOS |
DISK_SIZE * |
528 |
Number of blocks in the disk |