Live data from Hacker News

BareMetal OS: A 64-bit Operating System in only 16KiB

blog.returninfinity.com

11–20 of 40 posts

Re: BareMetal OS: A 64-bit Operating System in only 16KiB

#13

Keep it up, I love new OSes. My dream is to write a cloud programming language that compiles high level code to a low-level kernel and deploys. I abhor waste, so efforts like this are a great start. I look forward to more!

Some years ago a friend of mine and I built a "self-propagating" system to speed up server deployment. Every server inside the datacenter would periodically look for hardware it wasn't previously aware of in its subnet, and then it would try a few known exploits to root the box, and run our shim. The shim would install all the software we wanted on the box, apply patches, reboot the machine, bring it online and register it so that all the other machines knew about it.

It was kind of a fun experiment, but in the end didn't save us enough time to maintain it for very long - the real time sink was getting the hardware bootable and into the datacenter to begin with. (This was pre-"cloud" days, I guess if we were doing it again now we might have used it for a little longer.)

Re: BareMetal OS: A 64-bit Operating System in only 16KiB

#14

Other than the academic nerdiness of minimal OSs, what is this good for? Do modern OSs cause too much overhead for certain operations?

If it can [be made to] run in real time, it could be useful in avionics software. We often use a minimalized Linux-based system.

Re: BareMetal OS: A 64-bit Operating System in only 16KiB

#15
Wow, from the queue presentation this OS looks even less usable than DOS (MS aka Q). Why would the CLI terminate when it runs a programme? How do you run more than one programme at once? If each core polls the run queue does that mean that it busy cycles when there is no more work to do? Won't this waste energy? (A sin in the HPC world). Does it do the same for IO? IO request completion on a slow and/or busy disk could take as long as 50ms, for a 2.5GHz CPU for example this is 125 million clock cycles. Will the CPU busy cycle this as well?

If you want a simple OS that fits a lot into a small space, why not get a copy of the Lions' Commentary and translate the edition 6 kernel into asm. If you wanted to go gung ho you could add a simple BKL, demand paging and a network stack to complete the job. You could probably do all the above and keep it somewhere close to 20,000 lines of assembly (excluding drivers).

If you are looking for an education doing the above will probably do you just as good a job as trying from scratch.

Lions' Commentary on UNIX 6th Edition, with Source Code http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th...

The Art of Computer Programming http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming

Re: BareMetal OS: A 64-bit Operating System in only 16KiB

#16

So is this like the demoscene stuff or is there a practical use for it?

I read the link in the article, so I'll just paste what it says:

* High Performance Computing - Act as the base OS for a HPC cluster node. Running advanced computation workloads is ideal for a mono-tasking Operating System.

* Embedded Applications - Provide a platform for embedded applications running on commodity x86-64 hardware.

* Education - Provide an environment for learning and experimenting with programming in x86-64 Assembly as well as Operating System fundamentals.

Re: BareMetal OS: A 64-bit Operating System in only 16KiB

#17

Other than the academic nerdiness of minimal OSs, what is this good for? Do modern OSs cause too much overhead for certain operations?

I read the link in the article, so I'll just paste what it says:

* High Performance Computing - Act as the base OS for a HPC cluster node. Running advanced computation workloads is ideal for a mono-tasking Operating System.

* Embedded Applications - Provide a platform for embedded applications running on commodity x86-64 hardware.

* Education - Provide an environment for learning and experimenting with programming in x86-64 Assembly as well as Operating System fundamentals.

Re: BareMetal OS: A 64-bit Operating System in only 16KiB

#19
post #9

Keep it up, I love new OSes. My dream is to write a cloud programming language that compiles high level code to a low-level kernel and deploys. I abhor waste, so efforts like this are a great start. I look forward to more!

> My dream is to write a cloud programming language that compiles high level code to a low-level kernel and deploys. I'm curious as to what you want to gain from that compared to running a custom compiled Linux kernel with your program as init or as the only running process.

Nothing from an engineering standpoint.

http://en.wikipedia.org/wiki/Art_for_art%27s_sake

Re: BareMetal OS: A 64-bit Operating System in only 16KiB

#20

Keep it up, I love new OSes. My dream is to write a cloud programming language that compiles high level code to a low-level kernel and deploys. I abhor waste, so efforts like this are a great start. I look forward to more!

Your dream idea will work for cpu-bound programs but it seems the majority of applications are bound by factors other than the cpu. The waste frequently comes from waiting for I/O to complete.

That's exactly true which is why I'm working on understanding IO bound applications (my current research: http://github.com/mathgladiator/node.ocaml )
Post reply on HN