Which one to choose? Types of Operating System [A-Level]
Embedded Operating Systems
Embedded operating systems are found in all kinds of hardware, including washing machines and microwaves but also spanning to aircraft and space shuttles. Embedded operating systems can therefore vary massively depending on their function, but they have these main characteristics:
They do not need a memory management system as they do not have external memory stored and the operating system is stored in the ROM
They have a limited user interface, usually comprising of some buttons and a small screen
They tend to involve sensors of some description, as an input device to inform the operating system
Outputs tend to be commands to a control system, a limited visual output on a screen, beeping or lights flashing
Real-time Operating Systems
Real-time operating systems are those that require fixed time, reliable processing of information. These systems are often used in safety critical systems such as aeroplanes, hospitals, chemical plants or manufacturing facilities. Real-time operating systems are often embedded systems, but with the following benefits
They must have a strategy for redundancy. If one piece of hardware fails, the operating system has to facilitate an automatic shift to backup hardware. Imagine if you were on an aeroplane, if the navigation processor stopped working, I’m sure you would want it to switch to a backup rather than having your plane getting lost. This is an essential component of real-time operating systems.
Real-time operating systems must take in the input from multiple sources at the same time. Going with the aeroplane example once more, they must take the input of sensors, pilot controls, customer requests, air traffic commands all at the same time. If the operating system couldn’t process these at the same time, the entire operation would fail.
Alongside the incorporation of redundancy, they must have a fail safe mechanism. This will allow the system to detect if a piece of hardware fails. If it does, appropriate action will need to be taken.
Any processing in real-time operating systems must be performed in a fraction of a second. This has to be a guaranteed time frame, as these systems literally have a significant impact on people’s lives.
Mobile Operating Systems
Mobile phones are multitasking computers, with their own operating system. These are called mobile operating systems. They combine the features seen in a personal computer, with their own special features required for telephony (such as cellular and wireless management). Nowadays, touchscreen phones are all the rage, meaning that you can touch the glass (or plastic) screen of the phone to directly manipulate the programs that are running. These can use a range of gestures, such as tapping, pinching, swiping and more. Mobile telephones combine a range of useful systems such as GPS, camera, speech recognition, music players and more.
Most mobile operating systems are confined to specific hardwares, e.g Apple iPhones can only run iOS. Smartphones also have two operating systems built into them. One is the main system, responsible for operating the UI and running application software - this is the operating system you will interact with. They also include a low-level proprietary real-time operating system which operates radio, GPS and other hardware. These low-level systems have a range of security vulnerabilities, permitting others to gain control over a mobile device.
Distributed Operating Systems
Distributed operating systems are parallel processing systems, sharing the load of operations across multiple computer servers. This is instead of running them on one server alone. A single job the computer is expected to run is split up into multiple small tasks, each task runnning on a different server. These systems communicate together (coordinated by the operating system) and work in such a way that they appear to the user to be one single system.
Company intranets are an example of a distributed system. An intranet is a cluster of server computers, accessed only by the organisation itself, that share memory and tasks. By using multiple server computers, intranets can have more power than a single large server, resulting in much better performance.
Multi-user Operating Systems
Multi-user operating systems allow many users to log in and use the same system at the same time. This operating system isn’t just responsible for scheduling one person’s programs, memory and files, but is responsible for doing this for potentially hundreds users at the same time. Most multi-user systems are also multitasking systems
Multitasking Operating Systems
Multitasking operating systems run on standalone computers, and are the operating systems we use on a day to day basis. Using windows as an example, when we are using the computer, we can have multiple applications open at once. This could be in any combination such as:
Having a VOIP software, video game and web browser running at the same time
Having a word processor, web browser, and e-book reader open at the same time
Using a calculator, spreadsheet software and conferencing software at the same time
Or any other combination!
Even though these might appear to be running at the same time, the CPU switches its attention between each process fast enough so the user doesn’t notice that actually only one program is running at a time. We can open the task manager to see all of the programs running, but only one will currently be active in the CPU. It is the operating system’s job to ensure that the CPU is as busy as possible, hence the impression that multiple programs are running at once - the CPU will never stand idle waiting for a task to complete.
Food for thought: What type of operating system do you think a voice-activated home assistant would use?