9 ms·
Show HN: ExDOS 64-bit version source code release
Hi! I'm just posting to announce the release of the source code of the 64-bit version of my hobby OS, ExDOS. My site is here: http://exdos.co.nf/ and my source code is on GitHub: https://github.com/omarrx024/exdos64
It's licensed under GNU GPL v3 and has many improvements over it's old 32-bit version. This one has a truly functional ACPI driver on real hardware, a window-based GUI, a real disk driver independent of BIOS, and some other things.
- nekopa 11y agohttps://github.com/omarrx024/exdos64 https://github.com/omarrx024/exdos64 Maybe someone could change this to a Show HN?
- dang 11y agoSure, we've added that to the title.
- brudgers 11y agoRelated: https://news.ycombinator.com/item?id=10045254 https://news.ycombinator.com/item?id=10045254
- omarrx024 11y agoThat OS is also developed by me, but it was 32-bit and had design issues. So I redesigned it and rewrote it in 64-bit and here it is.
- analognoise 11y agoThis is amazing, good work! Can I ask what references you used to figure out how to write certain pieces of this? There is a torrent of information online, but you've probably got a very good (curated) set of links or books that you recommend.
- omarrx024 11y agoWell, I've never read a real book about OS development. But I can recommend the OSDev Wiki and Forum, and of course the specifications of everything you need. I've used Intel's Development Manual Volume 3 as reference, as well as ACPI's specification, and some others.
- TazeTSchnitzel 11y agoReminds me of MenuetOS.
- mixmastamyk 11y agoWould be cool to have a tiny OS run in the boot manager.
- vmorgulis 11y agoVery cool! It (almost) runs on copy.sh V86 emulator: https://copy.sh/v86/ https://copy.sh/v86/ I see the boot process with dots (like linux) and after I have the following message with a red background (if that can help): ExDOS64 version 0.01 built 26.03.2016 ===================================== Boot error: CPU is not 64-bit capable... The last lines of the Javascript console: [CPU ] mode=real/16 paging=0 vm=0 iopl=0 cpl=0 if=1 cs:eip=0xF000:0x0000FFF0 cs_off=0x000F0000 flgs=0x202 ss:esp=0x0000:0x00000F32 log.js:13:9 [CPU ] far return eip=0x0000CB01 cs=0xF000 stack_adjust=0x0
- ams6110 11y agoAccording to about page on his website, the author is "a 14-year old computer hobbyist." Quite impressive!
- guilloche 11y agoVery impressive. Maybe it can be used in unikernel with freestanding applications. Some Suggestion: do not focus on GUI at first, since it will not be usable soon as desktop OS anyway. I could imagine that a barebone ExDos to manage multiple unikernel ExDOS virtual machines as web services is quite useful. Any comments?
- ludamad 11y agoIs it able to run user-created programs? And if so, with what tools?
- omarrx024 11y agoNot yet, because I am rewriting the multitasking subsystem.
- groovy2shoes 11y agoLooks really cool. One thing, though: > tiny > RAM: 64 MB required, 192 MB recommended. That doesn't seem particularly tiny to me. I have an old Pentium II box with 32 MB of RAM that runs the latest release of OpenBSD with X, and I don't consider OpenBSD particularly tiny, either. At risk of sounding like a crotchety old man, these are sad times to be living in when 64 MB is considered tiny.
- astrodust 11y agoClassic DOS barely took up kilobytes of memory. I think that qualifies as "tiny". Megabytes is downright bloated by comparison. Considering this is written in assembly, what is all that memory used for?
- yincrash 11y agoWell, for one thing, it's a graphical OS.
- groovy2shoes 11y agoWhat does that have to do with anything? Windows 3.1 had a minimum RAM requirement of 1 MB. The base model of the Apple Lisa 2, which featured a graphical OS, had 512 KB of RAM. It's possible to have graphics without requiring so much RAM.
- tracker1 11y agoWell, graphics rendering can take up many MB on its' own...
- omarrx024 11y agoBecause I don't have a proper heap yet. And so everything takes up 2 MB pages.
- nekopa 11y agoIn all fairness, I think tiny in this case refers to the fact that the OS is only 200kb. From the openBSD install guide: OpenBSD can be installed in as little as 512MB, but using that small of a device is something for advanced users.