There are Many Functions those are Performed by the Operating System. But the Main Goal of Operating System is to Provide the Interface between the user and the hardware.
OS manages device communication via their respective drivers. Operating System does the following activities for device management. Keeps tracks of all devices. Programs responsible for this task is known as the I/O controller. Decides which process gets the device when and for how much time. Allocates and de-allocates the device in the efficient way.
A file system is normally organized into directories for easy navigation and usage. These directories may contain files and other directions. Operating System does the following activities for file management. Keeps track of information, location, uses, status etc. The collective facilities are often known as file system. Decides who gets the resources. Allocates the resources.
Memory management refers to management of Primary Memory or Main Memory. Main memory is a large array of words or bytes where each word or byte has its own address. Main memory provides a fast storage that can be access directly by the CPU. So for a program to be executed, it must in the main memory. Operating System does the following activities for memory management. Keeps tracks of primary memory i.e. what part of it are in use by whom, what part are not in use.
In multi-programming environment, OS decides which process gets the processor when and how much time. This function is called process scheduling. Operating System does the following activities for processor management. Keeps tracks of processor and status of process. Program responsible for this task is known as traffic controller. Allocates the processor (CPU) to a process. De-allocates processor when processor is no longer required.
Types of Operating system
There are 4 types of operating system. They are explained below.
Batch Operating System:-A batch system is one in which jobs are bundled together with the instructions necessary to allow them to be processed without intervention
Multi-programming Operating System
As machines with more and more memory became available, it was possible to extend the idea of multi-programming (or multiprocessing) as used in spooling batch systems to create systems that would load several jobs into memory at once and cycle through them in some order, working on each one for a specified period of time. There are different type of Multi-programming Operating System, some main stream are discussed below.
- Multitasking Operating System – A running state of a program is called a process or a task.multitasking allows the computer system to more reliably guarantee each process a regular “slice” of operating time. It also allows the system to rapidly deal with important external events like incoming data, which might require the immediate attention of one or another process. So, multitasking operating system is a type of multi-programming operating system which can perform several process simultaneously.
- Multi-user Operating System – A multi-user operating system allows for multiple users to use the same computer at the same time and/or different times. Linux,Unix,Windows OS are some example of multitasking operating system.
- Multiprocessing Operating System – An operating system capable of supporting and utilizing more than one computer processor.Linux,Unix,Windows OS are some example of multitasking operating system
- Real Time Operating System – It is an OS where there are a number of possibly unrelated external activities needed to be controlled by a single processor system.
- Network Operating System – A network operating system (NOS) is software that controls a network and its message (e.g. packet) traffic and queues, controls access by multiple users to network resources such as files, and provides for certain administrative functions, including security.
- Distributed Operating System – Distributed systems are very much like traditional operating systems. First, they act as resource managers for the underlying hardware, allowing multiple users and applications to share resources such as CPUs, memories, peripheral devices, the network, and data of all kinds
Character user interface
CUI is another name for a command line. Sometimes referred to as the command screen or a text interface, the command line is a user interface that is navigated by typing commands prompts, as opposed to using the mouse to perform a command. Unlike a GUI operating system, a command line only uses a keyboard to navigate by entering commands and does not utilize a mouse.
Because a command line interface requires unique commands, this interface is often more difficult to learn because of the need to memorize different commands. However, a command line operating system can be a very valuable resource and should not be ignored. For example, users who have Microsoft Windows may find trivial tasks such as renaming 100+ files in a folder a very difficult task; however, this is something that can be done in a matter of seconds through a simple command at the command line.
Graphical User Interface
A GUI uses windows, icons, and menus to carry out commands, such as opening, deleting, and moving files. Although many GUI operating systems are through the use of a mouse, the keyboard can also be utilized by using keyboard shortcuts or arrow keys.Unlike a command line operating system or CUI like Unix or MS-DOS, GUI operating systems are much easier to learn and use because commands do not need memorized. Additionally, users do not need to know any programming languages. Because of their ease of use, GUI operating systems have become the dominant operating system today’s end-users.
A few examples of a GUI operating system
- Microsoft Windows
- Chrome OS