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 computer 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. For example, two key general parts of the operating system are the parts that manage the interactions between hardware and software, and also the parts that manage the interface 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



One way to look at the OS: 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 (GUI) 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

I. "Machine" Management

These would be low, machine level, things with CPU, memory, hard drives etc.

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

(Above) The Activity Monitor of the Mac OS, showing CPU activity, and some of the many processes running at the same time.

The OS controls...

2. 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.

(Above) The Activity Monitor of the Mac OS, showing (RAM) memory usage, sorted from largest to smallest.

To get an idea of how the CPU and even RAM can get hogged, try running a loop within a loop within a loop etc. program, and look at Activity Monitor.

The OS plays a part in...
3. Virtual Memory Management
– Virtual memory is the use of part of the hard drive as if it were RAM memory; it’s obviously slower, but almost all applications do use virtual memory, though they continually swap in and out of real 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 real RAM.

(Above) The relative space taken in a (pretty empty) hard drive, with one of two blocks of 1.00 GB virtual memory selected (green color).

Computers 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.

The OS helps with...
4. Machine Level File Management & 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.


II. Hardware Interfaces & Peripherals

Hardware interfaces are the connections between various parts within the computer itself, and peripherals are other hardware devices connected to the computer. (There will be more to follow on this with the HL Topic 6.)

Generally, in terms of what needs to be managed with both kinds of connections, there are two things to keep in mind: how the communication is done, and the security of that communication. A great analogy would be the "interface" guardhouse between the school and Nichada Thani. And moving further outside the center of where we operate, the "interface" gate/guardhouse, which connects Nichada Thani to the "peripheral" neighborhoods like Samakee Road.

The OS plays a part in...
1. Hardware interfaces
– All applications ultimately 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. The OS assists the interfacing - basically the connecting - of these parts, via their connections on the motherboard. A basic example is the interface between the motherboard and the hard drive; there are various standards for such connections. Other examples of hardware inside the computer needing interface management by the OS includes graphics cards, sound cards, and network cards. 

Shown above is System Information you get from the Mac OS by clicking on the Apple, About this Mac, System Report). It shows various categories of hardware that can be connected. Selected in the picture is the hard drive connected to the motherboard of my laptop. An "SATA" hard drive such as this is one example of hardware needing interface control in my computer. Other categories of internal devices needing interface management in the list above include Audio, Bluetooth, and Camera.

The OS helps with...
2. Input/Output (I/O) Control of Peripherals
– Not only is help with interfacing needed for components within a computer, there also needs to be a software interface help between all peripherals and the computer. With peripherals, we’re talking about all sorts of things that plug into the computer, such as mice, keyboards, and printers, to name a few. The key part of interfacing with peripherals is the management of input and output to and from the peripheral device.

Here, in the same System Information utility as used above, this time it's the USB category which is selected. You can see I have three peripheral devices connected via the USB bus: my wireless mouse Bluetooth ergonomic controller, my ergonomic keyboard, and the wireless optical mouse itself. All are peripherals in need of connection management by the OS. Two other obvious categories of peripherals my MacBook could use in this list are Printers and Thunderbolt.

The OS helps control...
3. Drivers
Management - Though the use of drivers is part of the above two hardware considerations, drivers are important enough to deserve special mention. Drivers are programs that operate specific hardware. The OS is responsible for interfacing with drivers, and making use of them to use certain hardware. This, also, is obviously more lower level management than higher level. So, for example, when you install a driver for your printer, or a fancy joystick, the drivers that they come with will have to be managed. You can think of the OS as working with both the hardware driver software, and the hardware itself.


III. User Level

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

The OS supplies the...
1. 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. We can consider things like the Dock and System Preferences as being part of the user interface.

The OS allows for...
2. User 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. (Note this is different than low level file maintenance, mentioned above.)

The OS provides...

3. Utilities

Along with the basics for opening/closing applications, and for managing files ans folders, the OS usually provides a bunch of user level utilities to perform certain semi-geeky tasks, like checking the heath of the computer (Disk Utility), and determining what RGB values a color is (Digital Color Meter). The Mac OS groups these applications in the "Utilities" folder, which is found in part of the "Applications" folder.

The Mac OS Utilities Folder

IV. All Levels - Security -  One very important area of responsibility of the OS is security. And this goes across all levels mentioned above. It is a ultimately a machine level responsibility, but security is very crucial to all interface/input/output situations, and the preferences for how it is achieved can be tweaked at the user level. Everything from firewalls to user accounts to permissions are all part of this most important category of tasks. (Obviously, there's a low level component to each of these, but the user can change/tighten up settings.)



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. - ____________________

>> Checking the health of your computer ____________________


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.