System Software
The Operating System (OS)
The computer hardware is unusable without an operating system. When we purchase a PC it is the one item of software we expect to be provided along with the hardware.
The OS is the software which makes the hardware usable. This is obvious but we need to appreciate what the computer system has to perform behind the screens.
Consider the following example:
You load the word processing software and at the end of the session save the document.
You simply have to key in a document name and click the save button. Consider what the operating system is doing behind the screens.
The OS must:
• check that the document name is valid.
• check that there is sufficient free disc space.
• If so, decide which sectors on the disc it will use for storage of the file.
• mark these sectors as used.
• remove these sectors from the list of 'free space' on the secondary storage.
• make a new entry in the file directory for the device.
This suggests that the purpose of any operating system is to:
• hide the complexity of the computer hardware away from the user.
• provide a user-friendly interface between the user and the computer hardware.
The discussions so far are points which would apply to any computer system. We shall now study computer systems which operate in a specific way.
Batch processing OS
Before the advent of the microcomputer the majority of computer usage was batch processing. A program would be loaded together with the data which the program would process and the printed output produced.
Key features
Characteristics of any batch processing system are given here.
• All aspects of the processing occur as a 'batch'
> The data is collected and entered as a batch
> The data is all processed at the same time (i.e. as a batch)
> The output is also produced as a single 'batch' of documents.
• This may result in an acceptable time delay between the data entry stage and final production of the output
• The 'job' once started will run to completion without any interaction from the user.
Applications which require a real-time OS therefore are process control type applications.
Key features
Characteristics of real-time processing are:
• there is a continuous cycle of input-processing-output called a feedback loop
• the inputs may not be sequential in nature
• the nature of the output(s) will affect the next input
• events (and so inputs) may occur in parallel and a intermittent intervals.
Transaction processing
Some computer applications require the processing and outputs to take place quickly but on a time scale of seconds (rather that fractions of a second as with our greenhouse application).
Consider purchasing concert tickets from a ticketing agency. Once a reservation is made for tickets, the reservation data must be brought up-to-date immediately as each new reservation transaction is completed. If not, the likely outcome will be a 'double booking: Modern websites will often 'reserve' the selection made by the user for around two minutes, to give the user sufficient time to make payment for the tickets selected.
Single-user - Multi-user OS
A stand-alone microcomputer system will require a single-user operating system. This is clouded by the ability to create different user profiles for use on the same computer, but when the computer system is in use it is always a single-user system.
Multi-user means the computer system can be concurrently used by several users.
Network OS
Each computer on the network will have its resident operating system software. Communication across the network is provided for with another layer of software called the network operating system.
Tasks for the network OS include:
• control of access to the network (user IDs and passwords)
• management of all available resources (for example, a printer)
• management of all users' data files.
Multiprogramming
When using a stand-alone computer we almost take for granted that we can have several programs concurrently loaded. Strictly we should use the term 'process'. For example, there may be two copies of the word processor program loaded and the OS will treat each of these as a separate process. However, remember that there is only one processor and so - although there are several programs loaded into the main memory - the processor is only ever actually processing one of the processes at any one time.
Multiprogramming is the ability to have more than one program concurrently loaded in main memory.
• For the Windows operating system we can see the loaded programs sitting on the task bar.
• Running the 'Task Manager' utility will display the list of processes loaded.
Note
Some of the OS classification descriptions are not mutually exclusive.
A multi-user operating system is likely to be provided for by on a network; the operating system therefore provides both network and multi-user usage.
User interfaces
We have already stated that it is a key role of the operating system to provide the user of the computer system with an interface through which the computer hardware is made usable.
Forms based interface
Many applications are web-based and require the completion of a form for data capture. The screen shows the entry of the data for ordering a pair of spectacles on-line. The form will contain the usual 'widget' controls for data entry including:
• text boxes
• radio buttons
• check boxes
• drop-down lists.
Graphical User Interface (GUI)
A GUI uses:
• windows (This means a 'program window' and not the Windows operating system)
• icons
• menus
• pointing device (for example, a mouse).
Hence a graphical user interface is called a 'WIMP' interface. The Windows Explorer program uses multi-level menus. The desktop and taskbar has icons to represent various programs.
A more recent trend is to organise the menu selections using ribbons and tabs.
Command-line interface
The user is presented with a command line prompt. The user must learn and then use the commands. The traditional command-line interface on the PC was the early MS-DOS operating system from Microsoft.
One such command is 'dir' which displays a list of all the folders and files in the current folder/directory. Command line interfaces have the advantage that once the commands have been learnt an expert user can quickly use the computer system.
Natural language interface
Natural language processing is the ability to communicate with the computer system using natural language. This is one step on from simply carrying out a keyword search.
Consider a search for the text 'Which district in Singapore has the largest population outside Ang Mo Kio'. A keyword search would only focus on the keywords 'population' and 'Ang Mo Kio'. A natural language search, attempts to use natural language to understand the nature of the question and then return matches which answer the question.
If the natural language search is successful, results should have a higher relevance than results from a keyword search using a search engine. The website Ask.com would claim to use natural language processing for the analysis of search engine text.
Menu-driven Interface
The majority of windows-based applications software is menu-driven. That is the user is presented - in various possible forms - with a number of menu choices. Making a selection may result in a second or more set of choices being presented.
Note
There's an interesting paradox here in that natural language, the system that is easiest for humans to learn and use, is the hardest for a computer system to master and implement!
Utility software
What was classified as a utility some 15 years ago would have been clear. The issue now is that, as operating systems now provide more and more features, tasks we would have previously labelled a 'utility' may well now be packaged as part of the OS.
Disc formatter program
Formatting a disc requires the setting up of the block markers on each track. The screenshot shows the format of a pen-drive with Windows 7 and the screen shows the size of the blocks which the FAT filing system will use. The size of all blocks written to the disc is 16 kilobytes.
A disc must be formatted before it can be used.
Disc defragmenter
As the disc becomes more and more used for the saving of files, the blocks used for a file become scattered over various tracks and sectors. The result is that files may take longer to load, as all the required blocks need to be retrieved and this will require several movements of the read/write head of the disk drive.
Defragmenter software rearranges the blocks that are used for each file so that the blocks are contiguous. This will result in fewer movements of the read/write head and hence faster retrieval of the file.
Disc cleanup
Following heavy use, some of the blocks on the surface of the disc may become damaged. These blocks must be marked as unusable so that the file management module of the OS will not attempt to use them.
Virus checker
All computers should have one! The virus checker program will make reference to a database of known viruses and then report if a virus file is found on the computer. The virus checking software will then 'quarantine' the suspicious file, ready for its removal. The database of known viruses must be continually kept up-to-date. A virus is just one type of malware which can cause harm to the computer system.
Hardware driver
New hardware when developed will be designed so that it can be used with a variety of operating systems. What makes this possible is a program called a device driver. A driver program is designed to allow successful communication between the operating system and the hardware device.
File management
The operating system will come with commands/programs to manage the files on the computer system.
File management includes:
• organising files into folders/ directories
• deleting files
• moving/ copying files.
File compression
Some files by their very their nature, for example, video and graphics files, are large. Reducing the size of any file is clearly desirable as:
• it takes up less storage space on the secondary storage device
• the file size may be critical if the file is to be attached to an email and then sent over the Internet.
The overhead with file compression is that we need software to perform the task and then software to 'extract' a compressed file.
Archiving utility
This may be a utility in its own right or a feature which is part of an application such as an email client program. An email client program (such as Microsoft's Outlook) has a facility to archive old and unwanted emails. When the files are archived file compression will take place.