The Operating System is a program with the following features −
- An operating system is a program that acts as an interface between the software and the computer hardware.
- It is an integrated set of specialized programs used to manage overall resources and operations of the computer.
- It is a specialized software that controls and monitors the execution of all other programs that reside in the computer, including application programs and other system software.
Objectives of Operating System
Here is a list of some of the most prominent characteristic features of Operating Systems −
- Memory Management− Keeps track of the primary memory, i.e. what part of it is in use by whom, what part is not in use, etc. and allocates the memory when a process or program requests it.
- Processor Management− Allocates the processor (CPU) to a process and deallocates the processor when it is no longer required.
- Device Management− Keeps track of all the devices. This is also called I/O controller that decides which process gets the device, when, and for how much time.
- File Management− Allocates and de-allocates the resources and decides who gets the resources.
- Security− Prevents unauthorized access to programs and data by means of passwords and other similar techniques.
- Job Accounting− Keeps track of time and resources used by various jobs and/or users.
- Control Over System Performance− Records delays between the request for a service and from the system.
- Interaction with the Operators− Interaction may take place via the console of the computer in the form of instructions. The Operating System acknowledges the same, does the corresponding action, and informs the operation by a display screen.
- Error-detecting Aids− Production of dumps, traces, error messages, and other debugging and error-detecting methods.
- Coordination Between Other Software and Users− Coordination and assignment of compilers, interpreters, assemblers, and other software to the various users of the computer systems.
Types of Operating System
Operating systems are there from the very first computer generation and they keep evolving with time. In this chapter, we will discuss some of the important types of operating systems which are most commonly used.
Single-user, single task – As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system.
Multi-user operating system
A Multi-user operating system is a computer operating system which allows multiple users to access the single system with one operating system on it. It is generally used on large mainframe computers.
Example: Linux, Unix, Windows 2000, Ubuntu, Mac OS etc.,
In the multi-user operating system, different users connected at different terminals and we can access, these users through the network as shown in the diagram.
Features of the Multi-user Operating System
- Multi-tasking- Using multi-user operating system we can perform multiple tasks at a time, i.e. we can run more than one program at a time.
Example: we can edit a word document while browsing the internet.
• Resource sharing- we can share different peripherals like printers, hard drives or we can share a file or data. For this, each user is given a small time slice of CPU time.
• Background processing- It means that when commands are not processed firstly, then they are executed in the background while another programs are interacting with the system in the real time.
Batch operating system
The users of a batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. The programmers leave their programs with the operator and the operator then sorts the programs with similar requirements into batches.
The problems with Batch Systems are as follows −
- Lack of interaction between the user and the job.
- CPU is often idle, because the speed of the mechanical I/O devices is slower than the CPU.
- Difficult to provide the desired priority.
Time-sharing operating systems
Time-sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time. Time-sharing or multitasking is a logical extension of multiprogramming. Processor’s time which is shared among multiple users simultaneously is termed as time-sharing.
Real time Operating systems
Real time system means that the system is subjected to real time, i.e., response should be guaranteed within a specified timing constraint or system should meet the specified deadline. For example: flight control system, real time monitors etc.
Types of real time systems based on timing constraints:
- Hard real time system –
This type of sytem can never miss its deadline. Missing the deadline may have disastrous consequences.The usefulness of result produced by a hard real time system decreases abruptly and may become negative if tardiness increases. Tardiness means how late a real time system completes its task with respect to its deadline. Example: Flight controller system.
- Soft real time system –
This type of system can miss its deadline occasionally with some acceptably low probability. Missing the deadline have no disastrous consequences. The usefulness of result produced by a soft real time system decreases gradually with increase in tardiness. Example: Telephone switches.
Advantages of Timesharing operating systems are as follows −
- Provides the advantage of quick response.
- Avoids duplication of software.
- Reduces CPU idle time.
Disadvantages of Time-sharing operating systems are as follows −
- Problem of reliability.
- Question of security and integrity of user programs and data.
- Problem of data communication.
Network operating System
A Network Operating System runs on a server and provides the server the capability to manage data, users, groups, security, applications, and other networking functions. The primary purpose of the network operating system is to allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks.
Examples of network operating systems include Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD.
The advantages of network operating systems are as follows −
- Centralized servers are highly stable.
- Security is server managed.
- Upgrades to new technologies and hardware can be easily integrated into the system.
- Remote access to servers is possible from different locations and types of systems.
The disadvantages of network operating systems are as follows −
- High cost of buying and running a server.
- Dependency on a central location for most operations.
- Regular maintenance and updates are required.
A user interface (UI) refers to the part of an operating system, program, or device that allows a user to enter and receive information. A text-based user interface (see the image to the left) displays text, and its commands are usually typed on a command line using a keyboard. With a graphical user interface (see the right-hand image), the functions are carried out by clicking or moving buttons, icons and menus by means of a pointing device.
Graphical User Interface (GUI)
GUI is an interface that allows users to interact with different electronic devices using icons and other visual indicators. The graphical user interfaces were created because command line interfaces were quite complicated and it was difficult to learn all the commands in it.
In today’s times, graphical user interfaces are used in many devices such as mobiles, MP3 players, gaming devices, smartphones etc.
character user interface
Short for character user interface or command-line user interface, CUI is a way for users to interact with computer programs. It works by allowing the user (client) to issue commands as one or more lines of text (referred to as command lines) to a program. Good examples CUIs are MS-DOS and the Windows Command Prompt. One of the CUI’s uses is that it provides an easy way to implement programming scripts.
Examples of computer operating systems
Microsoft Windows 10 – PC and IBM compatible operating system. Microsoft Windows is the most common and used operating system.
Apple macOS – Apple Mac operating system. Today, the only Apple computer operating system is macOS.
Ubuntu Linux – A popular variant of Linux used with PC and IBM compatible computers.
Google Android – Operating system used with Android compatible phones and tablets.
iOS – Operating system used with the Apple iPhone and iPads.
Chromium – Google operating system used with Chromebooks.
Mobile Operating System (Mobile OS)
Much like the Linux or Windows operating system controls your desktop or laptop computer, a mobile operating system is the software platform on top of which other programs can run on mobile devices. The operating system is responsible for determining the functions and features available on your device, such as thumb wheel, keyboards, WAP, synchronization with applications, email, text messaging and more. The mobile OS will also determine which third-party applications (mobile apps) can be used on your device.
Types of Mobile Operating Systems
- Android OS (Google Inc.)
The Android mobile operating system is Google’s open and free software stack that includes an operating system, middleware and also key applications for use on mobile devices, including smartphones. Updates for the open source Android mobile operating system have been developed under “dessert-inspired” version names (Cupcake, Donut, Eclair, Gingerbread, Honeycomb, Ice Cream Sandwich) with each new version arriving in alphabetical order with new enhancements and improvements.
2.iPhone OS / iOS (Apple)
Apple’s iPhone OS was originally developed for use on its iPhone devices. Now, the mobile operating system is referred to as iOS and is supported on a number of Apple devices including the iPhone, iPad, iPad 2 and iPod Touch. The iOS mobile operating system is available only on Apple’s own manufactured devices as the company does not license the OS for third-party hardware. Apple iOS is derived from Apple’s Mac OS X operating system.
Windows Mobile (Windows Phone)
Windows Mobile is Microsoft’s mobile operating system used in smartphones and mobile devices – with or without touchscreens. The Mobile OS is based on the Windows CE 5.2 kernel. In 2010 Microsoft announced a new smartphone platform called Windows Phone 7.
UNIX is an operating system which was first developed in the 1960s, and has been under constant development ever since. By operating system, we mean the suite of programs which make the computer work. It is a stable, multi-user, multi-tasking system for servers, desktops and laptops.
UNIX systems also have a graphical user interface (GUI) similar to Microsoft Windows which provides an easy to use environment. However, knowledge of UNIX is required for operations which aren’t covered by a graphical program, or for when there is no windows interface available, for example, in a telnet session.
Linux is one of popular version of UNIX operating System. It is open source as its source code is freely available. It is free to use. Linux was designed considering UNIX compatibility. Its functionality list is quite similar to that of UNIX.
Components of Linux System
Linux Operating System has primarily three components
Kernel − Kernel is the core part of Linux. It is responsible for all major activities of this operating system. It consists of various modules and it interacts directly with the underlying hardware. Kernel provides the required abstraction to hide low level hardware details to system or application programs.
System Library − System libraries are special functions or programs using which application programs or system utilities accesses Kernel’s features. These libraries implement most of the functionalities of the operating system and do not requires kernel module’s code access rights.
System Utility − System Utility programs are responsible to do specialized, individual level tasks.
The Microsoft Disk Operating System (MS-DOS) is an operating system developed for PCs with x86 microprocessors. It is a command-line-based system, where all commands are entered in text form and there is no graphical user interface.
MS-DOS was the most commonly used member of the family of disk operating systems. It was the main choice as an operating system for IBM PC-compatible computer systems during the 1980s to mid-1990s. MS-DOS was gradually replaced by system’s with graphical user interfaces, particularly Microsoft Windows.