banan-os/kernel/include/kernel
Bananymous 3c6be319b1 Kernel: Restructure process and thread termination
When we want to kill a process, we mark its threads as Terminating
or Terminated. If the thread is in critical section that has to be
finished, it will be in Terminating state until done. Once Scheduler
is trying to execute Terminated thread it will instead delete it.

Once processes last thread is marked Terminated, the processes will
turn it into a cleanup thread, that will allow blocks and memory
cleanup to be done.
2023-07-28 18:06:20 +03:00
..
API Kernel: Rewrite directory listing so it can be integrated to libc 2023-06-11 00:17:18 +03:00
Device Kernel: add NullDevice to /dev/null 2023-07-20 00:06:22 +03:00
FS Kernel: add is_tty() to inode 2023-07-24 22:19:59 +03:00
Input Kernel: move Device.h to its own directory 2023-07-19 23:55:38 +03:00
Memory Kernel: remove PAGE_FLAGS_MASK as that was not correct anymore 2023-07-21 12:01:50 +03:00
Storage Kernel: Rewrite DiskCache 2023-07-27 22:22:39 +03:00
Terminal Kernel: TTY now stores foreground process pid 2023-07-24 22:29:59 +03:00
ACPI.h Kernel: rework the whole PageTable structure 2023-07-05 23:41:35 +03:00
APIC.h Kernel: rework the whole PageTable structure 2023-07-05 23:41:35 +03:00
Arch.h Kernel: Add bareboness fork() function 2023-05-28 18:08:49 +03:00
Attributes.h Kernel: Initial work on new scheduler with queues 2023-03-08 02:41:44 +02:00
CPUID.h Kernel: CPUID can detect wether cpu supports nxe bit 2023-07-13 14:24:58 +03:00
Credentials.h Kernel: Add syscalls for set{,e,re}{uid,gid} 2023-06-11 22:37:00 +03:00
CriticalScope.h Kernel: Create CriticalScope and fix kmalloc 2023-03-08 13:55:53 +02:00
Debug.h Kernel: d{print,warn,error}ln(...) now has a spinlock 2023-04-22 17:58:51 +03:00
Errors.h Kernel: ATAController will fail to initialize in native mode 2023-04-19 17:29:36 +03:00
Font.h BAN: Modify Span constructors to keep constness correctly 2023-03-23 14:26:03 +02:00
GDT.h Kernel: TSS stack can be set after initialization 2023-04-25 14:48:12 +03:00
IDT.h Kernel: I have no idea what this commit does 2023-01-26 02:55:37 +02:00
IO.h Kernel: Add IO functions inl, outl, and ins{b,w,l} to read into buffer 2023-02-24 12:39:38 +02:00
InterruptController.h Kernel: Create CriticalScope and fix kmalloc 2023-03-08 13:55:53 +02:00
InterruptStack.h Kernel: Syscalls now get the interrupt stack 2023-07-21 11:04:16 +03:00
LockGuard.h All: Move to c++20 2023-02-09 23:05:26 +02:00
OpenFileDescriptorSet.h Kernel: OpenFileDesctiptor can now return inode of fd 2023-07-23 18:52:33 +03:00
PCI.h Kernel: Rewrite whole device structure 2023-07-10 23:17:14 +03:00
PIC.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
PIT.h Kernel: PIT now has very barebones sleep 2023-02-16 17:53:25 +02:00
Panic.h Kernel: Panic wont print stacktrace if it has already paniced 2023-04-18 10:18:15 +03:00
Process.h Kernel: Restructure process and thread termination 2023-07-28 18:06:20 +03:00
RTC.h Kernel/BAN: move unix time conversion to BAN and add stat to Shell 2023-03-27 00:49:58 +03:00
Scheduler.h Kernel: Restructure process and thread termination 2023-07-28 18:06:20 +03:00
Semaphore.h Kernel: remove Semaphore::is_blocked 2023-07-24 22:23:13 +03:00
Serial.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
SpinLock.h Kernel: Locks allow locking after locker is invalid 2023-07-27 18:52:51 +03:00
Syscall.h LibC: Rewrite all the headers. 2023-05-26 22:31:21 +03:00
Thread.h Kernel: Restructure process and thread termination 2023-07-28 18:06:20 +03:00
kprint.h Kernel: Start work on making tty a file 2023-04-05 00:56:09 +03:00
multiboot.h BAN: Formatter now uses perfect forwarding on its arguments 2023-03-08 21:31:26 +02:00