Learning operating system development using Linux kernel and Raspberry Pi
-
Updated
Jul 20, 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
BoneOS Kernel and Operating System Source Tree
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."
There are numerous areas in the kernel where a heap allocation failure is being silently ignored, merely asserted against or otherwise mishandled. Assertions may suffice for allocations on initialization (where system bringup would otherwise be impossible), but allocation failures which may reasonably happen during runtime must be addressed.
See, for example, #1199; all the various calls to the