Wednesday, May 8, 2024

Operating System Types


Single-user systems

A computer system that allows only one user to use the computer at a given time is known as a single-user system. The goals of such systems are maximizing user convenience and responsiveness, instead of maximizing the utilization of the CPU and peripheral devices.

Single-user systems use I/O devices such as keyboards, mice, display screens, scanners, and small printers. They can adopt technology developed for larger operating systems.

They may run different types of operating systems, including DOS, Windows, and MacOS. Linux and UNIX operating systems can also be run in single-user mode.

Batch Systems

Early computers were large machines run from a console with card readers and tape drives as input devices and line printers, tape drives, and card punches as output devices. The user did not interact directly with the system; instead, the user prepared a job, (which consisted of the program, data, and some control information about the nature of the job in the form of control cards) and submitted this to the computer operator. The job was in the form of punch cards, and at some later time, the output was generated by the system. The output consisted of the result of the program, as well as a dump of the final memory and register contents for debugging.

To speed up processing, operators batched together jobs with similar needs and ran them through the computer as a group. For example, all FORTRAN programs were compiled one after the other.

The major task of such an operating system was to transfer control automatically from one job to the next. Such systems in which the user does not get to interact with his jobs and jobs with similar needs are executed in a “batch”, one after the other, are known as batch systems. Digital Equipment Corporation’s VMS is an example of a batch operating system.

Multi-programmed Systems

Such systems organize jobs so that CPU always has one to execute. In this way, CPU utilization is increased. The operating system picks and executes from amongst the available jobs in memory. The job has to wait for some task such as an I/O operation to complete. In a non-multi-programmed system CPU would sit idle while in case of multiprogrammed system, the operating system simply switches to, and executes another job.

Time-sharing systems

These are multi-user and multi-process systems. Multi-user means system allows multiple users simultaneously. In this system, a user can run one or more processes at the same time. Examples of time-sharing systems are UNIX, Linux, Windows server editions.

Real-time systems

Real time systems are used when strict time requirements are placed on the operation of a processor or the flow of data. These are used to control a device in a dedicated application. For example, medical imaging system and scientific experiments.

Operating System Examples

There are many types of operating system. Some most popular examples of operating system are:

Unix Operating System

Unix was initially written in assembly language. Later on, it was replaced by C, and Unix, rewritten in C and was developed into a large, complex family of inter-related operating systems. The major categories include BSD, and Linux.

“UNIX” is a trademark of The Open Group which licenses it for use with any operating system that has been shown to conform to their definitions.

macOS

Mac-OS is developed by Apple Inc. and is available on all Macintosh computers. It was formerly called “Mac OS X” and later on “OS X”.  MacOS was developed in 1980s by NeXT and that company was purchased by Apple in 1997.

Linux

Linux is Unix-like operating system and was developed without any Unix code. Linux is open license model and code is available for study and modification. It has superseded Unix on many platforms. Linux is commonly used smartphones and smartwatches.

Microsoft Windows

Microsoft Windows is most popular and widely used operating system. It was designed and developed by Microsoft Corporation. The current version of operating system is Windows-10.

Microsoft Windows was first released in 1985. In 1995, Windows 95 was released which only used MS-DOS as a bootstrap.

 

Operating System Components

An operating system has various components that perform different tasks for proper execution of programs. Following are main components of the operating system.

Process Management

A process can be a program in execution that needs resources like CPU time, memory, files and I/O devices to accomplish its tasks. The operating system is responsible for

  • Creating and terminating user and system processes
  • Suspending and resuming processes
  • Providing mechanisms for process synchronization
  • Providing mechanisms for process communication
  • Providing mechanisms for deadlock handling

Main Memory Management

Main memory is a large array of words or bytes. These bytes are called memory locations and range in size from hundreds of thousands to billions. Every word or byte has its own address. Main memory is a repository of quickly accessible data shared by the CPU and I/O devices. It contains the code, data, stack, and other parts of a process. The central processor reads instructions of a process from main memory during the machine cycle. The OS is responsible for the following activities in connection with memory management.

  • Keeping track of free memory space
  • Keeping track of which parts of memory are currently being used and by whom
  • Deciding which processes are to be loaded into memory when memory space becomes available
  • Deciding how much memory is to be allocated to a process
  • Allocating and deallocating memory space as needed
  • Ensuring that a process is not overwritten on top of another

Secondary Storage Management

The programs to be executed, along with the data they access, must be in the main memory or primary storage during their execution. Since main memory is too small to accommodate all data and programs, and because the data it holds are lost when the power is lost, the computer system must provide secondary storage to backup main memory. Most programs are stored on a disk until loaded into the memory and then use disk as both the source and destination of their processing. Like all other resources in a computer system, proper management of disk storage is important.
The operating system is responsible for the following activities in connection with disk management:

  • Free-space management
  • Storage allocation and deallocation
  • Disk scheduling

Input/Output Management

The input and output subsystem consists of:

  • A memory management component that includes buffering, caching and spooling
  • A general device-driver interface
  • Drivers for specific hardware devices

File Management

Computers can store information on several types of physical media, e.g. magnetic tape, magnetic disk and an optical disk. The operating system maps files onto physical media and accesses these media through storage devices. Operating system is responsible for the following activities pertaining to file management:

  • Creating and deleting files
  • Creating and deleting directories
  • Supporting primitives (operations) for manipulating files and directories
  • Mapping files onto the secondary storage
  • Backing up files on stable (nonvolatile) storage media

Protection System

If a computer system has multiple users and allows concurrent execution of multiple processes then the various processes must be protected from each other’s activities. Protection is any mechanism for controlling the access of programs, processes or users to the resources defined by a computer system.

Networking

A distributed system is a collection of processors that do not share memory, peripheral devices or a clock. Instead, each processor has it own local memory and clock, and the processors communicate with each other through various communication lines, such as high- speed buses or networks.

The processors in a communication system are connected through a communication network. The communication network design must consider message routing and connection strategies and the problems of contention and security.

A distributed system collects physically separate, possibly heterogeneous, systems into a single coherent system, providing the user with access to the various resources that the system maintains.

Command Line Interpreter

One of the most important system programs for an operating system is the command interpreter, which is the interface between the user and operating system. Its purpose is to read user commands and try to execute them. Some operating systems include the command interpreter in the kernel. Other operating systems (for example UNIX, Linux, and DOS) treat it as a special program that runs when a job is initiated or when a user first logs on (on time-sharing systems). Examples of shells for UNIX and Linux are Bourne shell (sh), C shell (csh), Bourne Again shell (bash), TC shell (tcsh), and Korn shell (ksh). You can use any of these shells by running the corresponding command, listed in parentheses for each shell.

 

 

No comments:

What is computer security?

Computer security basically is the protection of computer systems and information from harm, theft, and unauthorized use. It is the process ...