Operating System
An operating system (OS) is system
software that manages computer hardware, software resources, and provides
various services for computer programs. Time-sharing operating systems schedule
tasks for efficient use of the system and may also include accounting software
for cost allocation of processor time, mass storage, printing, and other
resources.
Here are some of the key roles of
an operating system:
- Process Management: The OS manages processes
in the system, which includes the execution of processes, switching
between them, synchronization, and deadlock handling.
- Memory Management: The OS is responsible for
managing the computer's memory, including the system's RAM and sets of I/O
devices. It keeps track of each and every memory location, regardless of
whether it is allocated to some process or it is free.
- File System Management: The OS manages files
on the computer, which includes file creation and deletion, support for
multiple views of files, mapping files onto secondary storage, and backup
of files on stable storage media.
- Device Management: The OS manages device
communication via their respective drivers. It does the job of an
intermediary between your computer's hardware components and its software.
- Security and Access Control: The OS is also
responsible for ensuring that unauthorized users do not access the system.
- Job Accounting: Keeping track of time and
resources used by various jobs and users.
Commonly used operating systems include
Microsoft's Windows, Apple's macOS, and various versions of Unix (like Linux
distributions: Ubuntu, Fedora, etc.), among others. Each of these OSes can have
dramatically different user interfaces and ways of dealing with software and
hardware, but they all provide these basic functions.
Components of operating system
and operations of OS
An operating system (OS) consists
of several key components:
- Kernel: The kernel is the core component of
an operating system. It interacts directly with the system's hardware and
manages resources like memory, CPU time, disk space, and peripheral
devices. The kernel also handles system calls from software applications,
translating them into instructions for the hardware.
- Process Scheduler: This component manages
how processes are allocated CPU time. It determines the execution sequence
of processes based on their priority and scheduling policies.
- Memory Manager: This component oversees the
system's physical and virtual memory. It's responsible for keeping track
of each byte in a system's memory and which processes are using which
memory.
- Device Drivers: These are small helper
programs that allow the OS to interact with hardware peripherals like
keyboards, mice, printers, and disk drives.
- File System: This manages files and
directories on the disk. It keeps track of which regions of the disk are
free, which are reserved, and organizes files on the disk for efficient
access and storage.
- User Interface: This could be a command line
(CLI) or a Graphical User Interface (GUI). This component allows users to
interact with the system.
- System Utilities: These are additional
software provided by the OS to help manage, maintain, and control the
computer's operation. Examples include system performance monitors, security
management tools, and file system management utilities.
Operations of an Operating
System:
The primary operations of an OS
are:
- Process Management: The OS handles the
creation, scheduling, termination, and synchronization of processes.
- Memory Management: The OS manages the
allocation and deallocation of memory to programs when they start and
finish executing.
- Storage Management: The OS manages the
storage and retrieval of files on a disk drive, and manages access to
them.
- Device Management: The OS manages device
communication via their respective drivers.
- Security & Access Control: The OS
ensures that unauthorized users do not access the system.
- Error detection and handling: The OS needs
to constantly check for possible errors. This could be internal (like a
memory leak), or external (like a failure of an I/O device).
The exact functions and components
of an operating system can vary based on whether the OS is designed for
mainframes, desktops, real-time systems, or smaller devices like smartphones.