• Post author:Bhaskar Soni
  • Post published:
  • Post category:Operating System
  • Post comments:0 Comments
  • Reading time:4 mins read

An operating system (OS) is the layer between hardware and the programs people use. Without it, every application would need its own code to talk to the disk, keyboard, screen and network. The functions of operating system software can be grouped into a handful of core jobs: managing resources, protecting the system and providing services to programs and users.

This guide explains ten of those jobs, with examples from Linux and Windows.

functions of operating system

1. Process management

A process is a running program. The OS creates and ends processes, gives each one CPU time and lets them communicate. It also decides which process runs next, using CPU scheduling. For example, Linux lets you see processes with ps and top, while Windows shows them in Task Manager.

Read more: process management and CPU scheduling algorithms.

2. Memory management

The OS tracks which parts of RAM are free and which belong to each process. It gives memory to programs, takes it back when they finish and keeps processes from reading each other’s memory. Moreover, through virtual memory and paging, it lets programs use more memory than physically exists. See our guide to memory management.

3. File management

Users and programs see files and folders, not raw disk blocks. The OS creates, reads, writes, renames and deletes files, organises directories and enforces permissions. It does this through file systems such as ext4, XFS and NTFS.

4. Device management

Every device, from a keyboard to a GPU, needs a driver. The OS loads drivers, handles interrupts from devices and provides one consistent way for programs to use them. As a result, an application can print without knowing the printer model.

5. Storage management

Beyond individual files, the OS manages disks as a whole: partitions, free space, caching, disk scheduling and redundancy such as RAID. Read our guide to disk management.

6. Security and protection

The OS controls who can log in and what each user and program may do. Key features include:

  • user accounts and authentication;
  • file permissions and access control lists;
  • separation between user mode and kernel mode;
  • memory protection between processes;
  • security updates, firewalls and built-in malware protection.

See operating system protection and security for details.

7. Networking

Modern operating systems include a full network stack. They manage network interfaces, IP addresses, routing tables and sockets, so applications can send data without handling low-level details.

8. User interface

The OS provides a way for people to interact with the computer. That can be a command-line interface (CLI), such as Bash or PowerShell, or a graphical user interface (GUI), such as the Windows desktop or GNOME on Linux.

9. Performance monitoring and accounting

The OS measures CPU, memory, disk and network use. Administrators use this data to find bottlenecks and plan capacity. In multi-user systems, it can also record usage per user for accounting.

10. Error detection and recovery

Hardware and software fail. The OS detects errors, such as disk read failures or crashed programs, logs them and tries to recover. For example, it can restart a failed service or remap a bad disk sector. In addition, logs help administrators investigate problems later.

Services the OS offers to programs

Programs access these functions through system calls, such as open(), read() and fork() on Linux. In practice, libraries and APIs wrap them, so developers rarely call them directly.

FunctionLinux exampleWindows example
Processesps, killTask Manager
Memoryfree -hResource Monitor
Filesls, chmodFile Explorer, icacls
Deviceslsusb, lspciDevice Manager
Networkip addripconfig

Related guides

Sources

Running Linux servers in production? Our Linux server hardening & security audit checks configuration, patching, SSH and logging. You can also use our free Linux server hardening checklist, or contact us.

Post author avatar

Bhaskar Soni

Bhaskar Soni is a Security Engineer and the founder of Youngster Company, based in Ahmedabad, Gujarat. He works hands-on with Linux server hardening, vulnerability assessment and penetration testing (VAPT), ISO 27001 compliance and OSINT investigations. He writes practical, tested guides for IT professionals and Indian businesses, and every article on this site is written or reviewed by him.

Leave a Reply