{"id":13626712,"url":"https://github.com/jzck/kernel-zig","last_synced_at":"2025-04-06T00:10:26.103Z","repository":{"id":56796844,"uuid":"186065109","full_name":"jzck/kernel-zig","owner":"jzck","description":":floppy_disk: hobby x86 kernel zig","archived":false,"fork":false,"pushed_at":"2023-08-21T22:29:23.000Z","size":175,"stargazers_count":431,"open_issues_count":2,"forks_count":15,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-29T23:09:45.486Z","etag":null,"topics":["kernel","x86","zig"],"latest_commit_sha":null,"homepage":"","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jzck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-05-10T23:12:21.000Z","updated_at":"2025-03-27T20:35:50.000Z","dependencies_parsed_at":"2024-01-27T09:38:50.434Z","dependency_job_id":"1e41dd89-51e4-4149-81e6-b5fce66b5a2b","html_url":"https://github.com/jzck/kernel-zig","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/jzck%2Fkernel-zig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jzck%2Fkernel-zig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jzck%2Fkernel-zig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jzck%2Fkernel-zig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jzck","download_url":"https://codeload.github.com/jzck/kernel-zig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415973,"owners_count":20935387,"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":["kernel","x86","zig"],"created_at":"2024-08-01T21:02:27.423Z","updated_at":"2025-04-06T00:10:26.076Z","avatar_url":"https://github.com/jzck.png","language":"Zig","readme":"# hobby kernel in zig\n\n# WARNING: this project was written for zig 0.5, it doesn't compile for future versions\n\n![screenshot](screenshot.png)\n\n### features\n\n - 80x25 frame buffer\n - ps2 keyboard driver\n - terminal console\n - lspci\n - x86\n   - MMU\n   - interrupts\n   - pit timer\n - scheduler\n   - time slice preemption with round robin\n   - sleep()\n   - block()/unblock()\n - Storage\n   - IDE ATA driver (in progress)\n\n### dependencies\n\n  - [ziglang](https://github.com/ziglang/zig) 0.5.0\n\n### compiling\n\n`zig build` compiles and links the multiboot kernel (without a bootloader)\n\n### running\n\n - `./qemu.sh start`\n - `./qemu.sh monitor`\n - `./qemu.sh quit`\n - `gdb` (see provided `.gdbinit`)\n\n# Notes\n\n## interrupt call chain\n\n`interrupt` -\u003e `idt[n]` -\u003e `isrN` -\u003e `isrDispatch` -\u003e `handlers[n]` (default `unhandled()`)\n\n## References\n\n - zig microkernel: https://github.com/AndreaOrru/zen\n - scheduling tutorial: https://wiki.osdev.org/Brendan%27s_Multi-tasking_Tutorial\n - booting/paging/interrupts: https://os.phil-opp.com/\n","funding_links":[],"categories":["Systems Programming","Zig","Bootables","Applications"],"sub_categories":["Operating Systems"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjzck%2Fkernel-zig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjzck%2Fkernel-zig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjzck%2Fkernel-zig/lists"}