https://github.com/pbalduino/menios
meniOS is an operating system project written from scratch for fun
https://github.com/pbalduino/menios
hobby-os operating-system
Last synced: about 2 months ago
JSON representation
meniOS is an operating system project written from scratch for fun
- Host: GitHub
- URL: https://github.com/pbalduino/menios
- Owner: pbalduino
- License: mit
- Created: 2020-09-01T21:49:21.000Z (over 4 years ago)
- Default Branch: trunk
- Last Pushed: 2024-12-24T15:28:15.000Z (5 months ago)
- Last Synced: 2025-03-27T06:18:30.765Z (2 months ago)
- Topics: hobby-os, operating-system
- Language: C
- Homepage:
- Size: 29.8 MB
- Stars: 29
- Watchers: 4
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# MeniOS
I'm trying again again. Let's see how far I can go.
Prerequisites:
Linux:
- gcc
- ld
- make
- qemuMacOS:
- Docker
- make
- qemuTo run:
- make build runTo do:
[X] Integration with Limine
[X] Map physical memory
[X] Request a page from physical memory
[X] Implement a malloc to provide virtual memory to the process
[ ] Fix the PF and GPF handlers to show the right data
[ ] fix kmalloc to get memory from the virtual memory
[ ] fix virtual_to_physical calculation
[ ] add ANSI and scrolling to the console
Reference
- Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4: https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
- PIC: https://pdos.csail.mit.edu/6.828/2014/readings/hardware/8259A.pdf
http://www.brokenthorn.com/Resources/OSDevPic.html
- APIC: http://web.archive.org/web/20070112195752/http://developer.intel.com/design/pentium/datashts/24201606.pdf
- ATA: http://learnitonweb.com/2020/05/22/12-developing-an-operating-system-tutorial-episode-6-ata-pio-driver-osdev/
http://www.t13.org/Documents/UploadedDocuments/docs2016/di529r14-ATAATAPI_Command_Set_-_4.pdf p.74
- ASM: https://bitismyth.wordpress.com/assembly-bunker/
- Mem: https://arjunsreedharan.org/post/148675821737/memory-allocators-101-write-a-simple-memory
- AMD: https://developer.amd.com/resources/developer-guides-manuals/
https://www.amd.com/system/files/TechDocs/48751_16h_bkdg.pdf
- Limine 8.x: https://github.com/limine-bootloader/limine/blob/v8.x/PROTOCOL.md