Skip to content

History

Revisions

  • 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

    @Galfurian Galfurian committed Jan 28, 2026
    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

    @Galfurian Galfurian committed Jan 28, 2026
    f9c8c7a
  • style: formatting improvements to wiki pages

    @Galfurian Galfurian committed Jan 28, 2026
    d61309f
  • docs: rewrite File-Systems.md to teach filesystem and VFS concepts for students

    @Galfurian Galfurian committed Jan 28, 2026
    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.

    @Galfurian Galfurian committed Jan 28, 2026
    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.

    @Galfurian Galfurian committed Jan 28, 2026
    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.

    @Galfurian Galfurian committed Jan 28, 2026
    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.

    @Galfurian Galfurian committed Jan 28, 2026
    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

    @Galfurian Galfurian committed Jan 28, 2026
    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

    @Galfurian Galfurian committed Jan 28, 2026
    10f3ded
  • chore: remove duplicate IPC.md.md and fix broken wiki links in Home.md

    @Galfurian Galfurian committed Jan 28, 2026
    2a3b8f0
  • Updated Inter‐Process Communication (IPC) (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    1f27da6
  • Updated IPC (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    8d0a0dc
  • Created IPC (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    eb4244b
  • Updated File Systems (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    5eeed7f
  • Created File Systems (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    6b29a17
  • Created System Calls (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    6a5eb57
  • Destroyed System‐Calls (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    0ab099a
  • Updated System Calls.md (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    9322f32
  • Created System Calls.md (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    a0242b8
  • Created Userspace Programs (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    ef4f55a
  • Created C Library (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    0d792a8
  • Created IPC.md (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    a38ab39
  • Created Kernel (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    4fb5890
  • Updated Running MentOS (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    5a10bc6
  • Updated Getting Started (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    239ef8e
  • Updated Features (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    4208ab9
  • Updated Development Guide (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    86244eb
  • Updated Development Guide (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    e113244
  • Updated Debugging (markdown)

    @Galfurian Galfurian committed Jan 28, 2026
    2cbba74