In this chapter, you will learn about the general structure of functionalities and properties that the operating system provides for a typical computer system. A computer system may be organized in a number of different ways, which you can categorize roughly according to the number of general-purpose processors used.

You will learn about these properties one by one given below:

Single Processor Systems

Most systems at least contain a single processor. The variation of single-processor systems may be unexpected, but since these systems can range from PDA's to mainframe computers. On a single-processor system, there is one main CPU able to execute a general-purpose instruction layout, including different instructions from users and then process them. Almost every system has special-purpose processors within them. They may come in the appearance of device-specific processors, such as disks, keyboards, graphics controllers, etc.; or on mainframes, they may come in the form of more general-purpose processors.

Batch Processing

Batch processing is a method where an operating system gathers different programs along with the data together in a batch before starting the process. An operating system does the below-mentioned activities to perform batch related processing:

  • The operating system identifies a job or sets of jobs that are further assigned to a sequence of commands, programs, and data within a single unit.
  • The operating system maintains the lists of number jobs in memory. It then executes them one by one based on some scheduling algorithm.
  • Most of the jobs In operating system are processed in the order they have been submitted, i.e., first come first serve (FCFS) manner.

Multiprogramming Property of Operating System

Multi-programmed structure or mechanism provides an environment where a variety of system resources like memory, CPU, and various peripheral devices gets utilized efficiently, but they do not offer for user interaction with the computer system. Time-sharing which is also called multitasking is a logical extension or enhancement of the term multiprogramming.

In time-sharing systems, the processor is given multiple tasks by switching among them, but the switches take place so frequently that the users can work together with each and every program while it is running and it seems that all of the programs are running simultaneously. Time-sharing needs an interactive computer structure that allows direct communication between the user and the system.

Multiprogramming in Operating System

A single user cannot keep either the processor or the Input / Output devices busy every time. The concept of multiprogramming is implemented to amplify CPU utilization by managing jobs so that the CPU always has at least one job to execute.

Sharing the processor, when multiple programs reside in memory at a single time, is termed as multi-programming. Multi-programming takes for granted a single shared processor for one or more tasks.

Clustered Systems in OS

Another type of multiple - CPU concept is the clustered structured system. Like multi-processing, clustered systems collect together several CPUs to achieve the better computational job. Clustered systems vary from multiprocessor systems, but in the same time, they are composed of two or multiple individual systems that are coupled as a single unit.