學號 | GitHub 帳號 | 姓名 | |
---|---|---|---|
309551004 |
aesophor |
王冠中 |
[email protected] |
看起來是在寫 kernel,但其實都在自幹 STL...
- Lab1: Hello World
- Lab2: Booting (bootloader)
- Lab3: Allocator (pmm)
- Lab4: Exception and Interrupt Handling
- Lab5: Multitasking
- Lab6: Virtual Filesystem
- Lab7: Filesystem Meets Hardware
- Lab8: Virtual Memory (vmm)
- I/O: MiniUART - supports sync/async I/O
- ARM Mailbox API
- Exception & interrupt handling - top/bottom halves, tasklets
- Buddy allocator
- Dynamic allocator - my own optimized SLOB allocator (a simplified
ptmalloc
) - Boot memory allocator
- User / Kernel threads
- Multitasking - sys_fork(), sys_exec(), sys_wait(), sys_exit()
- User tasks preemption
- Kernel preemption - protect critical sections
- POSIX signals and custom signal handlers - sys_kill(), sys_signal(), sys_rt_sigreturn()
- Wait Queues
- tmpfs
- Virtual filesystem - vfs_open(), vfs_close(), vfs_write(), vfs_read()
- System-wide opened file table, Per-process file descriptor tables
- POSIX file I/O - sys_read(), sys_write(), sys_open(), sys_close()
- Multi-level VFS
- Procfs
- ...
- Algorithm
- Concepts
- Functional
- Iterator
- UniquePtr + make_unique<>()
- SharedPtr + make_shared<>() + *_pointer_cast<>()
- WeakPtr
- List
- String
- Vector (?)
- Deque (the performance is shit ...)
- Utility (move and forward)
- ...
Available under the MIT License