Site News |
Our Black Friday section is now online! Click here to check it
Operating Systems 101|
Have you ever wondered how an operating system actually works? As complex as they might seem the underlying design and working of every major OS are all very similar if not the same. So lets dig down to the bottom, past the fancy pansy user interfaces, the silly API’s, and the useless bloating features, and then build our way back up. Hopefully by the time you finish this set of articles you’ll know exactly what’s happening from the time you switch your computer on through typing a report or surfing the web. Just remember that this is OS 101 so don’t expect to go into too much detail about things. This is just an overview of the important things.
It would probably be best to deal with the steps in order from boot up till it’s useable but I felt it best to discus the meat and potatoes first and then we can come back for the salad and then grab dessert at the end. So lets get started!
First and foremost there are 4 types of operating systems in the world. For these articles we will cover issues and ideas that deal with the second and third type although some can pertain to the first as well.
1. SUST (Single User Single Task) - This is what MS-DOS is considered. It’s designed for working with only one user at a time and it can only do one thing at a time. In reality there are tricks and hacks to get around this limitation and provide some limited ability to do multitasking but in general it only does one task.
In the simplest terms an OS is expected to perform two operations. Maintain the hardware and software resources. In a sense the OS acts like a traffic light controlling the cars on the streets. This turns out to be a rather good analogy, as we will see later! Of course this is almost too simplified and if we left it at this description you’d still know nothing…
2. SUMT (Single User Multiple Task) - Windows and MacOS are in this category. The OS is designed for only one person to be working on it at a time but it allows for the user to do more than one thing at a time. A great improvement over the SUST OS.
3. MUMT (Multiple User Multiple Task) - Here is where Unix and its clones are. There are designed so that many users can all work together on the same system in unison and each user to do several things at once.
4. RTOS (Real Time Operating System) – This isn’t an “end user” type of OS. RTOSs are used in industrial and similar places where a computer is used for robotics, data collect, etc. There is only a need to be able to perform a simple set of tasks over and over again and do it as quickly as possible.
Any OS worth it’s weight in lard is expected to handle the following things:
Processor management – Well since we are going to be allowing a user or users to run multiple tasks (programs if you want to think of it that way). We need to be able to manage the processor so that it can be shared among all the tasks. Now in and of itself the OS can’t do this alone. It requires that the processor contain the ability to multi-task too.
Memory Management – All operating systems need to maintain control (or at least try to as we will come to see) of how the memory is used. Each program is given a hunk to work with and can use more if needed, too a limit. However because in most cases there isn’t enough physical memory to work with most modern operating systems use a method of virtual memory.
Device management – What happens if one program is busy using the modem and another program wants to use it to? Well without the operating system keeping control of things who knows what’ll happen. Maybe the second one will just not use it, or maybe it’ll grab control and then the first program will get messed up. These are issues that the OS deals with.
Storage management – Something has to maintain control of your data. If every program has direct access to your hard drive to data access how would it know what area is free to save data? Without the OS dealing with it then it wouldn’t. So we have the OS maintain control of the hard drive. Though most ever OS has it’s own special way they all work under similar principles of keeping lists of the files and their respected properties like the name, size, and location.
So stay tuned for the next issue when we discuss processor management.
Alan “Dexter” Barber
Questions? Ask in the