Update instructions based on things learned from attempt-1

This commit is contained in:
2026-02-23 08:34:26 +01:00
parent 94b0297b28
commit ffb8b02762
4 changed files with 426 additions and 5 deletions

View File

@@ -32,14 +32,15 @@ The source code uses the following directory structure:
# Task list
An AI implementing this operating system should implement features in this order.
After each feature, it should create a new Git commit.
After each feature, it should create a new Git commit and push the commit.
The git commit should describe what is done and why certain choices were made.
The title of the commit should always end with (AI), to indicate that it was written by an AI.
Once a task is completed, it should be checked off.
- [ ] Create directory structure
- [ ] Create initial build system
- [ ] Setup a simple kernel that writes `Hello, world` to Qemu debug port
- [ ] Update the build system to create both ISO and Floppy images. Verify these work using a test script.
- [ ] Update the build system to create both ISO and Floppy images. Verify these work using a test script. The standard CMake build target should automatically generate both images.
- [ ] Update the kernel to correctly setup the GDT
- [ ] Create a physical memory allocator and mapper. The kernel should live in the upper last gigabyte of virtual memory. It should support different zones (e.g.: `SUB_16M`, `DEFAULT`, ...) These zones describe the region of memory that memory should be allocated in. If it is not possible to allocate in that region (because it is full, or has 0 capacity to begin with), it should fallback to another zone.
- [ ] Create a paging subsystem. It should allow drivers to allocate and deallocate pages at will.