COMPUTER SOFTWARE and OPERATING SYSTEMS
COMPUTER SOFTWARE and OPERATING SYSTEMS
Introduction
Software is the collection of computer programs and data that run on a computer, and
which make the hardware useful. It refers to the intangible components of the computer
system. Regardless of the distribution model, computer software has two major
categories namely system software and application software.
1. System Software
System software control and coordinate computer resources so that the computer user
and applications can smoothly interact. System software functions as a bridge between
computer system hardware and the application software. Without system software, a
modern digital computer would be virtually impossible to use. Examples include:
Operating systems, system BIOS, utility programs, device drivers and programming tools.
1.1. Operating System
An operating system is software that manages the computer’s resources both hardware
and software, and provides an interface through which a human can interact with the
computer. It also provides a platform that allows application programs to interact with
system resources like the CPU, memory and input/output resources. The operating
system is the most important software for a computer system.
Without an operating system, every computer program would have to contain
instructions telling the hardware each step the hardware should take to do its job, such
as storing a file on a disk or accessing an I/O device. The operating system containing
these instructions, any program can call on the operating system when a service is
needed. The most common OS are Windows (XP, Vista, 7 and 8), Mac OS x and Linux.
1.2. Device Driver
A device driver is software that allows interaction between the operating system and a
hardware device. It is an interface for communicating with the device through the specific
computer bus that the hardware is connected to. Without an appropriate device driver,
the system cannot communicate with a device, rendering the device useless. Installation
of device drivers usually happens automatically when hardware is connected, or from a
CD provided with the device. Sometimes a driver needs to be updated to stay functional.
1.3. Utility Programs
Utility programs are programs that are used to enhance the operating system, or in some
other way improve the usefulness of the system. They help analyse, configure, optimize
and maintain the computer. Rather than providing user-oriented or output-oriented
functionality, utility software focus on how the computer infrastructure operates. Most
major operating systems come with several preinstalled utilities. Examples of utility
software include: disk defragmenters, backup utilities, disk compression utilities, disk
cleaners, file managers and virus checkers.
• Disk defragmenters: detect computer files whose contents are broken across several
locations on the hard disk, and move the fragments to one location to increase efficiency.
• Disk cleaners: find files that are unnecessary to computer operation, or take up
considerable amounts of space. Disk cleaners help users decide what to delete when their
hard disk is full.
• Backup utilities: make copies of all information stored on a disk, and restore either the
entire disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental
deletion).
• Disk compression utilities: reduce the space that a file takes up on disk, increasing the
capacity of the disk.
• File managers: provide a convenient method of performing routine data management
tasks, such
as deleting, renaming, moving, copying, merging, generating and modifying data sets.
• Disk partition utilities: divide an individual drive into multiple logical drives, each
with its own file system which can be mounted by the operating system and treated as an
individual drive.
• Disk formatters:
• Virus checkers: prevent, detect, and remove malware.
1.4. Programming Software
Programming software provide tools to assist a programmer in writing computer
programs. These tools include:
• Compilers: translate instructions written in a high-level language into machine
language instructions
• Interpreters: translates and executes instructions written in a high-level language into
machine language instructions one line at a time.
• Debuggers: detect and remove bugs. A bug is an error in a computer program.
• Linkers: link parts of a computer program together.
2. Application Software
Application software directs the computer to perform useful work for end users. They are
used to carry out productive work like typing a letter, designing and invitation card,
surfing the Internet, listening to music or watching a movie. Application software
includes a variety of programs that can be subdivided into general purpose software,
special purpose software and custom-written software.
2.1. General Purpose Software
General purpose software is designed for a variety of tasks. It is not limited to one
particular function. They also called generic software and can be found off-the-shelf. That
is, they can be bought from the market. Examples are:
• Word Processors like MS Word,
• Spreadsheets like MS Excel and Lotus 1-2-3
• Database Software like MS Access, dBase, MySQL and Oracle.
• Presentation software like MS PowerPoint, Hyper Studio and Digital Chisel
• Desktop Publishing (DTP) software like MS Publisher, and Adobe PageMaker
2.2. Special Purpose Software
Special purpose software is created to execute a specific task. Examples are web
browsers, game applications, weather forecasting applications, media players etc.
2.3. Custom-Written software
Custom-written software is designed for a specific user and purpose. It is created
specifically for the needs of a user or organization. It is tailored to their exact
requirements. It is also called tailor made software or bespoke software.
Functions Of OS
An operating system executes many functions to operate computer system efficiently.
Among them, four essential functions are the followings.
➢ Resource Management: An operating system manages a collection of computer
hardware resources by using a variety of programs. It manages computer system
resources, including its CPU, primary memory, virtual memory, secondary storage
devices, input/output peripherals, and other devices.
➢ Task Management: The function of the operating system that controls the running
of many tasks. It manages one program or many programs within a computer system
simultaneously. That is, this function of operating system manages the completion of
users' tasks. A task management program in an operating system provides each task and
interrupts the CPU operations to manage tasks efficiently. Task management may involve
a multitasking capability.
➢ File management: This is a function that manages data files. An operating system
contains file management programs that provide the ability to create, delete, enter,
change, ask, and access of files of data. They also produce reports on a file.
➢ User Interface: It is a function of an operating system that allows users to interact
with a computer. A user interface program may include a combination of menus, screen
design, keyboard commands. A well-designed user interface is essential for an operating
system to be popular. Because of the function, users can load programs, access files, and
accomplish other tasks.