Types & Role of Operating Systems Flashcards
Real-Time Operating Systems
This type of operating system, often written as RTOS, monitors external events and processes data as soon as it enters the computer system. This allows the computer system to respond immediately to the input. Examples include RTLinux, Windows CE & VxWorks.
We see real-time operating systems mostly used in embedded devices (such as traffic lights), automatic systems (such as robotics on a manufacturing line) and aircrafts (such as air traffic control systems).
Single-User, Single-Task Operating Systems
A single-user, single-task operating system can only be used by one person at a time, using a single application. So a device using this type of operating system can only do one thing at a time.
This was very popular in older mobile phones (not smartphones) as well as in personal digital assistants, like Palm devices. This used a single-user, single-task operating system called Palm OS.
Single-User, Multi-Tasking Operating Systems
This type of operating system is also designed for only a single user at a time, however it can run multiple applications simultaneously. Examples of this type of operating system include Windows 10, Mac OSX & Android.
We commonly see this type of operating system used on general purpose computing devices like smartphones, tablets and personal computers. You’ve undoubtedly had multiple programs going at the same time, like a word processor, web browser, email client & music player. That’s because your computer is using a single-user, multi-tasking operating system.
Multi-User Operating Systems
A multi-user operating system allows many different users to make use of a computer system and its resources at the same time. An example of this would be UNIX.
Powerful servers, supercomputers and mainframes make use of multi-user operating systems. These devices are extremely expensive and it would not be efficient for them to be used by a single user at once and so we use a multi-user operating system.
Networking
Much of your networking capabilities, including connecting to the internet, is controlled and managed by your operating system.
An example of this is that TCP/IP is built into all major operating systems. TCP/IP are the protocols that are fundamental in allowing us to transmit data over a network like the internet.
However it also has a number of other features such as utility programs for managing and maintaining your network. This includes software like traceroute, IP config and ping.
Security
Computer systems are subject to numerous threats. Examples include viruses (along with other forms of malware) and hackers. Your operating system comes pre-installed with a range of tools to help protect your computer from these threats.
Well known examples would be built-in anti-virus and firewall software, but it also includes features like user authentication (like a login system) to prevent unauthorised access and backup facilities to recover from the impact of these threats.
Memory Management
Your operating system and the different software applications you are running all need to be loaded into main memory in order for them to run. Your computer has only a finite amount of memory to share out though.
It is the responsibility of your operating system to assign memory to each of your applications running in order to allow them to run. This involves both the allocation of memory to the various applications, as well as the deallocation of the memory when the application is no longer in use.
It also performs additional functions for the efficient use of memory. An example of this is paging. This is where the operating system assigns applications to “virtual memory”. Virtual memory is a portion of the hard disk that is used as an extension of your main memory. This portion of the hard disk is known as the “pagefile”.
Multi-Tasking
When running several different applications at once, the operating system plays an important role in managing your systems resources in order to allow this to happen.
Every time you open a new software application it needs to assign resources, like processing time and memory. This is made more complex because processors only perform a single task at a time. The operating system will assign small amounts of the processor time to each application though and this happens so quickly it appears that they are running simultaneously.
Obviously you only have a limited amount of memory and processing power on your computer, which is why if you open too many applications your computer will slow down significantly.
Device Drivers
Your operating system is responsible for allowing peripheral devices to input and output data to the computer system. In order to do this it used device drivers.
A device driver is a small software program that controls the devices you connect to your computer. There are different drivers for different devices and your operating system comes pre-installed with a range of generic drivers to allow for a number of different devices to communicate with your computer.
You can also install additional device drivers for other specific devices not covered by the pre-installed ones.