{"id":13577445,"url":"https://github.com/rgimad/EOS","last_synced_at":"2025-04-05T12:30:20.296Z","repository":{"id":40370591,"uuid":"201623042","full_name":"rgimad/EOS","owner":"rgimad","description":"EOS is an educational operating system for x86 platform","archived":false,"fork":false,"pushed_at":"2024-10-22T21:57:11.000Z","size":4500,"stargazers_count":117,"open_issues_count":1,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-05T14:45:16.610Z","etag":null,"topics":["asm","c","kernel","osdev"],"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/rgimad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-10T11:50:33.000Z","updated_at":"2024-09-29T17:33:50.000Z","dependencies_parsed_at":"2023-01-31T23:31:37.920Z","dependency_job_id":null,"html_url":"https://github.com/rgimad/EOS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgimad%2FEOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgimad%2FEOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgimad%2FEOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgimad%2FEOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rgimad","download_url":"https://codeload.github.com/rgimad/EOS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247338452,"owners_count":20922985,"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":["asm","c","kernel","osdev"],"created_at":"2024-08-01T15:01:21.552Z","updated_at":"2025-04-05T12:30:19.907Z","avatar_url":"https://github.com/rgimad.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# EOS (Experimental Operating System)\n\n**EOS** is an educational operating system for x86 platform\n\n![Screenshot](https://raw.githubusercontent.com/rgimad/EOS/master/screenshots/screenshot1.png \"Screenshot\")\n\n## Current status\n\n- GDT and IDT setup\n- VESA framebuffer based terminal :D\n- PS/2 keyboard and mouse support\n- RAM detection and Physical Memory Manager\n- Higher Half Kernel\n\n  The kernel starts at virtual address 0xC0100000\n\n  0xC0000000-0xC0400000 and 0x00000000-0x00400000 vitual addresses are mapped to one physical range - to 0x00000000-0x00400000\n- Virtual Memory Manager\n- Entry based kernel heap manager (kmalloc/kfree/krealloc)\n- Very simple kernel command shell (KSH)\n- VFS\n- Initrd, uses TarFS\n- MENUET01 and PE executables loaders\n- System call mechanism\n\n## TODO\n- User-mode and multitasking\n- Synchronization (mutex, spinlock)\n- FAT32 driver\n- HDD driver\n- PCI driver\n- ACPI driver\n- etc.\n\n## Building and debugging\nGo to src/kernel\n\n- Building *release* version:\n\n```Shell\nmake build-iso\n```\n\n- Building and running *release* version:\n\n```Shell\nmake build-iso-run\n```\n\n- Building *debug* version:\n\n```Shell\nmake build-iso DEBUG=1\n```\n\n- Building and running *debug* version:\n\n```Shell\nmake build-iso-run DEBUG=1\n```\n\n- Always do following command before switching between debug and release configurations:\n\n```Shell\nmake clean\n```\n\n## Thanks to\n\n- Guilherme Samora (psamora)\n- Nikita Ivanov, Dmitrii Kychanov, etc. from u365\n- wiki.osdev.org\n- Arjun Sreedharan\n- Stephen Fewer (stephenfewer)\n- James Molloy\n- levex named user from gihtub\n- reddit /r/osdev\n- Stackoverflow\n- etc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgimad%2FEOS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frgimad%2FEOS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgimad%2FEOS/lists"}