News for hackers. Stuff that matters.

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.
( 27 comments | 39 points | on HN )
Re:Show HN: ExDOS 64-bit version source code release by groovy2shoes on Saturday April 02, 2016 @09:30PM (#11414487)
Looks 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.

Re:Show HN: ExDOS 64-bit version source code release by nekopa on Sunday April 03, 2016 @12:28AM (#11414924)
In 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.

Re:Show HN: ExDOS 64-bit version source code release by groovy2shoes on Sunday April 03, 2016 @03:40AM (#11415310)
It might say that, but to be honest I had no difficulties installing on my box with 32 MB RAM. I didn't even have to do anything special; I just followed the normal installation procedure. It's not blazing fast by any means, but it does boot and it does work :)
Re:Show HN: ExDOS 64-bit version source code release by nekopa on Monday April 04, 2016 @03:07PM (#11424478)
Disk size, not RAM. How large a hard drive are you using?
Re:Show HN: ExDOS 64-bit version source code release by groovy2shoes on Monday April 04, 2016 @03:20PM (#11424584)
Ah. The HDD has 4 GB. This thing was top-of-the-line back in '98 when it was purchased ;)
Re:Show HN: ExDOS 64-bit version source code release by astrodust on Saturday April 02, 2016 @10:14PM (#11414608)
Classic 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?

Re:Show HN: ExDOS 64-bit version source code release by yincrash on Saturday April 02, 2016 @11:38PM (#11414813)
Well, for one thing, it's a graphical OS.
Re:Show HN: ExDOS 64-bit version source code release by groovy2shoes on Sunday April 03, 2016 @11:59AM (#11416536)
What 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.
Re:Show HN: ExDOS 64-bit version source code release by omarrx024 on Saturday April 09, 2016 @04:57AM (#11460558)
Because I don't have a proper heap yet. And so everything takes up 2 MB pages.
Re:Show HN: ExDOS 64-bit version source code release by tracker1 on Sunday April 03, 2016 @03:17AM (#11415262)
Well, graphics rendering can take up many MB on its' own...
Re:Show HN: ExDOS 64-bit version source code release by analognoise on Saturday April 02, 2016 @05:31PM (#11413564)
This 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.

Re:Show HN: ExDOS 64-bit version source code release by omarrx024 on Saturday April 09, 2016 @04:59AM (#11460564)
Well, 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.
Re:Show HN: ExDOS 64-bit version source code release by nekopa on Saturday April 02, 2016 @10:05AM (#11411551)
https://github.com/omarrx024/exdos64

Maybe someone could change this to a Show HN?

Re:Show HN: ExDOS 64-bit version source code release by dang on Saturday April 02, 2016 @04:59PM (#11413417)
Sure, we've added that to the title.
Re:Show HN: ExDOS 64-bit version source code release by brudgers on Saturday April 02, 2016 @10:40AM (#11411684)
Re:Show HN: ExDOS 64-bit version source code release by omarrx024 on Saturday April 02, 2016 @12:18PM (#11412071)
That 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.
Re:Show HN: ExDOS 64-bit version source code release by brudgers on Saturday April 02, 2016 @01:27PM (#11412343)
Thanks, That was my guess. I posted the link to add context and because the progress since is pretty awesome.
Re:Show HN: ExDOS 64-bit version source code release by anta40 on Sunday April 03, 2016 @09:32AM (#11416036)
any long-term plan to add 32-bit compatibility, probably?
Re:Show HN: ExDOS 64-bit version source code release by guilloche on Saturday April 02, 2016 @07:15PM (#11414042)
Very 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?

Re:Show HN: ExDOS 64-bit version source code release by ams6110 on Saturday April 02, 2016 @06:52PM (#11413945)
According to about page on his website, the author is "a 14-year old computer hobbyist."

Quite impressive!

Re:Show HN: ExDOS 64-bit version source code release by vmorgulis on Saturday April 02, 2016 @06:11PM (#11413756)
Very cool!

It (almost) runs on copy.sh V86 emulator: 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
Re:Show HN: ExDOS 64-bit version source code release by omarrx024 on Saturday April 09, 2016 @05:00AM (#11460568)
It clearly says "Boot error: CPU is not 64-bit capable..." which means your CPU is not 64-bit. The V86 emulator doesn't support 64-bit mode and so can't run ExDOS.
Re:Show HN: ExDOS 64-bit version source code release by striking on Saturday April 02, 2016 @06:39PM (#11413881)
Looks like v86 doesn't support 64bit stuff, and ExDOS doesn't support not being 64bit.
Re:Show HN: ExDOS 64-bit version source code release by ludamad on Saturday April 02, 2016 @08:51PM (#11414361)
Is it able to run user-created programs? And if so, with what tools?
Re:Show HN: ExDOS 64-bit version source code release by omarrx024 on Saturday April 09, 2016 @05:00AM (#11460570)
Not yet, because I am rewriting the multitasking subsystem.
Re:Show HN: ExDOS 64-bit version source code release by TazeTSchnitzel on Saturday April 02, 2016 @06:05PM (#11413720)
Reminds me of MenuetOS.
Re:Show HN: ExDOS 64-bit version source code release by mixmastamyk on Saturday April 02, 2016 @09:31PM (#11414488)
Would be cool to have a tiny OS run in the boot manager.