System software is low-level software that generates user interface and enables the computer system communicate with the users and peripherals, they are the files and programs that make up the computer operating system. Kroenke argues that “Debuggers, compilers, assemblers, loaders and linkers” (54) make up the system software, these are in addition to file management tools, text editor, database management systems, software engineering tools and system utilities contribute to the system software.
Types of system software
Basic Input Output System (BIOS) and the device firmware are the basic components that make up the system software; these are programs that enable the computer to control and communicate with the physical devices that make up or are connected to the computer. The operating systems which are programs that manage the utilization of system resources by the application software and control the way users utilize the system also make up the system software, for example Microsoft Windows XP, Vista, Disk Operating System, Sun Solaris and Linux. In addition, Utility softwares, that are used to “configure, analyze, maintain and optimize” computer also constitute the system software (Leland 43).
What makes up system software?
An important component of the system software are the linkers, these are programs that coalesce the several files produced by compilers and combine them into one executable file. Loaders are concerned with loading the executable code object program to the specified memory location for the code to be executed. Utility software which are also called tools, service program, utility routine or tool, service routines are programs designed to assist the computer users to achieve optimum machine performance in terms of software and hardware utilization, this includes Disk Defragmenter, System Profile/Status, virus Scanners, application launchers and compression tools, the utilities provides additional capabilities to the user, from what is offered by the operational system. Shells also constitute the system software.
They interpret user commands so that the operating system can understand and perform the requested functions, for example Bourne shell and the C Shell are used in BSD Unix. Boot loaders also referred to as bootstrap loader, bootstrap and at times combined with boot managers are small computer programs that reside in the Read Only Memory and initiate the transfer of data and other software into Random Access Memory before relinquishing control to the Control Unit. Basic Input/Output System (BIOS) are boot firmware, that executes first when a computer is powered, the software reside in the ROM chip in the motherboard and are used to load Drivers for basic computer operations such Mouse driver, monitor driver and Keyboard driver, Video driver.
Another component of the systems software are Graphical user interface which are tools that are geared towards enabling the computer users to interact with the computer programs in several ways, other that typing commands, for example by use of icons and menus. The common Graphical User interfaces are Mac OS X, Microsoft Windows, and X Window System interfaces, which contains window, icon, menu, pointing device.
System software purposes
The main software that makes up the system software is the operating systems. According to Leland “the purpose of the system software cannot be defined without mentioning the operating system” (60), the purposes of system software are provision of user interface, and this is a means of communication between the computer and the environment. Another function is establishment and enforcement of a job execution priority system, it creates, decides and sustains and order for job execution this is called job management where the software controls the order and time in which programs are executed.
Multitasking is the possibility to execute numerous programs in the same computer system, the act of controlling multitasked operations is called task management. Data management is another purpose which involves identifying the physical location of the data in a storage device, and keeping track of the data. The system software purpose of device management involves the use of drivers, to control hardware peripheral devices, which involves sending the devices such as scanners, printers and plotters commands in a language specific to the device.
Another purpose of system software involves protecting the system from unauthorized access of the data or unauthorized use of the system, such as by use of passwords and encryption, while at the same time keeping activity logs on how the users have utilized system resources. When system failures occur, system software are charged with the responsibility of provided back up data and offering system recovery. The mentioned factions operate seamlessly and transparently.
System Software concerns and challenges
There are several concerns in relation to system software, this includes security concerns. The security of the entire system, including the data and programs installed, may be compromised if the system software develops problems. This may be caused by cracking or hacking the system, existence of flaws which can be utilizes to gain control of the system and unexpected crashes.
Kroenke, David. Using MIS, New Jersey : Prentice Hall. 2008. Print.
Leland, Beck. System Software: An Introduction to Systems Programming. New York: Addison Wesley, 1996. Print.