Learning operating system development using Linux kernel and Raspberry Pi
-
Updated
Aug 27, 2020 - C
{{ message }}
Learning operating system development using Linux kernel and Raspberry Pi
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
(Going to be) A microkernel that implements a WebAssembly "usermode" that runs in Ring 0.
libhermit-rs: A Rust-based library operting system
HermitCore: A C-based, lightweight unikernel
display_bsod internally calls the map_framebuffer syscall to map the framebuffer, because we . were lazy and didn't want to duplicate code. However this syscall retrieves the current process to map it in its process memory.
When we're panicking during early boot, CURRENT_PROCESS is None and this panics in the panic handler.
We should instead do a second function that maps it in the k
FreeDOS kernel - implements the core MS-DOS/PC-DOS (R) compatible operating system. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project. !!! This fork is no longer the primary fork -- Please post PRs and issues to https://github.com/FDOS/kernel !!!
A simple "Unix-like" kernel trying to be POSIX compliant
Operating System
Check out kernel/kernel/kshell.c and kernel/libk/string.c... Replace the 'local' string algorithms in kshell with string.c ones. Also check if string.c/string.h implements all the the standard string functions
Add a description, image, and links to the osdev topic page so that developers can more easily learn about it.
To associate your repository with the osdev topic, visit your repo's landing page and select "manage topics."
runloop_internal makes a call to thread_pause to take care of time accounting. This kind of violates a tacit understanding that the core parts of the kernel are independent of unix, which is one of what could be multiple syscall interfaces exposed to threads. Consider adding another frame method - like FRAME_PAUSE - for a callback (thunk) from the scheduler, and remove the unix-specific includes a