summaryrefslogtreecommitdiff
path: root/src/kernel/proc.c
AgeCommit message (Collapse)Author
2022-09-02kernel/proc: introduce child ids for telling children apartdzwdz
2022-08-30set up the stack in user/bootstrap instead of the kerneldzwdz
2022-08-28kernel/vfs: minor vfs_request / vfs_root_register reworkdzwdz
* changed vfs_root_register's name because the _mount didn't add anything * removed the old pointless vfs_backend_tryaccept calls from drivers * because of that, i could remove the vfs_backend globals * replaced the horrible BACKEND_KERN macro * all vfs_backends are now stored on the heap
2022-08-19syscall/fs_wait: return a handle for each requestdzwdz
2022-08-19syscall/fork: allow sharing handles between threadsdzwdz
2022-08-19kernel: kzallocdzwdz
2022-08-19kernel/proc: abstract away managing handlesdzwdz
2022-08-18syscall/fork: FORK_SHAREMEM for primitive "threads"dzwdz
2022-08-12kernel/proc: don't expose internal fuctions, clean up apidzwdz
2022-08-06kernel/mem: make the page bitmap cover everything after bssdzwdz
2022-08-04do some simple TODOs, organize the rest; general code maintainancedzwdz
2022-08-04syscalls: add _syscall_sleep()dzwdz
2022-08-03kernel: reuse a single allocation for all vfs_requests of a processdzwdz
$ iostress 32 512 0 > /vtty # before 512 calls, 0 bytes. avg 121133 $ iostress 32 512 0 > /vtty # after 512 calls, 0 bytes. avg 103540 103540/121133 = ~85% I think the tiny bit of added complexity is worth it here.
2022-07-26shared: move some headers from shared/ to camellia/dzwdz
2022-07-18syscalls: implement execbufdzwdz
i have been planning to implement something like this for a while now. it should be faster when doing consecutive syscalls (to be tested). it will also be helpful in writing the elf loader
2022-07-17amd64: remove dead code, combine shared codedzwdz
2022-07-16amd64: back at the shell!dzwdz
2022-07-16amd64: init can print to the terminal nowdzwdz
2022-07-16amd64: seemingly working syscalls (SYSCALL/SYSRET)dzwdz
2022-07-16amd64: just enough paging support to map initdzwdz
2022-07-16amd64: barely boot into kernel codedzwdz
2022-07-10kernel: implement killing processes stuck on pipesdzwdz
2022-07-09kernel/pipes: process queueingdzwdz
2022-07-08kernel/proc: remove the type argument from process_handle_getdzwdz
2022-07-07kernel: add the vfsreq_finish_short shorthand functiondzwdz
2022-07-07kernel/vfs: delegate support in _syscall_fs_respond!dzwdz
this is big in terms of speed, it avoids a lot of unnecessary context switches
2022-07-05kernel: initial partial pipe supportdzwdz
2022-06-30kernel/linker: rename .text.early to .shareddzwdz
It's not really just a text section, as it's writeable too. Makes gcc shut up about invalid section attributes.
2022-05-21kernel/i386: only map what's absolutely necessary in the userdzwdz
2022-05-06kernel/proc: fork: be explicit about copying fieldsdzwdz
2022-05-06syscalls: merge fork() and fs_fork2()dzwdz
2022-05-06kernel/proc: reorganize the functionsdzwdz
2022-05-06kernel/proc: move shutdown() to process_killdzwdz
2022-05-06kernel/proc: simplify `process_free()`dzwdz
2022-05-06kernel/proc: get rid of the PS_DEADER state, free processes asapdzwdz
2022-05-05kernel/proc: remove WAITS4IRQdzwdz
2022-05-05kernel: move the COM1 driver to a separate handlerdzwdz
2022-05-05kernel: ps2 driver is now a separate backenddzwdz
2022-05-05kernel/vfs: refactor vfs_backend to allow multiple kernel backendsdzwdz
2022-05-05kernel/vfs: rename the vfsreq funcs, merge vfsreq_finish & vfsreq_canceldzwdz
2022-05-05kernel/proc: remove deathbeddingdzwdz
2022-05-04kernel/proc: leave the vfs_request when killing a WAITS4FS procdzwdz
...instead of letting the hwole process stay around. This could end up a bit more complex, I have no idea how to test killing processes during vfs requests. The upside of this is that I can remove all the deathbed/deadparent weirdness now.
2022-05-04kernel: refcount vfs_backenddzwdz
what a mess
2022-05-03kernel: reference count mount objects, free them on process killsdzwdz
2022-05-03kernel/proc: fix double decrement of potential_handlersdzwdz
2022-05-02syscalls: fork() noreap flagdzwdz
2022-05-02kernel/vfs: always separately allocate the request objectdzwdz
2022-05-01kernel/proc: `process_handle_get` for safely accepting handle idsdzwdz
2022-05-01kernel/proc: make handles separate refcounted objectsdzwdz
2022-04-28kernel/proc: automatically free processes given the chancedzwdz