summaryrefslogtreecommitdiff
path: root/src/kernel/proc.c
AgeCommit message (Collapse)Author
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
2022-04-28kernel/proc: reparent deathbedded processesdzwdz
dead processes now can't have alive children
2022-04-28kernel/proc: simplify `process_seed`dzwdz
2022-04-28kernel/proc: explicitly handle all process states in switch()esdzwdz
2022-04-28kernel/vfs: don't wait for IRQs when system is about to haltdzwdz
2022-04-22kernel: recursive process_freedzwdz
2022-04-21kernel: consolidate `process_seed` and `run_init`dzwdz
2022-04-21kernel/proc: only expose `process_switch_any()`dzwdz
other parts of the kernel don't need to care about which process exactly gets switched into
2022-04-21kernel/proc: only kill deathbedded processes on switch attemptdzwdz
this makes `process_transition` safe again, as it won't be able to free processes. it was a pretty unintuitive behaviour
2022-04-21kernel: recursive kill()dzwdz
2022-04-21kernel: `shutdown()`; temporarily print process states on shutdowndzwdz
2022-04-16kernel/vfs: store the queue in `vfs_request` itselfdzwdz
2022-04-15kernel/vfs: don't hang on orphaned vfs callsdzwdz
2022-04-15kernel/vfs: don't hang waiting for a vfs backend after it exit()sdzwdz
2022-04-14kernel/proc: only change state through `process_transition`dzwdz
2022-04-14kernel: store a pointer to the callback function in .waits4irqdzwdz
removes `proc.c`'s pointless dependency on `vfs/root.h`
2022-04-14kernel: port init's `printf` implementationdzwdz
2022-04-14kernel: basic page allocator, `process_free`dzwdz
2022-04-12kernel/proc: implement `process_next` for simple process iterationdzwdz
2022-04-11kernel: implement `cpu_pause()` in assembly, remove `irq_interrupt_flag()`dzwdz
2022-04-11kernel/arch: only allow IRQs in the idle processdzwdz
2022-04-11kernel: shutdown when init quitsdzwdz
thanks to this it's easier to power off - instead of waiting for all processses to quit (which now involves writing `quit` both on serial and ps/2), one of those can just somehow kill init. currently this is just done by exiting from any shell - init will return from await and exit too
2022-04-10init/fs: handle delegated reads in a subprocessdzwdz
first off: this is horrible. there's no CoW, so this is horribly slow. the sole purpose of this is to let the userland delegate handle multiple requests at once, because i'm implementing concurrent IO and I kinda need that. it's possible that handling of multiple requests could be handled in a better way - but this could be good enough once i implement CoW