The one function everyone deals with is the boot (or bootstrap) loader. It reads the first bit of code from the boot disk which is what gets everything started. The boot loader gets its' name from the expression "pull yourself by your bootstraps", which is how one my professors explained it. I wonder how many people know what a bootstrap is?
On a simple machine, the boot loader may be no more than dozen bytes of code:
- Output the address of the control block to the disk controller,
- jump-busy until the controller is done,
- jump to the newly loaded code.
The problem with BIOS Engineering is that it seems to be a bit of a closed community. You can only get in if you have worked on a PC BIOS before. I think this is a load of hogwash. It is just code for Pete's sake, it isn't magic. Matter of fact, it's the simplest kind of code you can write. The constraints are fairly well understood. Most all of the problems have been dealt with before. It's just a matter of cutting out the obsolete and integrating the new bits.
I interviewed with a guy running a BIOS group at Intel some ten years ago. His guys were working 60 and 70 hours a week for months on end. I have done that on occasion, but never for more than a couple of weeks at a time. I find that it doesn't pay. After about eight hours of work, I am tired and I start making mistakes. I come in the next day and it takes me four hours to straighten out the mess I made the day before and get lined out with what I need to do today.
I remember reading something about the Lockheed Skunk Works. The guy who ran it (Kelly Johnson) was of the same mind: If you work smarter, you don't need to work longer. Here is another take on the same subject: Urgency is poisonous.
So what I am thinking is that BIOS engineering has attracted some real dweebs and I probably don't want to working there. Which means I am kind of glad I didn't get the job.
No comments:
Post a Comment