summaryrefslogtreecommitdiff
path: root/docs/dev
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
commit8cace3f05003c6cb4d38c36890055f03151c2ad4 (patch)
treeaa739deaac0266f17c4e91b333957501cb1ea2e9 /docs/dev
parent3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (diff)
downloadlume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.gz
lume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.xz
Remove old code
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'docs/dev')
-rw-r--r--docs/dev/dev_device.md23
-rw-r--r--docs/dev/dev_memory.md37
2 files changed, 0 insertions, 60 deletions
diff --git a/docs/dev/dev_device.md b/docs/dev/dev_device.md
deleted file mode 100644
index 1eb6462..0000000
--- a/docs/dev/dev_device.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Dev log
-## **3.Device Model & HAL:**
-* Interrupt Controller: PLIC:
-
- * Implement the PLIC (Platform-Level Interrupt Controller) driver.
-
- * Set the PLIC priority threshold and enable bits during the start() phase.
-
- * Dispatch Cause 9 (External Interrupt) in kerneltrap/usertrap.
-
-* Character Device: Interrupt-Driven Console:
-
- * Implement a Ring Buffer. uart_putc returns immediately after writing to the buffer.
-
- * UART transmit interrupt: triggers when the serial port is idle, the ISR takes data from the Ring Buffer and writes it to the register.
-
- * UART receive interrupt: triggers when a key is pressed, the ISR reads the character and wakes up the process waiting to read.
-
-* Block Device: VirtIO-Blk:
-
- * Implement a block device driver for the PCI or MMIO transport layer according to the VirtIO 2.0 standard.
-
- * DMA: Use the Buddy System to allocate contiguous memory as the descriptor table for the Virtqueue. \ No newline at end of file
diff --git a/docs/dev/dev_memory.md b/docs/dev/dev_memory.md
deleted file mode 100644
index f05e336..0000000
--- a/docs/dev/dev_memory.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Dev log
-## **1. Process Management:**
-The core architecture has been upgraded from a simple single queue to a Per-CPU scheduler, supporting multi-core concurrency.
-
-* Process lifecycle: A complete process state machine has been implemented, including UNUSED, RUNNABLE, RUNNING, SLEEPING, and ZOMBIE states.
-
-* Core operations:
- * fork(): process cloning, supporting COW (copy-on-write) isolation of memory space between parent and child processes.
- * exit(): process termination and resource cleanup.
- * wait(): parent process waits for child process to exit.
- * sleep()/wakeup(): channel-based sleep and wakeup mechanism.
-
-* Scheduling algorithm:
- * O(1) priority scheduling has been implemented (supporting 4 priority queues).
-
- * Per-CPU RunQueue: each CPU has its own independent run queue.
-
- * Supports Work Stealing: idle CPUs can fetch tasks from other CPUs’ queues.
-
-## **2. Memory Management:**
-A complete virtual and physical memory management system has been implemented.
-
-* Physical Memory (PMM): Implements the Buddy System, supporting memory allocation and deallocation in $2^n$ pages.
-
-* Virtual Memory (VM): Based on RISC-V Sv39 paging mode. Provides secure data copying from user space to kernel space (copyin).
-
-* COW (Copy-On-Write): During fork, only page table entries are copied and pages are set to read-only; writes trigger page faults for physical copy, greatly improving process creation efficiency.
-
-* Kernel heap: Implements a Slab Allocator, providing efficient allocation of small objects (such as struct Proc).
-
-## **3. Synchronization:**
-
-* Spinlock: Used to protect very short critical sections (e.g., scheduler lock, PMM lock), supports disabling interrupts to prevent deadlocks.
-
-* Mutex (sleeping lock): Used for long critical sections (e.g., file I/O), allowing sleep while holding the lock.
-
-* Lock Handoff: Implements a complex lock handoff mechanism in the scheduler to ensure atomicity of context switches. \ No newline at end of file