Hacker News new | comments | show | ask | jobs | submit | iseyler's comments login

http://f.cl.ly/items/442N071f051Y3q2l0F1Z/main.bmp

The colors look a bit off from the video but the text is in there correctly.

-----


This article highlights the goals for BareMetal OS (https://github.com/ReturnInfinity/BareMetal-OS) - let the app do the heavy lifting.

-----


I'm surprised things like this aren't more common. Places like google strike me as great candidates for bare metal OS type setups to most effectively serve the billions of requests per days.

-----


If I understand that project correctly, the assumption is that they think they can write assembly by hand that is more optimized than by using a compiler to optimize?

-----


Is it time to ditch the "normal" OS? My startup is looking to do exactly that but I would like to know what others thoughts are on the matter.

My proposal is to have a small exokernel between the hardware and the application. The exokernel is there to provide very simple access to the hardware (like the disk or network) and will rely on the application to do anything complicated (like handling TCP/IP).

-----


"Plain" OS threads certainly have their place and the OS does a fine job scheduling them. It's just that the more information you have about the threads' behavior the better they can be scheduled (you can reduce latencies by keeping related fibers on the same core to share cache; that's one of the things Quasar does).

So the increased latency of the OS scheduler has little to do with the number of layers between your application and the hardware, and a lot to do about assumptions the OS can make about your code.

You most certainly want a general-purpose OS scheduler, it's just that many applications can benefit from user-level lightweight threads.

-----


For me, when it comes to really drastic solutions like running bare metal or building a custom OS then if you have to ask if you should then you shouldn't. But to echo the others, it depends on what you are doing.

I hope I don't come off as a creeper because I was very curious on what you are working on and dug through your comments. Is it this BareMetalOS project?

-----


You could also be asking about whether it is time to ditch "commodity" hardware (which by the way is not massively parallel).

The answer is, of course, it depends on what your priorities are.

I've seen projects that write OS's from the ground up for a wide variety of reasons (security, correctness, optimization of use case, etc.) But very rarely is it for price reasons.

-----


I wrote a comment about a paper I read that ditched tcp and had the application handle it to get some performance gains earlier, so you might want to page up to see it if you haven't already (Network Specialization for Performance).

How is it that you intend to do an OS startup? That's a pretty tough nut to crack.

-----


you might want to check out the rustboot project then. one of the use-cases is to have rust boot on a hypervisor that then just has not much more than the runtime like you're after

-----


The site barfs when I upload the BareMetal OS kernel for disassembly. Is there a size limit? The kernel is x86-64 and only 16KiB in size.

-----


No, it's just an immature website. I'm one of the creators. The site is just a hobby now among friends, and since we all have families, it's slow going. Thanks for the feedback everyone!

-----


While its great the GitHub added support for this how about x86-64?

https://github.com/ReturnInfinity/BareMetal-OS/blob/master/o...

The 64-bit register names are still not handled correctly. It does properly color the 8, 16, and 32-bit register names.

-----


GitHub uses the open-source Pygments (http://pygments.org/) to highlight source code. If you can find the code for whatever ASM highlighter Pygments uses, you could probably fix it yourself. Though I tried searching for it and didn't find it after a while, so it would take some tracking down.

-----


This is very interesting! It will be even more interesting to see if it can be compiled to run on my OS. This is exatly the kind of application I have been looking for. ESXi is too big :)

Shameless plug: http://www.returninfinity.com/baremetal.html

-----


I can assure you it can easily be ported and used on any OS. We just a few guys right now and don't have the capacity to test it on anything but Ubuntu. However, we are designed it to portable (and NaCl/Chrome code is also portable which helps a lot). Even to run on bare-hardware. So tried to keep OS usage to minimum. In fact, porting would be a more extensive effort to architectures not naively supported by Nacl. For example zerovm on tilera-linux (MIPS variant) will be much more effort then FreeBSD on x86-linux.

As a side note, I personally convinced that today OSes are an overkill for cloud-based number crunching (the prime case for zerovm) wasting resources. I am looking forward for future a lot lighter 'cloudware'. Think 'opencompute' approach for OSes. zerovm is being a humble experiment here.

-----


Agreed on the overkill part. That is the reasoning behind the work we are doing. I sent you an email to discuss further.

-----


SEEKING FREELANCER - Remote

Looking for someone to write a TCP stack for BareMetal OS. This needs to be written in x86-64 Assembly. See the posting here: http://forum.osdev.org/viewtopic.php?f=2&t=24471

-----


How about 31 bytes?

http://www.returninfinity.com/baremetal-helloworld.html

Why use ELF or Linux? Flat binaries (and a custom OS) to the rescue! :)

-----


Why limit yourself to an OS? Design your own instruction set, with a single-bit 'hw' instruction!

As with all games (even Nomic) a game is only a game if there are rules that limit what one can do.

-----


The esoteric language HQ9+ does this.

-----


SEEKING FREELANCER - HTML & CSS, maybe C as well.

Looking for someone to potentially make our WebGUI look "sexy" as our colleagues in California would say. We have reached the limits of our HTML and CSS know-how.

The current WebGUI can be seen here: http://www.youtube.com/watch?v=8y5tUtx63Tc

The article that was posted on the Intel website: http://software.intel.com/en-us/articles/parallax-parallel-c...

If interested you can contact me at ian.seyler@returninfinity.com

-----


Applications are open for YC Summer 2016

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: