What does the operating system coordinate?

An operating system is a manager for hardware resources, providing a simplified and device-independent interface to those resources. In that role, it also facilitates sharing those resources, so it is responsible for providing isolation and security between now-separate processes (or more recently virtual machines).

In a nerdy way,

“A platform that consists of a specific set of libraries and infrastructure for applications to be built upon and interact with each other”

Functions of Operating system — Operating system performs three functions:

  1. Convenience: An OS makes a computer more convenient to use.
  2. Efficiency: An OS allows the computer system resources to be used in an efficient manner.
  3. Ability to Evolve: An OS should be constructed in such a way as to permit the effective development, testing, and introduction of new system functions without at the same time interfering with service.
Conceptual view of a computer system

Every general-purpose computer consists of the hardware, an operating system, system programs, and application programs.

The hardware consists of memory, CPU, ALU, and I/O devices, peripheral devices, and storage devices. The system program consists of compilers, loaders, editors, OS, etc. The application program consists of business programs, database programs

Every computer must have an operating system to run other programs. The operating system coordinates the use of the hardware among the various system programs and application programs for various users. It simply provides an environment within which other programs can do useful work.

A lot of these functions are strongly interrelated. Processes need both CPU and memory allocated to them. Devices need memory and interrupt, and are not usually allocated exclusively to one process so the OS needs to share them through a higher-level abstraction layer (e.g. sockets, VFS)

Kernel

The kernel is the collection of these pieces that are considered inseparable — hence the name — and which run independently of any user/process. It acts as a bridge between applications and the data processing performed at the hardware level.

The kernel is the central module of an operating system (OS). It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications. The kernel code is usually loaded into a protected area of memory to prevent it from being overwritten by programs or other parts of the operating system.

Typically, the kernel is responsible for memory management, process management/task management, and disk management. The kernel connects the system hardware to the application software, and every operating system has a kernel. For example, the Linux kernel is used numerous operating systems including Linux, FreeBSD, Android, and others.

The kernel performs its tasks such as executing processes and handling interrupts, in kernel space, whereas everything a user normally does, such as writing text in a text editor or running programs in a GUI (graphical user interface), is done in userspace.

This separation prevents user data and kernel data from interfering with each other and thereby diminishing performance or causing the system to become unstable (and possibly crashing). When a process makes requests of the kernel, the request is called a system call.

The kernel is responsible for:

  • Process management for application execution
  • Memory management, allocation, and I/O
  • Device management through the use of device drivers
  • System call control, which is essential for the execution of kernel services

FUNCTIONS OF THE KERNEL

The central processing unit: The kernel takes responsibility for deciding at any time which of the many running programs should be allocated to the processor or processors.

Random-access memory: Random-access memory is used to store both program instructions and data. Typically, both need to be present in memory in order for a program to execute. Often multiple programs will want access to memory, frequently demanding more memory than the computer has available. The kernel is responsible for deciding which memory each process can use and determining what to do when not enough memory is available.

Input/output (I/O) devices: I/O devices include such peripherals as keyboards, mice, disk drives, printers, network adapters, and display devices. The kernel allocates requests from applications to perform I/O to an appropriate device and provides convenient methods for using the device.
Kernels also usually provide methods for synchronization and communication between processes called interprocess communication (IPC).

Other parts of the operating system include the drivers that interact with the kernel, there are several layers of helper programs that deal with the user interface, the networking and other core parts of the OS that sit between kernel and the actual application.

To give an example, I’ve shown the structure of OS X, as you can see on top of the Kernel (light blue) lies several layers of “core” functionality, system tools, services and APIs (Application Programming Interface) before you even get to the GUI which is what you typically work within the actual applications themselves.

How does the operating system coordinate software?

As the OS coordinates the activities of the processor, it uses RAM as a temporary storage area for instructions and data the processor needs. The OS is therefore responsible for coordinating the space allocations in RAM to ensure that there is enough space for the waiting instructions and data.

What activities are coordinated by the operating system?

An operating system is a software which performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.

What are the 3 main functions of the operating system?

An operating system has three main functions: (1) manage the computer's resources, such as the central processing unit, memory, disk drives, and printers, (2) establish a user interface, and (3) execute and provide services for applications software.

Does the operating system coordinate tasks between programs?

Operating system functions Memory management: An operating system coordinates computer applications and allocates space to different programs installed in the computer. Data security: An operating system protects your data from cyberattacks.