- Bootloader
- Initialization
- Entering S mode for the kernel
- Allocator
- Buddy allocator
- Frame allocator (or any fine-grained allocator for any size of memory)
- SLAB (Optional)
- Page table
- For kernel
- For each user process
- Console
- Read
- Write
- Message & data transfer
- User -> Kernel (syscall)
- Kernel -> User (syscall)
- [?] Kernel -> Kernel
- User -> User (pipe)
- Process
- Process loading
- ELF parsing
- Sections loading (ref to page table)
- Syscall
- Kick off a new process (Something like fork and exec)
- Wait for child processes (Something like wait)
- Exit from a process (Something like exit)
- Process manager
- Process creation
- Process termination
- Scheduler
- Context switch
- Scheduling mechanism (must be time sharing)
- Advanced scheduling mechanism (Optional)
- Timer interrupt
- IPI (Optional)
- IPC
- Pipe
- Process loading
- Synchronization primitives
- Mutex
- Conditional variables (Optional)
- File system (Optional)
- File/directory creation/deletion
- File/directory renaming
- File read
- File write
- File/directory moving
- (optional) access control, atime/mtime/…
- Multicore (Optional)
- Driver (Optional)
-
Couldn't load subscription status.
- Fork 0
SubSir/rCore
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published