OPERATING SYSTEM AND ITS FUNCTIONS
Introduction: An operating system (OS) is a system software that is responsible for the working of hardware. While the hardware provides 'raw computer power, the OS is responsible for making that power of any use for the users. The OS is the main component of any computer system and therefore must be loaded and activated before we can use any other software.
An operating system (OS) is the program that manages all the computer resources (both hardware and software). It provides an environment for other programs to work. It also acts as an intermediary between the user and the hardware. The purpose of an operating system is to provide a plattorm on which a user can execute programs in a convenient and efficient manner. In short, the operating system is the master control program of a computer. Some examples of Operating systems are MS-DOS, Windows 2000, Windows XP, Windows 7, Linux, UNIX, Android, ios, etc.
Functions of an Operating System
The following are some of the important functions of an operating system:
1. Memory Management: Memory management refers to the management of primary memory like RAM and secondary memory like hard disk. An Operating System does the following activities for memory management:
- Keeps track of primary memory, i.e., what part of it is in use by whom and what part is not in use.
- In multiprogramming, the OS decides which process will get memory when and how much.
- Allocates the memory when a process requests it to do so.
- De-allocates the memory when a process no longer needs it or has been terminated.
- Allocation Storage for programs and data in the secondary storage.
2. Process Management: OS manages the processes running in a computer system. A process is basically a program that is being executed by a user on a computer system. For example, a spreadsheet application program such as Microsoft Excel runs as a process in a computer system. An Operating System does the following activities for processor management
- Keeps track of processor and status of processes. The program responsible for this task is known as traffic controller.
- Allocates the processor (CPU) to a process.
- De-allocates processor when a process is no longer required.
3. Device Management: This function of the operating system deals with the management of peripheral devices attached to it, such as keyboard, printer and mouse. An Operating System manages device communication via their respective drivers. It does the following activities for device management:
- Keeps track of all devices. Program responsible for this task is known as the I/O controller.
- Decides which process gets the device when and for how much time.ptup oir
- Allocates the device in the efficient way. a
- De-allocates devices.
4. File Management: OS manages the files and directories of a computer system. A file can be defined as a collection of records (data) that is stored in the memory of a computer system. Every file has a unique name associated with it. The organization of files and directories in a computer system is referred to as a file system. An operating system allows us to create, edit, save, copy or delete files in a computer system.
5. Security Management: OS ensures security for a computer system from various threats such as virus attacks and unauthorized access. An operating system uses various techniques, such as authentication, authorization, encryption, password protection, etc for ensuring security of a computer system.
Types of Operating Systems
Some of the widely used operating systems are as follows:
1. Batch Operating System: This type of operating system does not interact with the computer directly. There is an operator who takes similar jobs having the same requirement and group them into
batches. It is the responsibility of operator to sort the jobs with similar needs.
Advantages of Batch Operating System:
- Multiple users can share the batch systems
- The idle time for the batch system is very less
- It is easy to manage large work repeatedly in batch systems
Disadvantages of Batch Operating System
- The computer operators should be well known with batch systems
- Batch systems are hard to debug
- It is sometimes costly
- The other jobs will have to wait for an unknown time if any job fails
Examples of Batch based Operating Systems: Payroll Systems, Bank Statements, etc.
2. Time-Sharing Operating Systems: Each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of CPU as they use a single system. These systems are also known as Multitasking Systems. The task can be from a single user or from different users also. The time that each task gets to execute is called quantum. After this time interval is over OS switches over to the next task
Advantages of Time-Sharing OS:
- Each task gets an equal opportunity
- Fewer chances of duplication of software
- CPU idle time can be reduced
Disadvantages of Time-Sharing OS:
- Reliability problem
- One must have to take care of the security and integrity of user programs and data
- Data communication problem
Examples of Time-Sharing OS are: Multics, Unix, etc.
3. Distributed Operating System: This type of operating system is a recent advancement in the world of computer technology and is being widely accepted all over the world and, that too, at a great pace. Various autonomous interconnected computers communicate with each other using a shared communication network. Independent systems possess their own memory unit and CPU. These are referred to as loosely coupled systems or distributed systems. These systems processors differ in size and function. The major benefit of working with these types of the operating system is that it is always possible that one user can access the files or software which are not actually present on his system but on some other system connected within this network i.e., remote access is enabled within the devices connected in that network.
Advantages of Distributed Operating System:
- Failure of one will not affect the other network communication, as all systems are independent of each other.
- Since resources are being shared, computation is highly fast and durable
- Load on host computer reduces
- These systems are easily scalable as many systems can be easily added to the network
- Delay in data processing reduces
Disadvantages of Distributed Operating System
- Failure of the main network will stop the entire communication
- To establish distributed systems the language used is not well-defined yet
- These types of systems are not readily available as they are very expensive. Not only that the
- The underlying software is highly complex and not understood well yet
Examples of Distributed Operating Systems are- LOCUS, etc.
4. Network Operating System: These systems run on a server and provide the capability to manage data, users, groups, security, applications, and other networking functions. These types of operating systems allow shared access to files, printers, security, applications, and other networking functions over a small private network. One more important aspect of Network Operating Systems is that all the users are well aware of the underlying configuration, of all other users within the network, their individual connections, etc. and that's why these computers are popularly known as tightly coupled systems.
Advantages of Network Operating System
- Highly stable centralized servers
- Security concerns are handled through servers
- New technologies and hardware up-gradation are easily integrated to the system
- Server access are possible remotely from different locations and types of systems
Disadvantages of Network Operating System:
Servers are costly
User has to depend on a central location for most operations
Maintenance and updates are required regularly
Examples of Network Operating Systems are: Microsoft Windows Server 2003, Microsoft Window
Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, BSD, etc.
5. Real-Time Operating System: These types of OSs serves real-time systems. The time interval required to process and respond to inputs is very small. This time interval is called response time. Real-time systems are used when there are time requirements are very strict like missile systems, air traffic control systems, robots, etc.
Two types of Real-Time Operating Systems which are as follows:
Hard Real-Time Systems: These OSs are meant for applications where time constraints are very strict and even the shortest possible delay is not acceptable. These systems are built for Saving life like automatic parachutes or air bags which are required to be readily available in case of any accident. Virtual memory is almost never found in these systems.
Soft Real-Time Systems: These OSs are for applications where for time-constraint is less strict.
Advantages of RTOS:
- Maximum Consumption: Maximum utilization of devices and systems, thus more output from all the resources.
- Task Shifting: The time assigned for shifting tasks in these systems is very less. For example in older systems, it takes about 10 microseconds in shifting from one task to another, and in the latest systems, it takes 3 microseconds.
- Focus on Application: Focus on running applications and less importance on applications that are in the queue.
- The real-time operating system in the embedded system: Since the size of programs is small, RTOS can also, be used in embedded systems like in transport and others.
- Error Free: These types of systems are error-free.
- Memory Allocation: Memory allocation is best managed in these types of systems.
Disadvantages of RTOS:
- Limited Tasks: Very few tasks run at the same time and their concentration is very less on a few applications to avoid errors.
- Use heavy system resources: Sometimes the system resources are not so good and they an expensive as well.
- Complex Algorithms: The algorithms are very complex and difficult for the designer to write on.
- Device driver and interrupt signals: It needs specific device drivers and interrupts signals to respond earliest to interrupts.
- Thread Priority: It is not good to set thread priority as these systems are very less prone to switching tasks.
Examples of Real-Time Operating Systems are Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc.