Commit Graph

15 Commits

Author SHA1 Message Date
0ae4f7995d Added basic IPC syscalls 2022-08-17 02:47:41 -05:00
5b959c9763 Added queue structure 2022-08-15 20:20:31 -05:00
d84c9c86d0 Removed some unused code 2022-07-05 18:06:19 -05:00
d4b36a7c7d Return the previous process to queue after context switch 2022-07-05 15:18:51 -05:00
5c7d002bbf Moved PCB for each process to kernel heap 2022-07-03 13:17:06 -05:00
a52f06f81e Massive backlog of changes 2022-06-15 15:59:31 -05:00
c962a83ff0 WIP on kernel syscalls 2021-05-01 17:09:50 -05:00
a5e9d852ab Implemented do_syscall()
Wrote constructor for kernel state
Added syscall table
2021-04-19 06:54:34 -05:00
5efc389935 Finished basic task switching mechansim
PCB is local to a process's address space.
Context switches are written in assembly.
Moved x86 headers to include/x86
2021-04-19 03:40:33 -05:00
625bbb04a8 Debug message printed before loading task context 2021-04-18 02:10:33 -05:00
979344e942 next_process() checks if a next process exists
Panics if not
2021-04-17 06:30:00 -05:00
291ed65248 Fixed wrong pointer type in load_module()
Kernel passed a pointer to its own state to get_free_resource_slot(),
causing its state to be corrupted.
next_process() also now loads the address space of the next process before entering it.
2021-04-17 06:25:11 -05:00
2a5dcd4a0f Improved get_free_resource_slot()
Table now tries to expand itself when no available slots are left
2021-04-17 04:59:39 -05:00
b582c39ff8 Started work on process management 2021-04-17 01:00:28 -05:00
0b302c5759 Started main kernel functions 2021-04-12 01:43:47 -05:00