Click here to Skip to main content
15,895,084 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more: (untagged)
This might not be the right site to ask, but one can hope :P

I've searched around in the hopes that I'd be able to find an answer to the following, but so far, no luck.

I'm looking into coding an OS for a specific system setup, and I want to get every ounce of performance I can squeeze out of it, so it'll be fast, brutal and raw.

Now; Looking into UEFI, which I thought would completely replace the BIOS, it turns out, that UEFI is 'merely' a layer on top of the BIOS, a pseudo OS, to make OS's more portable. An interface to an interface to yet another interface.

So the first of a few quesions:
- If an OS is written to a specific system, won't the UEFI result in performanceloss, seing as it adds compatibility for a lot of devices
- If the above is the case; Is it possible to completely avoid the UEFI, and communicate directly with the BIOS, or will UEFI 'boot' no matter what?

To make sure that I get as much raw performance, I'd very much prefer to communicate as directly with hardware as possible, thus I'd prefer ASM for the most raw bits.

Finally I'd like to ask if the BIOS and/or UEFI is actually active, once the OS is fully loaded?

I've read a few guides on creating a bootloader for BIOS, but havn't found anything on the actual OS, so I don't really know if it's a good idea to utilize the functions already existing in the BIOS, or if it's better/the same to write your own for performance.
Posted

I do not have specific answers to your questions, but some of these articles[^] may be useful.
 
Share this answer
 
Yeah...

There are quite a few good articles there, but what I'm trying to figure out, is wether to write the system for UEFI or BIOS. The question is irellevant if it's not possible to avoid UEFI, and it's less relevant if UEFI and/or BIOS is/are not active while the computer is running (I'd still prefer only dealing with the BIOS to avoid unnecesary use of memory and prossesing time, before I can initialize the OS for the system I already know the components of.

Actually, had it been even remotely possible (i know it prolly is, with the right tools and documentation, but it's a little far fetched), I'd prolly look into making a BIOS for that specific system, to get startuptimes along the lines of a C64 (yeah... It would be a total brute of a system, no POST, memory test and other timeconsuming junk, if the system is broken - let it be broken, or let the OS figure it out if it manages to load) :P

I've always seen BIOS as a pure startup, and as completely irrelevant once the OS has been initialized, but what I've read these past few days, got me doubting.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900