--- Operating systems and application systems ---


Describe the main functions of an operating system.

Teaching Note:

This is confined to a single-user operating system. Technical details are not needed. For example, memory management should be described but how this is handled in a multitasking environment is not expected.


One of the functions of an operating system is file maintenance.
(a) State two functions of file maintenance. [2 marks]


JSR Notes


To understand the context in which we find an operating system, you should know some other terms too, like hardware, system software, and application software.

Hardware vs. Software:
Hardware is all of the parts of a computer system you can physically touch; the keyboard, the monitor, the hard drive, the motherboard etc. Software are the computer programs loaded onto a computer.

System Software vs. Application Software:
System software are all of the software programs that run the computer and various hardware, whereas application software are the program used by the user to apply the compuer in some useful way, like Chrome, Photoshop or Solitaire.

Operating systems are a particular kind of system software. But the OS is not the only system software; to just pick one other important category of system software, hardware drivers are software programs made by hardware companies to run their specific hardware.

Operating System:
The operating system is the collection of software programs that run the computer, or phone, or other complex IT device. (...add interface between hardware and software?...) And this is a key point: An operating system is not just one thing; it is defined collectively by all of the various jobs that it does in operating the computer. (Many of those jobs will be listed below.)

The OS is basically the core of the software that comes pre-installed on a machine, though other application software such as iTunes, or Solitaire might also come packaged with the computer when it is sold.

- Examples of operating systems: Mac, DOS, Windows, Windows 8 etc., UNIX, Linux (a free version of UNIX) iOS, Android, Symbian,


Higher vs. Lower Level Operations of an OS

"Higher" Level operations

Operating systems do many things at a "higher" level, meaning closer to the user, indeed things that the user can interact with.

So along with doing many other things deep within the computer, one main function of the operating system (OS) is to provide the interface between user and machine. And part of an OS's interface capabilities will be an actual user application that provides the user interface, and allows the user to manage the files of the computer. On a Mac, it is called the Finder, and on Windows machines it is called Windows Explorer. Do remember that while the graphical user interface (GUI) is one part of the OS, it is not the entire OS itself - it is just the part that the user sees and interacts with.


"Lower" level operations

What is meant by "lower" level operations is all the things that the computer has to do to run itself which the user has no control over, and which the user is basically unaware of.

The lowest level of the operating system is referred to as the Kernel and there are several other distinct layers of software above it, all the way up to the user interface.

Among the fundamental operations that the Kernel is responsible for is BIOS operations (Basic input and output system), though upon startup, even more basic BIOS operations are loaded right from the ROM.

Some operating systems provide both a graphical user interface and also a console input option for advanced users. Example of console input: Terminal on Mac.


In the case of this assessment statement, do read on, and use all of the information below. And ultimately be prepared, from all of this information, to do what the assessment statement points to: describe the functions of an operating system. The more of the list below you can remember, the better - use a Mnemonic, perhaps? And the more you can demonstrate your appreciation of the high-level/low-level dual nature of operating systems (as described in the above section) the better.

List of OS Operations

(As a good assignment, which of the following would be higher level and which would lower lever?)

Input/Output (I/O) Control – There needs to be a software interface between all peripherals and the computer; so here we’re talking about management of communication between the computer and all sorts of peripherals, like mice, keyboards, and printers, to name a few. (lower level)

File Maintenance – This is all the lower level file organization that is required to keep things functioning properly.  The File Allocation Table, in particular has to be managed and maintained so that files are able to be found – and not just user files, but files used by the computer itself. (lower level)

File Management - This is the user-level management of user files and folders a la Windows Explorer on Windows machines or the Finder on Macs. (higher level)

Software/hardware interface – All applications have to be able to properly access the various hardware they need, to do what they do.  As does the operating system itself, in fact. (lower level) (JSR Note: so what's the difference between this and drivers...)

Drivers Management - Drivers are programs that operate specific hardware; the OS is responsible for interfacing with drivers, and making use of them. For example, you install a driver for your printer, or a fancy joystick. (more lower level than higher level) The OS works with the driver software to know how to use certain hardware. Jose: But keep in mind that even CPUs and GPUs require instructions for hardware to know how to operate them.

Memory Management – All activities that are going on in the computer would take all of the RAM if they could, so something has to parcel out the memory in a fair, and efficient manner, prioritizing as it goes. (lower level)

User Interface – This is the Finder/Windows Explorer etc.  It allows the user to interact with the computer, and to set it up in an optimal way for his/her particular circumstances. (higher level - like the GUI)

Software Execution Control – This is the management itself of what applications run, and when. (See Activity Monitor in a Mac to realize there are all sorts of different little helper applications running at any one time (lower level)

Security -  Everything from firewalls to user accounts to permissions are all part of this most important category of tasks. (lower level but managed by user too, so higher level also)

Virtual Memory Management – Virtual memory is the use of the hard drive as RAM memory; it’s obviously slower, but almost all applications do use virtual memory, though they continually swap in and out of RAM the most important information needed. Example of a huge Minecraft mod taking up 5 GB, but a user only having 4 GB of RAM, so some of the mod pack can go into virtual memory on the hard drive, even though it won't be as fast as the reall RAM.

(Virtual memory is not as important now-a-days as it once was, particularly with the 4 GB RAM limit being surpased with the move from 32 bit systems to 64 bit systems, which can address more than 4 GB of RAM.)


Matching Exercise

As an exercise, try to match up the following functionality with the list above of operating system operations. (They should match up one-to-one.):

>> Checking to see if a password entered is correct - ____________________

>> Allow a new printer to be able to be used (not outputting the print job itself, but allowing the computer to interact with the printer) - ____________________

>> Output sound to a speaker. - ____________________

>> Creating folders and sub folders for the user organize their files. - ____________________

>> Allow the user to customize the way they want to use their computer. - ____________________

>> Interface between specific software and hardware that is a core part of the computer. - _________________

>> Manage the order in which applications are actually able to be executed by the CPU. - __________________

>> When all of your RAM memory is taken up but you still want to load another application, making part of your hard drive seem to act like additional RAM memory. - ____________________

>> Take a movie you are no longer watching out of RAM memory when you load a big game. - _________________

>> Maintaining an internal directory of how to find files. - ____________________


A Final Point:

The analogy of the human body having certain basic "operations", like circulation and sense of touch, but the ability knit, or compose a piece of music are specific "applications" of a human body.