Basics of Computer Operating System



What is a Computer Operating System?

An operating system is system software program that enables computer system hardware and applications to interact with one another. An Operating System allows its users to interact with computer hardware and software. This program performs all the basic operations of a computer like file management, memory management, process management, interrupt handling, input and output processing, and controls all the peripheral devices attached to the system.

A primary goal of an Operating System is to enable all the applications and hardware attached to the computer system and make them accessible to all the users who want to perform needed operations either hardware-related or software applications. A Kernel' is a main component of the operating system which controls and manages all the operations taken care of by the operating system. Some popular Operating Systems include Linux, Windows, VMS, OS/400, AIX, z/OS, Mac etc. Today, Operating system is found almost in every device like mobile phones, personal computers, mainframe computers, automobiles, TVs, Toys etc.

Features of Operating System

  • Acts as an interface between software and hardwares.
  • It is an integrated set of specialized programs used to manage the overall resources and operations of the computer.
  • Specialized system software which controls and monitors the execution of all other programs running in the system.
System Software

Objectives of Operating System

The objectives of the operating system are −

  • To make the computer system convenient to use.
  • To hide technical specifications from users.
  • To provide an interface for the users to easily interact with the system.
  • To act as a mediator between the hardware and its users.
  • To manage the resources of a computer system.
  • To provide efficient and fair sharing of resources among users and programs.

Functions of Operating System

Some most common functions of the Operating System are depicted using below mentioned image −

Functions of Operating System

Memory Management

OS manages memory using different techniques to ensure efficient and secure allocation and deallocation of memory resources so that it can be utilised properly. Some key principle methods of memory management are memory allocation, Memory Mapping, Memory Protection, Virtual Memory, Memory Paging and Swapping, Memory Management Unit (MMU), and Memory Cleanup.

Processor Management

Allocates the processor (CPU) to a process and deallocates the processor when it is no longer required. It involves the efficient allocation of CPU resources to processes and concurrent management of operations for multiple processes. OS processor management includes process management methods like Process Scheduling, Dispatcher, Process States, Context Switching, Priority Levels, CPU Affinity, and Pre-emption.

In general, it is essential to manage processors to optimise CPU usage, maximise system performance, minimise response times and ensure fairness and responsiveness when multitasking.

Device Management

Keeps track of all the devices. This is also called an I/O controller that decides which process gets the device, when, and for how much time. It generally involves controlling and coordinating the use of hardware devices attached to the computer. An OS does device management using Device Detection and Configuration, Device Drivers, Device Allocation, Device I/O Operations, Interrupt Handling, Device Queues and Buffers, Device Synchronization and Error Handling.

File Management

An operating system organises, stores, retrieves, and manipulates files on hard discs, solid-state drives, and network storage. File management is typically handled by an operating system using File System Creation and Formatting, File Naming and Directory Structure, File Metadata, File Operations, File Access Control, File I/O Buffers and Caching, File System Maintenance, and File Backup and Recovery. In general, effective file management is essential to organise and retain data on storage devices, ensuring the integrity and security of information as well as providing efficient access for users and applications.

Security

To protect computer systems, data and users from unauthorised access, unlawful activity or any kind of security threat, operating systems use a variety of safety measures and prevent unauthorized access to programs and data using passwords and other similar techniques. An operating system secures the system using security methods like User Authentication, Access Control, Encryption, Firewalls, Antivirus and Anti-Malware Software, Security Updates and Patch Management, Secure Boot, Audit Trails and Logging, Sandboxing and Containerization and Secure Networking Protocols.

Task Accounting

Job accounting tracks and records computer system utilisation of resources by processes or jobs. Job accounting techniques in operating systems track CPU, memory, disc I/O, and network activity during task execution. Hence, it keeps track of time and resources used by various jobs and/or users. Job accounting is typically done by Resource Monitoring, Process Identification, Accounting Records, Periodic Sampling, Event Logging, User and Group Accounting, Quotas and Limits, Reporting and Analysis and Integration with Accounting Systems.

Overall, job accounting enables administrators to gain valuable information about how processes use system resources and assists them in managing system performance, optimising resource allocation as well as enforcing policies on user usage across heterogeneous environments.

Control over System Performance

Operating systems optimise resource utilisation, manage system resources efficiently, and ensure rapid and reliable operation. Operating systems achieve control over the system using mechanisms of Process Scheduling, Memory Management, I/O Management, Device Management, Power Management, Performance Monitoring and Tuning, Resource Allocation and Scheduling Policies, and Load Balancing. In general, operating systems manage hardware resources, schedule processes and implement various techniques to optimise their performance to control and optimize system performance. The Operating System can provide a system that operates efficiently and complies with the performance requirements of users and applications through effective coordination of resource use and workload planning.

Interaction with the Operators

Using different interfaces and mechanisms designed to facilitate system management, configuration, monitoring and troubleshooting; operating systems interact with operators through IT administrators or users. Interaction may take place using 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. Operating systems enable interaction with operators using Command-Line Interface (CLI), Graphical User Interface (GUI), System Configuration Tools, System Logs and Messages, Remote Administration, and System Notifications.

Error-detecting Aids

The operational systems shall include an error detection tool to detect, report and occasionally remedy errors that have occurred while the system is in operation. Operating systems implement error-detecting aids using Error Messages, Diagnostic Tools, System Logs, Built-in Self-Tests (BIST), Error-Correcting Code (ECC), Watchdog Timers, Health Monitoring, Safe Mode, and Automatic Error Reporting. In general, error detection equipment in operating systems plays a key role in identifying, diagnosing and correcting system errors and failures, increasing system reliability and ensuring smooth operation of the machines.

Coordination between other Software and Users

The operating systems provide a platform and set of services that allow communication, sharing of resources and interaction among other software and users facilitating coordination. An Operating system Coordination between other software and users using System Calls and APIs, Interprocess Communication (IPC), Concurrency and Multitasking, User Interfaces, Resource Management, Security and Access Control, Event Handling and Notifications, and Integration with Middleware and Services.

In general, operating systems provide a platform for communication, resource management, security and event handling which play an essential role in coordinating the interaction of software applications with users. The OS improves system usability, efficiency and reliability through the efficient coordination of software components to users.

Advertisements