Home Topic 2 Last Next

--- 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. This includes many things including the interface between hardware and software, and between computer and user. And it is a key point that 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 the core of the software that comes pre-installed on a machine, though there may be other application software such as iTunes, or Solitaire that may come packaged with the computer when it is sold.

- Examples of operating systems: Mac, DOS, Windows, Windows 10 etc., UNIX, Linux (a free version of UNIX) iOS, Android, and 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 (the 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. An example of a console input application is Terminal on Mac computers.



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

Lower Level Management

So, again, by low level, we mean very fundamental operational things.

Software Execution Control – This is the determination of what applications run, and what parts of what applications run, when. There is only one CPU, but there are lots of applications in memory at one time; so how is the CPU's time parceled out. (See Activity Monitor in a Mac to realize there are all sorts of different little helper applications running at any one time.

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.

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.

Take, for example someone running a huge Minecraft mod that takes up 5 GB, and having other large applications open at the same time (Unity 2 GB, IntelliJ 2 GB, along with the OS 2 GB), but they only have 8 GB of RAM. Some of the mod pack or other applications can go into virtual memory on the hard drive, even though it won't be as fast as the reall RAM.

Comuters come with more and more RAM each year - in 2019, 16 GB should be standard - but each year applications require more and more memory, so virtual memory is as important and useful now as it ever was.

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.


Hardware Interfaces & Peripherals

Hardware interfaces are the connections between various parts of the computer itself, and peripherals are other hardware devices connected to the computer.

Software/hardware interface – All applications have to be able to properly access the various hardware on the motherboard of the computer, which they need in order to do what they do.  As does the operating system itself, in fact. (lower level)

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)

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.


User Level

These are the higher level functions that you as the user are involved in.

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)

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.

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)



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.