{"id":13836250,"url":"https://github.com/pbalduino/menios","last_synced_at":"2025-04-13T15:22:21.611Z","repository":{"id":139621545,"uuid":"292114837","full_name":"pbalduino/menios","owner":"pbalduino","description":"meniOS is an operating system project written from scratch for fun","archived":false,"fork":false,"pushed_at":"2024-12-24T15:28:15.000Z","size":31274,"stargazers_count":29,"open_issues_count":6,"forks_count":1,"subscribers_count":4,"default_branch":"trunk","last_synced_at":"2025-03-27T06:18:30.765Z","etag":null,"topics":["hobby-os","operating-system"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pbalduino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-01T21:49:21.000Z","updated_at":"2024-12-28T02:06:25.000Z","dependencies_parsed_at":"2023-04-23T22:30:33.996Z","dependency_job_id":"801f3599-23ce-4157-92cc-805d5ce58fbd","html_url":"https://github.com/pbalduino/menios","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbalduino%2Fmenios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbalduino%2Fmenios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbalduino%2Fmenios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbalduino%2Fmenios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pbalduino","download_url":"https://codeload.github.com/pbalduino/menios/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248733224,"owners_count":21152980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hobby-os","operating-system"],"created_at":"2024-08-04T15:00:39.751Z","updated_at":"2025-04-13T15:22:21.585Z","avatar_url":"https://github.com/pbalduino.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# MeniOS\n\n\u003cimg alt=\"image\" src=\"https://github.com/user-attachments/assets/90634816-da18-4e3c-8132-bba2ea291940\"\u003e\n\n\u003ca rel=\"me\" href=\"https://bolha.us/@p_balduino\"\u003eMastodon\u003c/a\u003e\n\nI'm trying again again. Let's see how far I can go.\n\nPrerequisites:\n  Linux:\n  - gcc\n  - ld\n  - make\n  - qemu\n\n  MacOS:\n  - Docker\n  - make\n  - qemu\n\nTo run:\n - make build run\n\nTo do:\n\n[X] Integration with Limine\n\n[X] Map physical memory\n\n[X] Request a page from physical memory\n\n[X] Implement a malloc to provide virtual memory to the process\n\n[ ] Fix the PF and GPF handlers to show the right data\n\n[ ] fix kmalloc to get memory from the virtual memory\n\n[ ] fix virtual_to_physical calculation\n\n[ ] add ANSI and scrolling to the console\n\nReference\n  - 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\n  - PIC:  https://pdos.csail.mit.edu/6.828/2014/readings/hardware/8259A.pdf\n          http://www.brokenthorn.com/Resources/OSDevPic.html\n  - APIC: http://web.archive.org/web/20070112195752/http://developer.intel.com/design/pentium/datashts/24201606.pdf\n  - ATA:  http://learnitonweb.com/2020/05/22/12-developing-an-operating-system-tutorial-episode-6-ata-pio-driver-osdev/\n          http://www.t13.org/Documents/UploadedDocuments/docs2016/di529r14-ATAATAPI_Command_Set_-_4.pdf p.74\n  - ASM:  https://bitismyth.wordpress.com/assembly-bunker/\n  - Mem:  https://arjunsreedharan.org/post/148675821737/memory-allocators-101-write-a-simple-memory\n  - AMD:  https://developer.amd.com/resources/developer-guides-manuals/\n          https://www.amd.com/system/files/TechDocs/48751_16h_bkdg.pdf\n  - Limine 8.x: https://github.com/limine-bootloader/limine/blob/v8.x/PROTOCOL.md\n\n![image](https://user-images.githubusercontent.com/32979/212723683-73387eaf-4a48-4193-83b6-5ec155360a50.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbalduino%2Fmenios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpbalduino%2Fmenios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbalduino%2Fmenios/lists"}