Title: bare metal os Post by: jwm-art on May 28, 2011, 12:51:01 AM Hi,
I've just come across this 64 bit operating system "Bare Metal OS - for a lean, mean, processing machine" and thought it might interest some of you. http://www.returninfinity.com/baremetal.html Quote BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++. Development of the Operating System is guided by its 3 target segments: 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. Current version is 0.5.1 - released May 16, 2011. James. Title: Re: bare metal os Post by: Duncan C on June 15, 2011, 03:28:12 AM Hi, I've just come across this 64 bit operating system "Bare Metal OS - for a lean, mean, processing machine" and thought it might interest some of you. http://www.returninfinity.com/baremetal.html Quote BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++. Development of the Operating System is guided by its 3 target segments: 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. Current version is 0.5.1 - released May 16, 2011. James. The entire OS binary fits in 16384 bytes! That reminds me of the days of 8-bit computers. The ROM on the Apple II was less than 16k. I've written a lot of assembler in my day, and I gotta say I don't really miss it. C is plenty close enough to the machine for me, and a hellova lot easier to understand/maintain. Title: Re: bare metal os Post by: jwm-art on June 15, 2011, 03:33:31 PM The entire OS binary fits in 16384 bytes! That reminds me of the days of 8-bit computers. The ROM on the Apple II was less than 16k. I've written a lot of assembler in my day, and I gotta say I don't really miss it. C is plenty close enough to the machine for me, and a hellova lot easier to understand/maintain. I know what you mean - except I never got much further than Hello World in assembler. It does say though applications can also be written in C/C++. Not sure how people find locations for example deep deep zooms into the M-Set, but that could be done in your normal OS, and then when ready to render the deep zoom video, transfer the coordinates to a headless rendering application operating in Bare Metal OS. That was one of the ways in which I imagined it might benefit people here. I don't know how feasible that might be as I've not really looked into it. Title: Re: bare metal os Post by: Duncan C on June 15, 2011, 03:51:13 PM The entire OS binary fits in 16384 bytes! That reminds me of the days of 8-bit computers. The ROM on the Apple II was less than 16k. I've written a lot of assembler in my day, and I gotta say I don't really miss it. C is plenty close enough to the machine for me, and a hellova lot easier to understand/maintain. I know what you mean - except I never got much further than Hello World in assembler. It does say though applications can also be written in C/C++. Not sure how people find locations for example deep deep zooms into the M-Set, but that could be done in your normal OS, and then when ready to render the deep zoom video, transfer the coordinates to a headless rendering application operating in Bare Metal OS. That was one of the ways in which I imagined it might benefit people here. I don't know how feasible that might be as I've not really looked into it. Ugh, that's right. Such a machine would not have any graphics at all. I think you're better off using a REAL computer, putting a high end graphics card in it, and using OpenCL for your rendering. That's likely to be whole lot faster than a machine without multi-tasking. Alternately, you cold set up your machine to dual-boot in a stripped-down version of Unix, with most functions running at low priority and the rendering running at the highest priority. Unix can be made very lean and mean, but it has support for modern conveniences like graphics, networking, a real file system, etc. Title: Re: bare metal os Post by: ker2x on June 21, 2011, 01:19:25 PM but x86_64 asm is FUN ! :D ;D
Title: Re: bare metal os Post by: David Makin on June 25, 2011, 01:01:50 AM but x86_64 asm is FUN ! :D ;D Not as much fun as full ARM ;) Unless you're including using the FPU :) Title: Re: bare metal os Post by: ker2x on June 27, 2011, 08:24:18 PM but x86_64 asm is FUN ! :D ;D Not as much fun as full ARM ;) Unless you're including using the FPU :) the x87 FPU is my favorite to use in hand written ASM but with SSE2 enabled (and above) CPU, the FPU is clearly underpowered compared to SSE2 floating-point performance :sad1: Title: Re: SSE2, double precision, and OpenCL Post by: Duncan C on July 02, 2011, 02:31:20 PM but x86_64 asm is FUN ! :D ;D Not as much fun as full ARM ;) Unless you're including using the FPU :) the x87 FPU is my favorite to use in hand written ASM but with SSE2 enabled (and above) CPU, the FPU is clearly underpowered compared to SSE2 floating-point performance :sad1: We're wandering pretty far from the original subject, but... Can you do double-precision floating point with SSE2? I thought that was limited to single-precision? I don't find single precision that interesting for fractal rendering. I find double precision limiting sometimes, even. I've been dying to do some OpenCL with a card that supports double precision. Unfortunately, in the Mac world, Apple doesn't support very many cards, and there is only one that supports doubles. Worse, it doesn't work with my current desktop Mac. The ATI Radeon HD 5870 apparently supports double precision, but only works with the latest generation of Macs. My Mac pro is the early 2008, and as far as I know there are NO double-precision cards that work with it. Duncan Title: Re: bare metal os Post by: zenzero-2001 on July 02, 2011, 11:54:10 PM Yes, you can do double precision floating point with SSE2. It is the original SSE that only supports single precision (if I remember correctly). My program that I am working on uses SSE2 intrinsics for the Mandelbrot calculation. I know that Fractice http://fractice.sourceforge.net/ (http://fractice.sourceforge.net/) and Fraqtive http://fraqtive.mimec.org/ (http://fraqtive.mimec.org/) also use SSE2 double precision floating point for their calculations. SSE2 intrinsics give you (nearly?) all the power of hand written ASM, but is portable between compilers. And it is easier to write! ;D |