System software is a set of programs that control or maintain all the operations of the computer and its devices, such as the CPU, communication links, and peripheral devices.
System software serves as the interface between the user, the application software, and the computer’s hardware.
System Software Includes:
- An Operating system and Device Drivers
- Utility Programs and
- Programming Languages (Translators and Library Programs)
An operating system is a generalized program that manages and coordinates all the activities taking place within a computer system.
The operating system functions as a middleman between the user and the computer, as well as between application software programs and the hardware devices.
To communicate with the hardware devices, the operating system relies on device drivers.
A device driver is a program that accepts instructions and then converts them into commands that the device understands.
Each device on a computer, such as the keyboard, mouse, monitor, printer, card reader/writer, and scanner, has its own device driver.
How the operating system acts as a middleman between the user, the input, processor and the output devices
Where does the OS reside?
In most cases, the operating system is installed and resides on the computer’s hard disk.
During the boot process, usually the operating system will look first in drive C: (the designation for the hard disk drive) for the OS system files.
On handheld computers and many mobile devices such as smart phones, however, the operating system may reside on a ROM chip.
The Kernel of the OS
This refers to the core of an operating system, responsible for managing memory, files, and devices; maintaining the computer’s clock; starting applications; and assigning the computer’s resources.
Each time you turn on the computer, the kernel and other frequently used instructions in the operating system are copied from the hard disk to the computer’s RAM
The term ‘Software Platform’
The operating system that a computer uses sometimes is called its software platform.
When you purchase application software, the package identifies the software platform on which it runs.
A cross-platform application is one that runs on multiple operating systems.
Often, these cross-platform applications contain multiple versions, each corresponding to a different operating system.
Functions of an Operating System
Most operating systems provide similar functions that are outlined as follows :
a)Starting a computer, (Booting the computer)
b)Providing a user interface,
d)Configuring devices, (Device drivers are often needed). Plug and Play devices are recognized automatically.
f) Providing file management.
i)Coordinating tasks, and Spooling.
k)Establishing an Internet connection
Functions of an Operating System
a) Starting a computer, (Booting the computer)
The process of starting or restarting a computer is called booting.
The process of turning on a computer after it had been powered off completely is known as cold booting.
Warm booting is the process of restarting a computer that already is powered on.
When you install new software, often an on-screen prompt instructs you to restart the computer. In this case, a warm boot is appropriate.
On start up, the OS may verify that the person attempting to use the computer is a legitimate user through use of a password.
After the user logs on, the desktop and icons are displayed on the screen.
Finally, the operating system also executes programs in the Startup folder, which contains a list of programs that open automatically when you boot the computer.
Turning off the Computer
When you instruct the computer to Turn Off, (See figure), the operating system properly closes any open processes and programs, saves your settings, and shuts down the computer.
b) Providing a User Interface
Computer users interact with software through its user interface.
A user interface is the part of the software with which you interact; it controls how data and instructions are entered and information is presented on the screen.
It is through the user interface of an operating system that you communicate with the computer.
Types of user interfaces
Three types of user interfaces are:
i.command-line interface (CLI),
ii.menu-driven interface (MDI), and
iii.graphical user interface (GUI).
Most operating systems use a combination of these types of user interfaces to define how you interact with your computer.
-With a command-line interface, you type keywords such as COPY , RENAME or DEL, using the keyboard to enter instructions.
-A keyword is a special word, phrase, or code that a program understands as an instruction.
When working with a command-line interface, the set of commands you use to interact with the computer is called the command language.
Command-line interfaces often are difficult to use because they require exact spelling, grammar, and punctuation.
Minor errors, such as a missing period, generate error messages.
Command-line interfaces, however, give a user more control to manage detailed settings, and execute programs faster.
Shown here are some typical CLI commands.
NB To view a list of more common commands, type help at the command prompt.
A menu-driven interface provides menus as a means of entering commands.
Menu-driven interfaces are easier to learn than CLI because users do not have to cram keywords for commands.
The characteristic of being easy to learn and use is described as being user-friendly.
Most of today’s software programs have a graphical user interface (GUI).
A GUI is a user Interface in which visual images such as icons and buttons are used to issue commands.
Of all the interfaces a GUI typically is the most user friendly, because it does not require you to know any command language.
Disadvantages of a GUI as compared to CLI
- GUI requires the computer to have more RAM as compared to Command Line.
- Command line instructions execute faster than GUI instructions.
Examples of Elements/ Objects of a GUI
Examples of Elements/ Objects of a GUI
- Command Buttons
- Drop Down Lists
- Check boxes
- List Boxes
- Dialogue boxes
- Scroll bars
- Radio Buttons
- Preview areas
- Slider buttons
- Text boxes
A GUI menu displays a set of available commands or options from which you choose one or more.
An icon is a small image that represents an item such as a program, an Instruction, or a file.
c) File management
The operating systems help to organize files and folders on a computer’s hard disk drive.
What is the difference between a file and a folder?
A file is a collection of bits that have been processed and stored in secondary memory.
A file may be a document that may contain characters such a letter, a database, a computer program, a song, a picture, etc.
A folder is a directory that usually contains related information. A folder can contain both files and other sub folders.
Folders are represented by a folder icon.
The operating system also assigns a special graphic known as an icon to each file type.
Each file type is differentiated by its unique file extension.
A file extension is a suffix to the name of a file applied to indicate the file format.
It is separated from the base filename by a dot
d) Managing Programs
Operating systems can support just one user running one program or many of users running multiple programs.
These various capabilities of operating systems are described as
(i) single tasking,
(ii)Single-user and multi-user,
(iii) multitasking, and
A single user-single tasking operating system allows only one user to run one program at a time, While
A single user-multitasking operating system allows one user to work on two or more programs that reside in memory at the same time.
A multi-user operating system enables two or more users to run programs simultaneously. For example, mainframes, allow hundreds of users to connect at the same time.
A multiprocessing OS manages coordinated processing of data by more than one processor. Multiprocessing increases a computer’s speed and helps in fault tolerant systems.
When a computer is running multiple programs concurrently, one program is in the foreground and the others are in the background.
To make a program active, click on its tab on the taskbar or its window.
This causes the operating system to place it in the foreground.
In addition to application programs, an operating system manages other processes.
Some of these processes are memory resident.
They include utilities and routines that provide support to other programs or hardware.
e) Managing Memory
The purpose of memory management is to optimize the use of RAM. RAM holds data and instructions while the processor is using them.
The operating system allocates, data and instructions to an area of memory while they are being processed, and carefully monitors the contents of RAM.
Finally, the operating system releases these items from RAM when the processor no longer requires them.
If you have many programs running at a go, it is possible to run out of RAM. So, the OS may have to use virtual memory.
With virtual memory, the operating system allocates a portion of a storage medium, usually the hard disk, to function as additional RAM.
As you interact with a program, part of it may be in physical RAM, while the rest of the program is on the hard disk as virtual memory.
Users may notice the computer slowing down while it uses virtual memory, because virtual memory is slower than RAM.
The area of the hard disk used for virtual memory is called a swap file
f) Coordinating Tasks
The operating system determines the order in which tasks are processed.
A task, or job, is a piece of work or operation that the processor manages.
Tasks include receiving data from an input device, processing instructions, sending information to an output device, and transferring items from storage to memory and from memory to storage.
Thousands of tasks can be going on in a computer simultaneously.
Sometimes, a device may be busy processing one job when it receives a second job.
This occurs because the processor operates at a much faster rate of speed than peripheral devices.
For example, if the processor sends five print jobs to a printer, yet the printer can print only one document at a time.
When this happens, the OS allocates/assigns memory to the jobs in the execution queue in an area called the buffer.
A BUFFER is an area of memory or storage in which data and information is placed while waiting to be transferred to or from an input or output device.
Operating systems typically use a technique called spooling to increase computer system efficiency.
SPOOLING refers to the process of putting tasks that need to be done into a buffer until they can be executed.
The operating system commonly uses a print spooler with print jobs. A print spooler, intercepts documents to be printed from the operating system and places them in the queue in the buffer.
As soon as the print job is placed in the buffer, the CPU is available to process the next instruction.
Spooling increases both processor and printer efficiency by placing print jobs in a buffer on disk before they are printed.
g) Configuring Devices
If you add a new device to your computer, such as a printer, its driver must be installed before the device will be operational.
For devices with Plug and Play support, the OS recognizes the new device and loads the necessary drivers automatically.
It also checks for conflicts with other devices.
For devices that are not Plug and Play, Windows operating system provides a wizard to guide users through the installation steps.
If you have an Internet connection, the Wizard will search an online repository of device drivers.
If Windows still is unable to find a driver, you can download one from the manufacturer’s Web site manually.
Alternatively, you can install the drivers from a
CD-ROM provided with the purchased device.
h) Establishing an Internet Connection
Operating systems typically provide a means to establish Internet connections.
This is through a “Connect to a network” Wizard that guides users through the process of setting up a connection between a computer and an Internet service provider.
Some operating systems also include a Web browser and an e-mail program, enabling you to begin using the Web and communicate with others as soon as you set up the Internet connection.
i) Monitoring Performance
The OS monitors the performance of the computer system.
It keeps track of each computer job, the various system resources and devices, the processor usage, the amount of unused physical RAM, and network usage.
Operating systems typically contain a performance monitor.
A performance monitor is a program that assesses and reports information about various computer resources and devices.
The information in performance reports helps users and administrators to identify a problem with the resources so they can try to resolve any problems.
j) Administering Security
The OS helps users to administer computer access security by use of a user name or user ID and a password, before a user logs on to, a computer.
After entering a user ID and password, the operating system compares the user’s entry with a list of authorized user names and passwords.
If the entry matches the user name and password kept on file, the operating system grants the user access.
To protect sensitive data and information as it travels over the network, a network operating system may encrypt it to prevent unauthorized users from reading the data.
Encryption is the process of encoding data and information into an unreadable form.
When an authorized user attempts to read the data, it is decrypted or converted back into a readable form.
TYPES OF OPERATING SYSTEMS
- Early operating systems were proprietary and device -dependent.
- A device-dependent program is one that runs only on a specific type or brand of computer.
- Proprietary software is privately owned and limited to a specific computer model.
- The trend today is toward device-independent operating systems that will run on computers provided by a variety of manufacturers.
- Three basic categories of operating systems exist today.
- They are stand-alone OS, network OS, and embedded OS.
Stand-alone operating systems
A stand-alone operating system is a complete operating system that works on a PC.
Examples of popular stand-alone operating systems include:
Mac OS X, UNIX, Linux, MS-DOS and
Windows (XP, Windows Vista, Windows 7, Windows 8, etc.).
Macintosh operating system was released in 1984 with Apple’s Macintosh computers.
Mac OS X includes features such as a GUI, multitasking, large photo-quality icons,
built-in networking support, email, online shopping, enhanced speech recognition,
CD burning, and enhanced multimedia capabilities.
UNIX is a multitasking operating system developed in the early 1970s by scientists at Bell Laboratories.
Some versions of UNIX have a command-line interface, and others offer a graphical user interface.
Power users often work with UNIX because of its flexibility and power.
Manufacturers such as Sun and IBM often sell personal computers and workstations with a UNIX operating system.
Linux is one of the fastest growing operating systems.
Linux is a free, open source, UNIX-like operating system.
Open source software means its code is provided for use, modification, and redistribution. It has no restrictions from the copyright holder.
Some versions of Linux are command-line. Others are GUI.
Linux comes with very many utilities and applications such as open office.
A Live CD of Linux allows users to boot from it and preview the operating system without installing it.
- In the early 1980s, Bill Gates’ Microsoft Corporation introduced DOS (Disk Operating System) as its first operating system for IBM PCs.
- DOS originally used a command-line interface.
- Later versions of DOS included both command-line and menu-driven user interfaces.
- Today, DOS is rarely used because it does not offer a graphical user interface and it cannot take full advantage of modern computer microprocessors.
- Microsoft introduced an operating environment named Windows 1.0 on November 20, 1985.
- It was Microsoft’s first attempt to implement a multi-tasking graphical user interface-based operating environment on the PC platform.
- Since then, Many versions have been released, each with various new innovative features and functions.
- These include Windows 2.0, Windows 95, 98, Me, Windows NT 3.1, Windows 2000, Windows XP, Windows Vista, Windows 7 and the new Windows 8.
Network Operating Systems
- A network operating system (NOS) is an operating system that supports a network and typically resides on the server.
- Some stand-alone OS systems include networking capability.
- However, network operating systems are designed specifically to support all sizes of networks.
- Examples of network operating systems include Windows Server 2003, 2008, Solaris, and NetWare, UNIX server, and Linux server.
Embedded Operating Systems
An embedded operating system is an operating system that resides on ROM chips and typically used on handheld computers and small devices.
Popular embedded operating systems today include Windows Embedded CE, Windows Mobile, Palm OS, Embedded Linux, and Symbian OS.
Embedded Operating Systems
Factors to consider when choosing an operating system
When choosing an operating system for a computer the following factors may be considered:
- The type of computer in terms of size and make. Operating systems are available for all sizes of computers.
- The hardware configuration of the computer such as the memory capacity, processor speed and hard disk capacity should meet the required minimum requirements for a the operating system to run well.
- The application software to be installed on the computer should be supported by the operating system. For example Microsoft Office 2010 cannot run on Windows 2000.
- The operating system should be user friendly. This depends on the skills of the intended users of the computers.
- The operating system should have adequate information and help guides for user reference.
Utility software refers to system software designed to analyze, optimize and maintain a computer in good working conditions.
Utility software usually focuses on how the computer system operates.
Although operating systems typically include some built-in utilities, many stand-alone utility programs are available.
Examples include Anti virus utility, Screen Saver utility, File compression utility, and Other utilities.
1. Anti virus utility
A computer virus, is damaging program that affects a computer negatively by altering the way the computer works without the user’s knowledge or permission.
Once a virus is in a computer, it can spread throughout and damage your files and OS.
Anti virus utilities are programs that scan for computer viruses, remove, disinfect and repair damaged files.
2. Screen Saver Utility
SCREENSAVERS were originally designed to prevent phosphor burn-in (ghosting) on CRT monitors,
A screen saver is a program that automatically fills the computer’s VDU (Visual Display Unit) with moving images or patterns when the computer is not in use.
Currently, screensavers are used primarily for entertainment, advertising or security purposes.
3. File compression utility
A file compression utility shrinks the size of a file. A compressed file takes up less storage space than the original file.
Compressed files, sometimes called zipped files, usually have a .zip extension.
Attaching a compressed file to an e-mail message reduces the time needed for upload and download.
When you download a compressed file, you must uncompress it to restore it to its original form.
Other utility software categories
4.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).
5. DATA COMPRESSION utilities output a shorter stream or a smaller file when provided with a stream or file.
6. DISK CHECKERS can scan the contents of a hard disk to find files or areas that are corrupted in some way, or were not correctly saved, and eliminate them for a more efficiently operating hard drive.
7. DISK CLEANERS can find files that are unnecessary to computer operation, or take up considerable amounts of space. Disk cleaner helps the user to decide what to delete when their hard disk is full.
8. DISK COMPRESSION utilities can compress the contents of a disk to small amounts of memory. They also un compress/ expand the compressed files.
9. DISK DEFRAGMENTERS can detect computer files whose contents are broken and spread across several locations on the hard disk, and move the fragments to one location to increase efficiency.
10. DISK PARTITIONS can 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.
11.ARCHIVE utilities output a stream or a single file when provided with a directory or a set of files. Archive suites, at times include compression and encryption capabilities.
12.CRYPTOGRAPHIC utilities encrypt and decrypt streams and files.
13.REGISTRY CLEANERS clean and optimize the Windows registry by removing old registry keys that are no longer in use.
14. FILE MANAGERS provide a convenient method of performing routine data management tasks, such as deleting, renaming, cataloging, moving, copying, merging, generating files and modifying data sets.
15. MEMORY TESTERS check for memory failures.
16. NETWORK utilities analyze the computer’s network connectivity, configure network settings, check data transfer or log events
17. A SPYWARE REMOVER is a utility that detects and deletes spyware and other similar programs.
Spyware is a program placed on a computer without the user’s knowledge that secretly collects information about user, often related to Web browsing habits.
18. INTERNET FILTERS are utilities that remove or block certain items from being displayed.
Four widely used filters are anti-spam programs, Web filters, phishing filters, and pop-up blockers.
19. SYSTEM PROFILERS provide detailed information about the software installed and hardware attached to the computer.
20.SORTING UTILITY for organizing files in any chosen order.
21. MERGE UTILITY for Merging or combining different files in one.
22. HEX EDITORS directly modify the text or data of a file a program.
23. A SEARCH UTILITY is a program that attempts to locate a file on your computer based on criteria you specify.
24. A PERSONAL FIREWALL is a utility that detects and protects a personal computer from unauthorized intrusions.
25. An UNINSTALLER is a utility that removes a program, as well as any associated entries in the system files.
26. A DIAGNOSTIC UTILITY compiles technical information about your computer’s hardware and certain system software programs and then prepares a report outlining any identified problems.
27.SYSTEM MONITORS for monitoring resources and performance in a computer system.
A programming language is a notation for writing computer software.
Programming languages are can be used to create the procedures and specifications of a computation or algorithm.
NB: Examples of popular programming languages include:
- FORTRAN (FORmula TRANslator)
- BASIC (Beginners’ All-purpose Symbolic Instruction Code)
- Visual BASIC
- COBOL (COmmon Business-Oriented Language)
- C and C++
- Pascal, Perl
When computers execute programs written in languages such as BASIC, C, Java, etc., the computer must convert these humanly readable instructions into a form it can understand.
System software contains the special language translation programs that translate these higher-level language programs into machine language that the computer can execute.
System software includes a compiler, interpreter, and assembler.
The program in the high-level language before translation into machine language is called source code.
A compiler translates source code into machine binary code called object code.
Some programming languages such as BASIC do not use a compiler but an interpreter.
An interpreter translates each source code statement one at a time into machine code and executes it.
An assembler is similar to a compiler, but it is used to translate only assembly language into machine code.
THIS VIDEO SHOWS THE DIFFERENCE BETWEEN SYSTEM AND APPLICATION SOFTWARE