Features of an operating system
Scheduling
The task of handling how active processes are making efficient use of the CPU processing cycles
is called scheduling. There are many ways of doing this, which is covered in another mini-
website.
Memory Management
The operating system has to make sure that applications are able to run in the amount of memory
available and that they do not interfere with one another. There is a separate mini-website on this
topic.
Allocation of resources
The operating system will provide a working area for each user. This includes
Disk space quota for their files ( especially on shared network drives)
A personal GUI set up for each user (multi-user operating systems)
Perhaps how many processing cycles they are allowed to use (especially on mainframe)
How much printer output they are allowed (networked and mainframe)
How high a priority they can assign to a job (mainframe)
Keeping track of usage
The cost of using large computers is shared amongst the users. So the operating system will have
an accounting / tracking system in place that :
Counts the processing cycles used per user
Print out jobs completed
Batch jobs completed
Time spent logged in
Other resources used
And so on. A regular bill is then sent to the user account providing an itemised charge.
Data and User security
Each user has to be authenticated with an username and password (network and multi-user
operating system).
Their data and files will be kept private from other users, unless they choose to make some
shareable with others. The operating system will only allow administrators ('super users') to
change parts of the operating system and install applications.
Providing system services such as print spooling
Printing out is a time consuming process, so it makes sense to allow users to hand-off a print job
to the operating system so they can get on with other things. This is called 'print spooling' and is
common on multi-user and networked operating systems.
Managing input / output
Data and applications are stored on secondary storage devices such as hard disks, optical drives,
magnetic tape when not in use. The operating system has a file management system that allows
the user to organise their files, to move, delete and copy files as they wish.
Specialised input devices such as graphics tablets and scanners are also handled by the operating
system.
Handling Network communication
Data packets traveling to and from the connected computers on the network are handled by the
operating system. When an user drags a file from their hard disk to a shared networked drive,
they do not care how it happens - the operating system takes care of all the details.