fix(wiki): correct directory paths and type declarations
- Fix lib/ references: libc/inc → lib/inc, libc/src → lib/src
- Fix userspace paths: programs/ → userspace/bin/ in all exercises
- Fix strlen return type: int → size_t for correctness
- Ensure all code paths match actual MentOS repository structure
c9b4c64
documentation(wiki): transform wiki into instructional learning resource
- Transform C-Library.md from reference to teaching document
- Add 4 learning paths to Home.md (Boot-to-Shell, Kernel Dev, Userspace, Troubleshooting)
- Add hands-on exercises to 7 pages (System-Calls, C-Library, Userspace-Programs, Scheduling, IPC, File-Systems, Debugging)
- Total: 40+ practical exercises with complete code examples
- Add visual diagrams and progressive complexity to explanations
- Emphasize 'teach concepts first, then reference' approach
f9c8c7a
style: formatting improvements to wiki pages
d61309f
docs: rewrite File-Systems.md to teach filesystem and VFS concepts for students
9b0b6b6
docs: add MentOS-specific implementation references to Kernel.md
- Added header note referencing MentOS kernel source code location
- Process management section:
* References kernel/inc/process/task.h for task_struct definition
* References kernel/src/process/ for task management code
* Scheduler references: kernel/src/process/scheduler.c
- Memory management section:
* References kernel/src/mem/ for paging and memory allocators
- Interrupt handling section:
* References kernel/src/arch/i386/ for architecture-specific setup
* References kernel/src/interrupt/ for IDT and handlers
* References kernel/inc/system/syscall.h for syscall definitions
- System calls section:
* References kernel/inc/system/ and kernel/src/system/
* Lists all 60+ syscalls with categories
- I/O and debugging section:
* References kernel/inc/io/ for kernel logging and debugging
Students can now navigate from kernel concepts directly to source code.
547833c
docs: add MentOS-specific file paths to Architecture.md
- Added header note clarifying all paths reference actual MentOS repo
- boot/ section now references boot/src/boot.S, boot.c, kernel boot headers
- kernel/ section expanded with actual directory structure:
* Added kernel/src/ipc/, kernel/src/system/, kernel/src/arch/
* Added kernel/src/kernel.c, scheduler.c, paging.c, vfs.c references
- lib/ section now shows actual MentOS libc structure:
* lib/inc/sys/ header files (ipc.h, sem.h, msg.h, shm.h)
* lib/src/ paths for implementation files
* References to syscall wrappers and IPC system calls
- userspace/ section added:
* File paths to programs (userspace/bin/shell.c, ls.c, etc.)
* Test programs in userspace/tests/ (IPC test references)
- filesystem/ section clarified:
* References to EXT2 filesystem code (kernel/src/fs/ext2.c)
* VFS abstraction (kernel/src/fs/vfs.c)
* References to filesystem drivers
Students can now navigate from documentation directly to source code.
0382f39
docs: add MentOS-specific implementation details to IPC.md
- Added header note referencing MentOS source files and test programs
- Each IPC section now includes 'MentOS Implementation Details':
* Header file locations (lib/inc/sys/sem.h, msg.h, shm.h)
* Kernel implementation files (kernel/src/ipc/sem.c, msg.c, shm.c)
* Syscall declarations (kernel/inc/system/syscall.h)
* Links to working test programs (userspace/tests/)
- Added relevant constants and flags from MentOS headers
- Cross-references enable students to navigate from documentation
to actual MentOS source code for deeper learning
Ensures students learn from MentOS-specific implementations, not
generic Linux/POSIX concepts. All examples now point to actual MentOS
code paths.
8f6dde8
docs: rewrite IPC.md to teach IPC concepts for students
Transformed from API reference to instructional guide:
- Added 'The Problem: Processes Need to Talk' introduction explaining
WHY IPC exists (isolated processes need communication)
- Created comparison table of three IPC mechanisms (semaphores, message
queues, shared memory) with use cases
- Semaphore section now teaches concepts:
- 'Traffic lights' analogy explaining P/V operations
- Mutex example with visual timeline
- Producer-consumer with counting semaphore
- Barrier synchronization example
- All examples are complete, working code
- Message queue section teaches async messaging:
- 'Mailbox' analogy explaining typed messages
- Simple command passing example
- Job queue with priorities example
- Shows FIFO ordering and type-based selection
- Shared memory section teaches fastest IPC:
- 'Shared whiteboard' analogy
- Virtual/physical memory mapping diagram
- Producer-consumer with semaphore locking
- Large data transfer example (1MB)
- Explains why it's fast (no copying)
- Added decision table: which mechanism to use when
- Common patterns: multi-reader-single-writer, ring buffers
- Debugging section with ipcs/ipcrm commands
- Each concept explained with WHY before showing HOW
- Visual diagrams throughout (ASCII art)
- API summaries kept but moved after concept explanations
Students now learn IPC concepts first, then see practical examples,
then reference API details - not the other way around.
3701b44
docs: rewrite Kernel.md to teach kernel concepts for students
- Transformed from reference manual to teaching guide
- Added 'What is a Kernel?' introduction with diagrams
- Explained each subsystem with WHY before HOW:
* Process management (context switching, fork, scheduling)
* Memory management (paging, virtual memory, allocators)
* File systems (VFS architecture, inodes, dentries)
* Interrupts (types, IDT, handlers)
* Device drivers (keyboard, disk examples)
- Added visual diagrams for paging, interrupts, syscalls
- Explained kernel initialization step-by-step
- Included real code examples with annotations
- Provided clear entry points for exploration
- Focused on concepts students need to understand, not just API reference
986f6fa
docs: rewrite Architecture.md to be instructional guide for students
- Changed from directory listing to teaching WHY and HOW
- Added visual diagrams explaining layers (user/kernel/hardware)
- Explained boot process step-by-step
- Added memory layout explanation with diagrams
- Explained key concepts: ring 0/3, virtual memory, context switching
- Provided learning path for students
- Focused on understanding concepts, not just listing files
10f3ded
chore: remove duplicate IPC.md.md and fix broken wiki links in Home.md
2a3b8f0
Updated Inter‐Process Communication (IPC) (markdown)
1f27da6
Updated File Systems (markdown)
5eeed7f
Created File Systems (markdown)
6b29a17
Created System Calls (markdown)
6a5eb57
Destroyed System‐Calls (markdown)
0ab099a
Updated System Calls.md (markdown)
9322f32
Created System Calls.md (markdown)
a0242b8
Created Userspace Programs (markdown)
ef4f55a
Created C Library (markdown)
0d792a8
Created IPC.md (markdown)
a38ab39
Created Kernel (markdown)
4fb5890
Updated Running MentOS (markdown)
5a10bc6
Updated Getting Started (markdown)
239ef8e
Updated Features (markdown)
4208ab9
Updated Development Guide (markdown)
86244eb
Updated Development Guide (markdown)
e113244
Updated Debugging (markdown)
2cbba74