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
You're working hard to sound old-school, but these are just random allusions. TAOCP is not especially relevant to OS programming, and translating _all_ of an OS into asm to make it "fit a lot into a small space" is just... plain... stupid...
You will make the code smaller (as compared to gcc -Os) in a few places; you will likely give yourself a hernia maintaining it, and you are likely to get considerably worse performance than a decent compiler will.
There was a time when C compilers generated crappy assembly code, because that was easy for the compiler writers. That time is long past, with exceptions for a very few situations where the compiler misses a trick that a human can do.
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!
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.)
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.
"The loader gets the computer into a full 64-bit state with no legacy compatibility layers and also enables all available CPU Cores in the computer."
"Two very simple kernels are included to get you started with your new 64-bit OS (One written in Assembly, the other in C)."
Is BareMetal bootable via GRUB?
They mean proprietary in the sense of "we built one ourselves". You can download source from the links at the bottom of the page: http://www.returninfinity.com/pure64.html
So while you can write 64-bit code just like 32-bit code, it's bit like saying that writing c++ is no different than writing c.
These throwback OSes are cute, but there would be hell to pay if they ever took off.
Do modern OSs cause too much overhead for certain operations?
* 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.