Introduction to System Software Functions
System software functions are the functions and tasks performed by the operating system. Particularly, when you consider a system, it has two types of functions: system software functions also referred to as the operating system functions. The other type is the application software functions. Application software functions are functions which are performed as per the instructions and commands were written by the developer while developing an application, while the system software functions are internally defined and performed by the operating system that you are using on your device.
Different Types of System Software Functions
Given below are the different types of system software functions:
In any given operating system, the functions and operations that are performed by it can be broadly classified into three types of functions which are as listed below:
- Allocation of Resources
- Monitoring Activities
- Disks and Files Management
Overall the functions which are included in system software functions are as listed below:
- Hardware is assigned to the respective programs as per the needs.
- Schedule the programs on the processor for executing them in a linear and systematic manner.
- The memory is allocated to each and every individual program according to the requirement of the program.
- Input and output devices which are needed by programs are assigned at a time.
- User interaction is done there by understanding the expectations and requirements of the user and responding to them back with an appropriate message or task.
- Management of all the files of the program and data are stored on the secondary storage devices.
- The file directories present in memory are maintained, and the provision of access to the data of the files is provided.
- Maintain the coordination between the software and the user by allocating, assigning and providing the assemblers, compilers, memory, interpreters and other things.
- Maintaining the security and access privileges to various resources of the system.
1. Allocation of Resources
The system software function of the operating system is responsible for maintaining the traffic in the system and deciding the duration and number of resources that a particular program will use.
- Time: The time is measured in milliseconds inside the CPU, which act as time slices. The assignation of a particular number of time slices is done for every task that is to be executed by the CPU. Whenever the assigned time exceeds, another process or task is permitted to execute. In that case, the previous task needs to wait until this task completes its time period. As the time slices are very small, it is hard to detect if they are shared and managed completely internally by the system software. Further, the tasks can be assigned the priorities; in that case, the task with more priority, also called as fore round tasks, are executed and given more time slices as compared to the tasks having low priority that are background tasks which are assigned a smaller number of time slices.
- Memory: There is an obvious limited amount of memory which needs to assigned and shared by multiple tasks. This memory management is also done by system software where all the waiting data can be temporarily stored in a buffer. But here, the system needs to take the extra care while handling buffers as it should not result to the loss of data at any time. Another solution used in this case is the virtual memory. Also, the swapping process is that if the chips of memory are full, then data is paged out to the hard disk.
- Input and output devices: The responsibility of managing the flow of control is also done by system software where all the requests of read and write operations are managed to and from disks, printers and tapes. The pint spooling process is also done where the data is temporarily written in files that a printer can further access to print. This is because the printer cannot print that much amount of data at once, and the time slices of the processor should not get wasted just to wait for the printer to print the things. Thus, print spooling is a good way of optimizing the devices.
2. Monitoring Activities
The system security and performance should be maintained properly.
- System performance: The two crucial parameters which need to be included in system performance include the utilization of CPU and the time taken for a response. The time taken for responding when the input is given to the system should be as small as possible, while the CPU utilization depends on for how much time the CPU is working and the idle time of the CPU.
- System security: The user credentials, including the user id or name and the password, must be maintained in order to allow only permitted users to login and logout of the session to maintain the security when there is a possibility of having multiple users that will be accessing the system.
3. Disk and File Management
Maintaining the track of the files and where they are stored on disk is an essential function. This will add to the performance of your system because when a particular file is required, and the system does not know its location where it is kept, it will take much time to search for the file and retrieve it, which will adhere to the performance. This is why the system comes up with a provision of creating the appropriate directories and other file management functions, including creating a new file, deleting, renaming, cutting, copying and pasting the files, which help the user to properly manage the storage and segregate their files.
Another provision here is to divide the available hard disk into multiple partitions, also known as virtual disks, which help maintain files’ storage.
The system software executes multiple functions: memory management, input and output resources management, time and memory performance and management, and disks and file management.
This is a guide to System Software Functions. Here we discuss the introduction and different types of system software functions. You may also have a look at the following articles to learn more –