If you sit and think about the complexities of the operating system there is a lot that you might think about. You might think about how the operating system is able to monitor and control so many devices. You also might think about how the operating system is able to connect your computer to the internet and allow it to talk to other computers. And you might even think about all of the pretty graphics that you see. All of this being handled by the operating system along with a supporting cast of tools.
The one thing that you might not think about that often is the way that the computer boots up when you first turn it on. All you know is that you hit a button and in 30 seconds to a minute the operating system seems to magically appear. Even though it may seem like a simple process, it is actually quite complicated and has proven to be the source of problems for computer manufacturers for many years. Everyone wants to be able to boot up their computers at top speeds but when you make the system faster other problems start to creep up. But if you make the system slow for security reasons then people start to complain about that as well. This is especially bad if they see your competitors systems are able to boot up really fast. Even though it may not be reality, when people see a computer start up faster than another computer, they start to think that the system is faster overall.
If you really want a good example of how much work really goes into booting the system that you are on then go take a look at Linux. You do not have to use Linux yourself, just go look at any system running Linux when it boots up. You will see a wall of text start to come down when the system is starting. What it is showing you is the list of items that are starting with the boot up of the computer. Most of that time is spent checking to make sure that everything is Ok. On Windows and Mac OS X they hide that wall of text from you. That is a good reason why people do not understand how complicated the boot up of a computer can be.
The old BIOS
In the past, the part of the system that was responsible for the booting up was called BIOS. The letters BIOS stood for Basic Input Output System. It was the part of the motherboard that would get everything ready to be able to communicate with the operating system. Once that was established you would not hear from the BIOS anymore. But the BIOS still proved to have problems and that is why they came out with the UEFI.
The letters UEFI stand for Unified Extensible Firmware Interface. The UEFI was created because of the insecurities with the traditional BIOS layer. Because of all the security problems plaguing the BIOS, they made UEFI to be able to either replace or sit on top of the traditional BIOS.
The UEFI standard cleans up a lot of the security problems with BIOS but it also gives you a smoother interface to be able to control your boot up options. For example, if you were running two different operating systems on one machine, BIOS would give you an ugly menu to ask which one you wanted to boot into. With UEFI, you get a lot smoother interface. But there are problems with UEFI as well.
The problems with UEFI
Microsoft is starting to ask some of the computer makers who build computers with Windows running on them to make UEFI a secure boot. This means that you would have to have a certain key in the operating system to be able to boot up the system. This sounds good on the outside. Who doesn’t want to make the booting of the computer more secure? But there is a catch like always. If you want the system to have secure boot on it then you will not be able to install any other operating system on there. For most people this is not a problem. They will never install a different operating system on the machine anyway. But for a big percentage of people this is a real problem. A lot of people like to dual boot their machines and with this setting they will not be able to.
So you have to ask yourself, what is more important? A little bit of extra security on your computer? Or do you want to be able to keep your freedom on the machine and have the ability to be able to install whatever you want?