Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-01-06 | kernel: basic procfs | dzwdz | |
2022-09-20 | shared: rename ufs_request to better fit its role in userland | dzwdz | |
The old name could have suggested that it held a response to a request received by fs_wait. The new name is unfortunately very similar to the `struct vfs_request` already used internally in the kernel, but it's better at conveying that it contains a filesystem request yet to be handled. vfs_request - virtual filesystem request (a bad name in hindsight) ufs_request - user filesystem request | |||
2022-09-02 | kernel/proc: introduce child ids for telling children apart | dzwdz | |
2022-08-19 | syscall/fs_wait: return a handle for each request | dzwdz | |
2022-08-19 | syscall/fork: allow sharing handles between threads | dzwdz | |
2022-08-19 | kernel/proc: abstract away managing handles | dzwdz | |
2022-08-18 | syscall/fork: FORK_SHAREMEM for primitive "threads" | dzwdz | |
2022-08-12 | kernel/proc: don't expose internal fuctions, clean up api | dzwdz | |
2022-08-04 | syscalls: add _syscall_sleep() | dzwdz | |
2022-08-03 | kernel: reuse a single allocation for all vfs_requests of a process | dzwdz | |
$ 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-26 | shared: move some headers from shared/ to camellia/ | dzwdz | |
2022-07-18 | syscalls: implement execbuf | dzwdz | |
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-09 | kernel/pipes: process queueing | dzwdz | |
2022-07-08 | kernel/proc: remove the type argument from process_handle_get | dzwdz | |
2022-07-05 | kernel: initial partial pipe support | dzwdz | |
2022-05-06 | kernel/proc: reorganize the functions | dzwdz | |
2022-05-06 | kernel/proc: get rid of the PS_DEADER state, free processes asap | dzwdz | |
2022-05-05 | kernel/proc: remove WAITS4IRQ | dzwdz | |
2022-05-05 | kernel: ps2 driver is now a separate backend | dzwdz | |
2022-05-05 | kernel/proc: remove deathbedding | dzwdz | |
2022-05-02 | syscalls: fork() noreap flag | dzwdz | |
2022-05-02 | shared: fix some stuff i broke + compiler warnings | dzwdz | |
2022-05-02 | kernel/vfs: always separately allocate the request object | dzwdz | |
2022-05-01 | kernel/proc: `process_handle_get` for safely accepting handle ids | dzwdz | |
2022-05-01 | kernel/proc: make handles separate refcounted objects | dzwdz | |
2022-04-28 | kernel/proc: reparent deathbedded processes | dzwdz | |
dead processes now can't have alive children | |||
2022-04-21 | kernel: consolidate `process_seed` and `run_init` | dzwdz | |
2022-04-21 | kernel/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-21 | kernel/proc: only kill deathbedded processes on switch attempt | dzwdz | |
this makes `process_transition` safe again, as it won't be able to free processes. it was a pretty unintuitive behaviour | |||
2022-04-21 | kernel: recursive kill() | dzwdz | |
2022-04-21 | kernel: `shutdown()`; temporarily print process states on shutdown | dzwdz | |
2022-04-16 | kernel/vfs: store the queue in `vfs_request` itself | dzwdz | |
2022-04-14 | kernel/proc: only change state through `process_transition` | dzwdz | |
2022-04-14 | kernel: store a pointer to the callback function in .waits4irq | dzwdz | |
removes `proc.c`'s pointless dependency on `vfs/root.h` | |||
2022-04-14 | kernel: basic page allocator, `process_free` | dzwdz | |
2022-04-12 | kernel/proc: implement `process_next` for simple process iteration | dzwdz | |
2022-04-12 | kernel: make all sizes unsigned, sort out the sign mess | dzwdz | |
2022-04-10 | kernel: idle process | dzwdz | |
2022-04-10 | kernel: process_find_multiple | dzwdz | |
2022-04-07 | kernel/vfs: implement a vfs request queue | dzwdz | |
2021-11-02 | fork2 refactor: every process now has (only) a single controlled vfs_backend | dzwdz | |
2021-10-04 | implement process_kill() | dzwdz | |
2021-10-04 | remove support for processes returning strings on exit | dzwdz | |
This isn't really all that useful, it doesn't enable anything that wasn't possible before. With it removed I'll be able to implement process_exit() in a much simpler way. | |||
2021-09-21 | refactor `await_finish` into `process_try2collect` | dzwdz | |
the new name is terrible, but at least the function now has a clear purpose | |||
2021-09-20 | use a single struct for all fs_wait return values | dzwdz | |
2021-09-18 | remove `struct process.stack_top` - it was unused | dzwdz | |
2021-09-15 | fs_wait: pass the file ID too | dzwdz | |
2021-09-12 | implement part of `fs_respond` | dzwdz | |
2021-09-12 | implement most of fs_wait | dzwdz | |
awaited_req is a garbage name but i couldn't come up with a better one. i also have no idea how to handle all the failure states | |||
2021-09-12 | vfs request refactor pt1 | dzwdz | |