Bits of Bytes.co

IGCSE / GCSE Computer Science

  • Home
  • 1 - Theory of Computer Science
  • 2 - Practical Problem Solving and Programming
  • Pre-Release Material
    • 2018 June >
      • 22 >
        • 22 - Cow Task
        • 22 - Task 1
        • 22 - Task 2
        • 22 - Task 3
  • 1 - Computer Systems (2023)
Picture
MENU
  • Home
  • 1 - Theory of Computer Science
  • 2 - Practical Problem Solving and Programming
  • Pre-Release Material
    • 2018 June >
      • 22 >
        • 22 - Cow Task
        • 22 - Task 1
        • 22 - Task 2
        • 22 - Task 3
  • 1 - Computer Systems (2023)
1 - Theory of Computer Science / Operating Systems


Operating Systems


An operating system is software that manages all the hardware connected to a computer. It also provides the user with an interface to control the system.
​Choose from the tabs below to learn more about the operating systems jobs.

Operating Systems
Operating systems fall under the 'Systems software" Category and their main purpose is to provide the user with some sort of interface as well as managing all of the connected hardware, Managing Memory, Managing Hardware, Multi tasking, Allowing interrupts etc... All of these things are explained in detail on this page.
User Interface
One of the operating systems jobs is to provide a  user interface is what the user must use to control the computer.  Without a user interface, people would have no way of controlling what a computer does.

There are many different types of user interface, each best suited to different systems.  The user interfaces that we will look ate here are GUI, CLI, MDUI and VDUI,

GUI
GUI Stands for Graphical User Interface

A GUI is very visual, it usually relies on the idea of having WIMP (Windows, Icons, Menus and pointers)
Having a GUI allows people to use a pointer to select icons, look at menus, read instructions etc.

The use of a GUI should be very intuitive and easy to use. When designing a GUI think about this...

"A GUI is like a joke... if you have to explain it, its not good"

Examples of GUIs include - Windows, OSX, Android, IOS
Picture

CLI
CLI stands for Command Line Interface

A CLI is all text based, there is no use for windows, icons menus or pointers, the user is literally provided with a place to type and read text.

The text entered by a user is known a commands.  Certain commands can be typed into the CLI to get the OS to perform certain tasks.

Learning all of these commands will take a long time and therefore this type of UI is best suited to expert users.

For experts that know the commands, using a CLI can be much faster and more effective than a GUI as you can instantly command the computer do  a certain task rather than having to search for it in a menu.

Another benefit of CLIs is that they take much less space in both RAM and your hard disk.
Picture

MDUI
MDUI stands for Menu Driven User Interface.

A MDUI are less commonly used in, however they are very useful for computer systems that have very specific purposes.  MDUIs provide the user with a menu that gives them a set of tasks that can be performed.  The users are limited to these tasks therefore increasing simplicity and preventing errors.

One classic example of a system that uses MDUIs is ATM machines:
Picture
Managing Memory
Another job of the Operating system is to manage the memory being used.  Hopefully we already know that when a program is run by the user it is copied into RAM where faster access can be provided.  When RAM becomes full a swap file (Virtual memory) is used on the hard drive to temporarily move things in and out of RAM as required.

It is the job of an operating system to ensure that all of this runs smoothly and effectively without causing issues.

To do this the Operating system must:
  • Keep a record of where each program/ file is stored on the hard drive
  • Keep track of which programs are currently in RAM
  • Keep track of how much space is free on both the HD and RAM
  • Ensure that programs are not accidentally overwritten.
Picture
Multi Tasking
These days computers are expected to do multiple things at a time without slowing down!  For a computer to do this successfully the operating system needs to manage the tasks that are being processed.

At any one time your computer may be playing music, downloading something, running a web browser and running a word processor.  Each of these programs will need to take it in turns to get their instructions processed by the CPU.  It is the job of the operating system to manage how the CPUs time is shared between all of the running (and background) programs.

If you open your operating systems task manager you can see this in action...
Picture
In the image above you can see all of the programs that are running as well as the percentage of the CPU they have been allocated and the amount of RAM they are using.  It is the job of the CPU to manage this effectively.
Interrupts
Occasionally with computers something will go wrong, or some sort of human intervention will be required.

When this occurs an operating system must allow an interrupt signal to be sent to the CPU indicating that something needs instant attention.  This signal will suspend CPU activity  and await intervention from a human before continuing.

There are two examples of interrupts like this:
  1. Hardware Interrupts - Generated by hardware e.g. a printer out of paper will sent a 'printer interrupt' to the CPU saying that is cannot print until the paper is refilled.
  2. Software interrupts - These are generated by software when an error has occurred.
Picture
Picture
Managing Peripheral Hardware
Peripheral hardware is any hardware device that is not inside the computers main body. This will include any input / output device as well as storage devices.

At any one time a computer will have many devices connected to it. It is the job of the Operating system to manage these, ensure that they are all working and to ensure that they can all interact with each other as required.

​You can get an Idea of this managing process in windows by looking at the device manager.  In the image to the right you can see the device manager software has a list of all hardware connected to the computer.
Picture
Print Buffer
If multiple people send documents to a printer at the same time what will happen? well they cannot print at the same time, therefore some sort of organization is required.  Operating systems will use something called a print buffer.

A print buffer is an area of memory set aside to store documents waiting to print and to organize them into the correct print order.
Picture
Provide Security
Another important job of the operating system is to manage security.  The operating system does this in a number of ways...

Providing user logins
Operating systems will allow different users to set up usernames and passwords that can be used to secure their work.

Setting up Access Rights
When multiple users have access to one computer it is desirable for security reasons that each user can only see the files that they are supposed to.  Operating systems allow flexibility  when setting up access rights, this means that some people can be allowed to see more than others.  Below is an example of how a schools access rights may look.

Admin -
Can see all files
Head teacher - Can see all teachers files and all students files
Teacher - Can see their own files and all students files... but not other teachers files
Student - Can only see their own files

Est. 2015 - Copyright © 2020