Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Isn't bare metal without an OS? At least this is what I've assumed when I've read the question.

[Edit] Thanks for the comments, seems I'm just plain old.



Bare metal usually refers to not running in a VM or other actual virtualization tech that boots a nested guest kernel inside the host kernel.


It used to mean that to me; too. Language changes I guess.

I once had a small kernel patch for my ultrasparc that kept 14 of the system's 16 CPUs from being scheduled for anything but my application, just before they came up with cpu pinning and other, better interfaces for that... I didn't consider that "bare metal" at the time, but it was definitely thinly wrapped.


These days people most frequently seem to mean "without a hypervisor" when they say bare-metal. In this case I guess it's "without containers", which isn't far off. Since it's not a formally defined term I'm happy as long as it's clear what the question means, and this one is explained clearly enough imo.


I've always interpreted it as running code directly on the processor with no OS. I made a "baremetal" bitcoin miner for the original raspberrypi, until it burned up the chip(and i learned why OSes are important). I guess it's been updated to mean an application running on the native OS.


> Isn't bare metal without an OS?

No. When you run with an OS, the OS doesn't intercept every single hardware instruction. It only interjects occasionally (or upon requests) - and the rest of the time, your code (or that of other processes) runs directly on the hardware.

... to be honest, that is also partially true in Virtual Machines, but there, the I/O devices and other facilities you see are mostly virtualized, so that when you interact with them you're actually triggering the VM host to run its code rather than triggering physical hardware to do something.


“ In computer science, bare machine (or bare metal) refers to a computer executing instructions directly on logic hardware without an intervening operating system. “

The definition may be changing, but at least Wikipedia still has it this way.


In modern virtualized environments, there are usually methods for doing I/O that approximately bypasses the host OS so that your VM is doing I/O against physical hardware. This wasn’t always the case several years ago but virtualized I/O performance can now be very close to bare metal if you write the code for it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: