OS and Its Types
1. What is OS
An Operating System (OS) is a software that acts as an interface between computer hardware components and the user. It manages all the resources of a computer system, both hardware and software, and provides an environment in which the user can execute his/her programs in a convenient and efficient manner.
2. Services Provided by OS
Duties of an operating system β
Process management - creating and deleting user and system processes - suspending and resuming processes - interprocess communication - process synchronization - deadlock handling
Memory management - Keeping track of which part of memory is being used by which job - Allocating and deallocating memory space
Storage management - file system management - creating, deleting and manipulating files and directories - mass storage management - free space management - storage allocation - disk scheduling
Caching
Input-output management
Operating system services β
Helpful to the user - user interface (CUI/shell and GUI) - program execution - I/O operation - file system manipulation - communication - error detection
Helpful to the system - resource allocation - protection and security
3. Types of OS?
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 which takes similar jobs having same requirement and group them into batches. It is the responsibility of operator to sort the jobs with similar needs.
Examples of Batch based Operating System: Payroll System, Bank Statements etc.
2. Multi-Tasking/Time-sharing Operating systems:-
But it is important to note that multi-programming means that there are a number of jobs available to the CPU (placed in main memory) and a portion of one is executed then a segment of another and so on.
Multitasking is a logical extension of multiprogramming system that supports multiple programs to run concurrently. In multitasking more than one task are executed at the same time. In this technique the multiple tasks, also known as processes, share common processing resources such as a CPU.
Examples of Time-Sharing OSs are: Multics, Unix etc.
Difference between Multitasking and Multi-programming Operating System
Multitasking OS
Multi-programming OS
β’ The program divided into the fixed size of pages.
β’ The whole program loaded into memory.
β’ Context switching takes place after a fixed interval of time.
β’ Not fixed time of interval consider.
Multiprocessor Operating System refers to the use of two or more central processing units (CPU) within a single computer system.
3. Distributed Operating System β
Various autonomous interconnected computers communicate each other using a shared communication network. Independent systems possess their own memory unit and CPU. These are referred as loosely coupled systems or distributed systems. These systemβs processors differ in size and function. The major benefit of working with these types of 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.
Examples of Distributed Operating System 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 type of operating systems allow shared access of files, printers, security, applications, and other networking functions over a small private network.
Examples of Network Operating System are: Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD etc.
5. Real-Time Operating System β
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 System which are as follows:
Hard Real-Time Systems: These OSs are meant for the applications where time constraints are very strict and even the shortest possible delay is not acceptable.
Soft Real-Time Systems: These OSs are for applications where for time-constraint is less strict.
Definitions
Kernel: A kernel is that part of the operating system which interacts directly with the hardware and performs the most crucial tasks.
Shell: A shell, also known as a command interpreter, is that part of the operating system that receives commands from the users and gets them executed.
Booting: Booting is the process of starting the computer and loading the kernel. When a computer is turned on, the power-on self-tests (POST) are performed. Then the bootstrap loader, which resides in the ROM, is executed. The bootstrap loader loads the kernel or a more sophisticated loader.
Loader: It is a part of the operating system and is responsible for loading executable files into memory and execute them. It calculates the size of a program (instructions and data) and creates memory space for it. It initializes various registers to initiate execution.
Compiler: The language processor that reads the complete source program written in high level language as a whole in one go and translates it into an equivalent program in machine language. Example: C, C++, C#, Java In a compiler, the source code is translated to object code successfully if it is free of errors. The compiler specifies the errors at the end of compilation with line numbers when there are any errors in the source code.
Interpreter : The translation of single statement of source program into machine code is done by language processor and executes it immediately before moving on to the next line is called an interpreter. If there is an error in the statement, the interpreter terminates its translating process at that statement and displays an error message. The interpreter moves on to the next line for execution only after removal of the error. Example: Perl, Python and Matlab.
Assembler : The Assembler is used to translate the program written in Assembly language into machine code. The source program is a input of assembler that contains assembly language instructions. The output generated by assembler is the object code or machine code understandable by the computer.
Last updated