Software comprises a series of instructions designed to execute particular tasks. Its primary function involves interfacing with hardware to produce the intended outputs.
Types of Software: There exist two primary classifications for software:
Application software refers to a collection of programs created to execute specific tasks. For instance, MS Word serves as application software for generating text documents, while VLC Player is a well-known application software used for playing audio, video files, and various other formats.
System software constitutes a type of computer program explicitly crafted to manage the hardware of a computer system and facilitate the functioning of application programs. Examples of system software include the Operating System and Language Processor.
Introduction to Operating System (OS):
An Operating System (OS) functions as a vital system software that acts as a bridge between a computer’s user and its hardware components.
An Operating System governs input, output, and various peripheral devices like disk drives, printers, and electronic gadgets. Its role encompasses diverse functions such as file management, memory handling, process supervision, device oversight, and numerous other essential tasks.
Devoid of an Operating System, a computer struggles to efficiently oversee its resources. Upon booting up, the operating system seamlessly loads into the computer’s memory, facilitating its fundamental functionality.
Windows, UNIX, and Linux stand as popular Operating Systems for personal computers and laptops. Meanwhile, mobile devices predominantly rely on Android and iOS as their primary operating systems.
Types of Operating System:
Operating systems can be categorized based on their processing capabilities into various types.
(1) Single User Operating Systems- An operating system that permits only one user to execute a task at any given time is known as a Single User and Single Task operating system. MS-DOS serves as a prime example of such an operating system, allowing one user to perform a single task at a time.
(2) Multi-user Operating Systems- These are employed in computers and laptops, enabling simultaneous access to shared data and applications by numerous users. This setup also facilitates communication among these users. Notable examples of multi-user Operating Systems include Windows, Linux, and UNIX.
Services Provided by Operating Systems:
An operating system serves as a platform for program execution, offering various services to both programs and their users. While the specifics of these services vary across different operating systems, they can be categorized into common classes.
(1) Program Execution: Enabling the loading and running of programs in memory, with provisions for their normal or abnormal termination.
(2) Input/Output Operations: Facilitating input/output activities of running programs involving files or I/O devices, as user programs cannot directly execute such operations.
(3) Information and Resource Protection: Ensuring efficient and secure utilization of computer resources and information, thwarting unauthorized access by the operating system.
(4) Resource Allocation: Managing diverse resources when multiple users or jobs are concurrently active, is crucial for effective system operation.
(5) Accounting: Tracking user logins, memory processes, resource allocation, and related metrics to maintain system records.
(6) Communication: Facilitating inter-process communication within the same computer or across different machines, relieving users from direct message-passing tasks. Users can customize programs for specific hardware and provide service interfaces to the operating system for communication through networks.
(7) File System Manipulation: Handling file operations like reading, writing, deletion, and storage location decisions.
(8) Error Detection: Constantly monitoring the system for errors to prevent system-wide malfunctions caused by potential errors.
Functions of Operating System:
The operating system plays a pivotal role in overseeing computer resources, specifically in distributing and assigning these resources among different programs. Its management duties encompass scheduling these resources to prevent clashes and disruptions between programs. Below are outlined the diverse functions carried out by an operating system:
(1) Processor Management- It involves the execution of sequences of instructions or programs by the central processing unit (CPU). It represents the fundamental unit that the operating system handles in collaboration with the processor. For instance, envision a text editor running on a computer as a process. This single program might trigger multiple subsequent processes, such as initiating a print request while simultaneously editing a document. Hence, the text editor serves as a program initiating two distinct processes: one for editing and another for printing. Essentially, a process is instigated by a program to execute an action, controllable either by the user or the operating system. To achieve its objectives, a process requires specific resources like CPU time, memory allocation, and access to I/O devices. Consequently, the essence of process management within an operating system lies in efficiently executing assigned tasks while optimizing resource utilization.
(2) Memory Management- During program execution, a computer program resides in the primary (RAM) memory. To optimize CPU utilization, multiple processes run concurrently in the memory. The operating system maintains a record of all memory locations, whether allocated to a process or available. Additionally, it manages the allocation of memory for each process based on requirements and available resources.
(3) Device Management- An operating system oversees the operation of various input and output devices. Typically, users don’t directly engage with the hardware devices; rather, they interact through a mediator known as a device driver. This driver serves as a software intermediary between the device and the program utilizing it. For instance, when a user initiates a print command, the processor sends a series of general instructions to the printer driver. Subsequently, the printer driver translates these general instructions into specific commands tailored to the printer’s understanding.
(4) File Management- An operating system handles the organization and control of data across different storage mediums, facilitating the seamless transfer of files between these storage devices. It manages the allocation (opening) of files for utilization and the de-allocation (closing) of files once their use is complete.
(5) Security Management- Securing users’ legitimate data from hackers remains a paramount challenge within the computer and software industry. The Operating System plays a pivotal role in providing a triad of security levels at the user end:
File access level, where accessing files created by others necessitates appropriate permission either granted by the file creator or the system administrator.
System-level security, safeguarded by passwords in multi-user environments, is a feature present in both Windows and Linux operating systems. (3)
Network-level security is an elusive aspect that drives global efforts to establish robust protective measures.
It’s crucial to note that these security tiers—file access, system level, and network security—are exclusively provided by the Operating System.
Prominent Operating Systems:
The most notable operating systems include:
Contemporary operating systems predominantly employ a Graphical User Interface (GUI). This interface enables users to interact by utilizing a mouse to click on icons, buttons, menus, and other on-screen elements. The GUI presents a clear combination of graphical representations and textual elements for user interaction.