No argument from me here, I agree. However, I think you can learn a wealth of information by programming an initial cut at an OS, especially in the learning mode. I don't believe this is a professional setting either...{More below}gaf wrote:Nevetheless all modern operating systems (f.ex. linux, windows) use their own low-level drivers. The x86 BIOS is merely a relic of the 16bit real-mode days that is today hardly ever used for anything more than boot-strapping. It never managed to make the step to a modern architecture and its support for modern devices is still very limited.
Point taking, I think hardware manufacturers are getting out of the game of providing a standard for a Basic Input Output System. I believe the industry is heading down the ACPI path too, which is a lot to digest for someone just starting out, in my humble opinion.gaf wrote:In my opinion the decline of the PC BIOS is mainly due to its limited interface. The services it provides are too high-level taking control from the operating system. Another point is the lack of a official standard that would allow the operating system to rely on the services.
Uhm, this is a tough point seeing as I think ACPI and SMBIOS are BIOS works, just more evolved perhaps than their predecessors. Unfortunately I think the lack of a standard increases the hobby-ists workload in trying to make their OS compatible without it.gaf wrote:In last few years the PC BIOS regained some importance as ACPI and SMBIOS became mainstream. At the same time hardware companies are developing the UEFI standard to establish a more powerful and modern firmware system. If this attempt succeeds I'll be more that happy to use the built-in graphics driver, rather than having to write my own support. For the time being you're in my opinion better off ignoring the BIOS.
I think in order to learn. I believe there are several stages of the learning process in order to get to a more evolve position, which is where I surmise you must be.gaf wrote:Why bother about a proper system design if DOS does everything for you ?
You may be right, I think I say that mainly out of ignorance, but I think more because I expect to use every aspect of every device. If I can do that I think I can use the device more fully. This may be too anal I my own part. I think a basic device driver for classes of devices is somewhat weak in that you can't fully realize the full potential of the device. I submit though you can have a working OS otherwise, and that that is my own opinion due to my own anal approach to devices.gaf wrote:You seem to somewhat overestimate the amount of drivers that would be needed. Almost all of the devices that can be found in a modern computer are based on an open standard, so that you only have to write a single driver for each device class. I would also be very surprised if the BIOS supported any of the non-standard device..
Though over all, from your theme, I think we're here as hobby-ist of OS design and are not pushing the potential of the latest OS designs. Most people here are eager to learn the basics first and then if so inclined after realizing the task at hand, can peruse more evolved designs.