A system software is a specific type of software that manages a computing device. The system software comprises the operating system, utility programmes, and device drivers. We will look at each of the three parts.
The system software is a collection of programs designed to operate, control, and extend the processing capabilities of the computer itself. System software is generally prepared by the computer manufacturers. These software products comprise of programs written in low-level languages, which interact with the hardware at a very basic level. System software serves as the interface between the hardware and the end users.
Some examples of system software are Operating System, Compilers, Interpreter, Assemblers, etc.
Here is a list of some of the most prominent features of a system software −
- Close to the system
- Fast in speed
- Difficult to design
- Difficult to understand
- Less interactive
- Smaller in size
- Difficult to manipulate
- Generally written in low-level language
AN OPERATING SYSTEM
An operating system is software that manages hardware, software and other applications on a computing device. The operating system has different functions and tasks it carries out on a computing device. In order to make these functions easy to understand, they are grouped into the following categories:
- Disk management: Used to manage the drives installed in a computer e.g. partition drives, format drives, assign drive letters.
- Hardware management: Managing the interaction between hardware and software, as well as the different hardware devices.
- Graphics User Interface (GUI) management: Provides and manages the user interface that interacts with graphics and visual content on a computing device.
- I/O management: Managing the signals received from an input device and sending the correct signals to an output device.
- Process management: Managing the applications and the resources used by applications (Apps) on a computing device.
- File management: Managing the storage of files and folders on your storage device.
- Memory management: Managing the data stored on a computing device’s memory and once the processing is complete, this function tends to free up some space.
- Storage management: Processes used to improve the performance of data storage resources.
Types of operating systems
Up to now, you have been learning about and working with Microsoft Windows as an example of an operating system. This particular type of operating system is commonly known as a stand-alone operating system. In this unit, we will focus on the following three types of operating systems namely, stand-alone, network and embedded operating systems.
THE STAND-ALONE OPERATING SYSTEM
These operating systems function entirely independently from a network on a computer or mobile device. This ensures that the tasks of an operating system can be performed on the device.
THE NETWORK OPERATING SYSTEM
Network or server operating systems are operating systems designed to help computers work together on a network, rather than used in a stand-alone mode. For example, a large company may have a server running the Windows Server operating system in the organisation. A computer can connect to the same network to gain access to its information, resources, etc. Examples include: Windows Server, Red Hat Enterprise, Ubuntu Server, and UNIX.
THE EMBEDDED OPERATING SYSTEM
The embedded operating system is designed for a specific purpose e.g. Smart TVs that connect to the internet, a video camera (Wi-Fi) that can stream live footage and the GPS system that is installed in most mobile devices.
Compiler
A compiler is a special program that processes statements written in a particular programming language and turns them into machine language or "code" that a computer's processor uses. Typically, a programmer writes language statements in a language such as Pascal or C one line at a time using an editor.
Interpreter
In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.
Assembler
An assembler is a program that converts assembly language into machine code. It takes the basic commands and operations from assembly code and converts them into binary code that can be recognized by a specific type of processor. Assemblers are similar to compilers in that they produce executable code.
Difference Between Compiler Interpreter and Assembler
Functionality
Compiler converts the whole high level language program to machine language at a time. Interpreter converts the high level language program to machine language line by line. In contrast, assembler converts assembly language program to machine language.
Language
Languages such as C, C++ use compilers to convert the code. Languages such as Ruby, Perl, Python, PHP uses an interpreter and assembly language uses an assembler.
Conclusion
Compiler, Interpreter and Assembler are language translators. The difference between compiler interpreter and assembler is that compiler converts whole high level language programs to machine language at a time while interpreter converts high level language programs to machine language line by line and assembler converts assembly language programs to machine language.