Learn IT with Davo
  • Mr Davidson's Blog
  • Twitter
  • A Level CS
    • A Level Exam Technique
    • Lessons
    • Unit 3 - Coursework Guidance
  • OLD GCSE CS - J276
    • All GCSE Questions
    • GCSE Exam Technique
    • Lessons
    • Glossary of Terms
    • Unit 1 Revision >
      • 1.1 - Systems Architecture
      • 1.2 - Memory
      • 1.3 - Storage
      • 1.4 - Wired and Wireless Networks
      • 1.5 - Topologies, Protocols and Layers
      • 1.6 - System Security
      • 1.7 - Systems Software
      • 1.8 - Ethics and Law
    • Unit 2 Revision >
      • 2.1 - Computational Thinking
      • 2.1 - Searching and Sorting Algorithms
      • 2.1 and 2.2 - Writing Algorithms/Programming Techniques
      • 2.2 - SQL and Database Structure
      • 2.3. Robust Code
      • 2.4. Logic
      • 2.5. Translators and Facilities
      • 2.6. Data Representation
  • NEW GCSE CS - J277
    • Glossary of Terms
    • Exam Technique
    • Lessons >
      • Unit 1 - Computer Systems
  • GCSE Business - J204
    • Lessons >
      • Unit 1 - Business Activity, Marketing and People
      • Unit 2 - Operations, Finance and Influences
    • Exam Technique
  • Contact

1.7 - Systems Software

In this section (click to jump):​
  • Operating Systems
    • User Interface
    • Memory Management
    • Multi Tasking
    • Peripheral Management and Drivers
    • User Management
    • File Management
  • Utility System Software
    • Encryption
    • Defragmentation
    • Compression
    • Backup
 

Operating Systems (Systems Software)

Not wanting to disappoint, OCR continue to be strange about how they word things and the names they want us to give to various things in computing just because they like to be different because they can. If we look at the latest exam paper they released, they ask the question "Why is systems software necessary?"

Their answer is: "To provide an interface between hardware and software and to control hardware."

To me, this looks, feels, sounds and smells like an Operating System.

Why don't they just say Operating System, then, instead of "Systems Software?" Odd one. The only thing I can think of is that some systems don't need an operating system as such, they simply need software which "makes it all work" like an embedded system, for example.

So what do we need to know?

If you're asked specifically about "Systems Software" then lets give OCR what they want...
  • Definition : "Software which controls hardware and provides an interface between hardware and software."

Until they come to their senses and realise that this is the definition of an operating system.

Let's talk operating systems, then.
Picture
Sun Solaris. An Operating System I had to use at university. It still makes me feel ill even now. So... much... grey....
Definition of an operating system:
Software which controls and manages ALL hardware, software and resources in a computer system. It provides a platform on which software can be installed and used.
 

User Interfaces

​One of the most important features of an operating system is the interface it provides. This affect the entire look and feel of a computer system as well as how easy or difficult it is to use.

An interface is the point at which a computer and human interact. There are many, many different interfaces but the  most common are:
  • GUI (Graphical User Interface)
  • CLI (Command Line Interface)
  • Touch
  • Voice
  • Menu
Some share features, some are quite similar to others and some are totally unique. For something to be an interface it must simply allow a user to control the system, make inputs and observe or recieve feedback on their actions. If you think about it, this means that a system does not need a traditional display/keyboard/mouse to have an interfacce - indeed the latest wave of "smart home speakers" are a perfect example of this.

Lets look at each in turn.
Picture
Tiles. Please, Microsoft, let the tiles go...
GUI - Graphical User Interface

Features:
  • Windows - Allow programs to be contained in a box, moved around, hidden, resized etc. Organises your work space.
  • Icons - A graphical/picture representation of a file, folder or program. Provides a quick way to know what something is without opening it.
  • Menus - Groups common/similar commands together in a sensible place.
  • Pointers - Allows the user to select, move and manipulate objects on screen. A natural method of interaction

Key words to use when describing this interface:
  • GUI's are intuitive. This means they are easy to use and normally require little or no training to learn

Advantages:
  • Intuitive - easy to use and learn.
  • Allows multi tasking because of windows/task switching.

Disadvantages:
  • Use a lot of system resources such as memory, processor time and graphics processing resources.
  • Difficult to automate repetetive tasks
Picture
PowerShell. It's a Shell and it's powerful. Grow your beard today and learn how to use it.
CLI - Command Line Interface

Features:
  • A completely text driven method of interacting with a computer system
  • The computer is controled by entering short commands to tell it what you want to do such as load programs, copy a file or navigate to a directory in the file system
  • The computer responds to user actions with text prompts and messages to the user.

Key words to use when describing this interface:
  • A CLI is usually Counter-Intuitive, meaning it is not obvious how it works and you are likely to need extensive training before you can make good use of it.

Advantages:
  • Use very little system resources and processing power - suitable for almost all low powered computers
  • Very powerful for advanced users - you can perform tasks on a command line that are difficult/not possible through a GUI
  • Can automate repetetive/common tasks by using "scripts" which are files that contain many commands (like a program)

Disadvantages:
  • Very difficult to use for a novice user.
  • Error messages and feedback is not always useful or helpful
Picture
I'm pretty sure Steve Jobs would've spontaneously combusted had he seen the damage Mr Ive did with his set of highlighter pens in IOS 7...
Touch Interface

Features:
  • A type of GUI designed to be used purely through touch based input.

Advantages:
  • Incredibly intuitive and simple to use, often enables a broader range of individuals to use a system than traditional GUI based systems
  • Removes the need for external input devices such as keyboards and mice, leading to more compact designs

Disadvantages:
  • Not suitable for long/extended periods of data entry or on screen keyboard based text entry
  • Usually does not allow multitasking or multitasking is rudimentary/less flexible than traditional GUI's
Picture
Hey, Siri, I feel really silly speaking to a computing device. Especially in public. It's not you, it's me. I'll get over it. Maybe...
Voice Interface

Features:
  • An interface which allows a user to control a system purely through spoken commands. Usually found in integrated systems such as hands free kits in cars, personal assistants or "smart" speakers.

Advantages:
  • Removes the  need for users to look at or pay attention to a computer system in order to interact with it
  • Allows safe operation of a device from a distance or whilst performing another task (i.e. driving)
  • Allows disabled users to easily interact with a computer system

Disadvantages:
  • Not all systems have good/accurate voice recognition
  • Usually requires an internet connection to allow voice commands and responses to be processed
  • Misinterpretation is often common leading to incorrect or frustrating system actions
  • Not suitable for noisy/public environments
Picture
The Ipod Mini truly was a triumph of user friendly design with a superb menu driven interface. I still use one now.
Menu Driven Interface

Features:
  • An interface which shows the user a number of options available to them and allows them to control a system by making selections from these menus. The best examples of menu driven interfaces are TV EPG (Electgronic Programme Guides) like Sky and Virgin media provide on their devices, or the original Ipod.

Advantages:
  • Usually very simple to use and input devices used to control them are simple - usually consisting of directional controls and a select button
  • Clearly shows the user the options they have available to them

Disadvantages:
  • Limits the things a system or user can do to simple "yes" "no" type operations
  • Some options may become buiried in many sub menus

Features of Operating Systems

If we remember, Operating Systems have to take control of literally everything in a computer system - the hardware, software, organising the resources available to different programs, managing any external peripherals (things plugged in to the computer) and the list goes on. For your exam, you are expected to understant the following features that an OS provides:

  • Memory Management (including the concept of Virtual Memory - click to see more info.)
  • Multi Tasking
  • Peripheral Management and Drivers
  • User Management
  • File Management
 
Memory Management

Background info (things you should understand before we start)
  • Computers use RAM to store open running programs and data.
  • This means when we open an app/program it is copied to RAM so we can use it quickly as storage is slow.
  • Programs themselves have no idea about where they exist in memory, where they will be put or any idea about other programs that might be running at the same time.

What is it?
  • Memory management is an essential feature of any operating system. If you imagine RAM as a huge container - the OS has to decide where to put things and how this massive space should be organised.
  • This is because programs are not "aware" of each other and this could easily lead to programs over writing each other, corrupting other data or serious security issues.
  • The OS, therefore, splits RAM up and as programs are loaded it organises them in to RAM.
  • Memory management splits programs up and keeps them from interacting with other programs unless necessary
  • This means you can run/open more than one program at once!
  • When a program closes, the OS will free up the space that program was using so that other programs can then use that space.
  • Memory management also looks after Virtual Memory (click to read about that) and manages the movement of data to and from virtual memory to allow more programs to be opened than we actually have physical RAM to store them in.
Picture
Apparently this is multitasking. I imagine being a stock photo model is one of the most depressing jobs it is possible to have.
 
Multitasking

Background info (things you should understand before we start)
  • Any OS which allows you to have two or more programs open at the same time and allows you to work on both at the same time (think listening to a youtube video whilst you work in Word or similar) is letting you Multitask.
  • There are still OS's in use today which don't obviously allow multitasking - such as IOS which generally only lets you use one app at a time. If you want to do something else you switch tasks, but you are not working in two apps at the same time.
  • A CPU can only perform one task at any one time. A CPU may have many cores and each core can only perform one task at any one time. So a "quad core" CPU can run a maximum of 4 threads/tasks at any one time.

What is it?
  • Allowing the user to open and run two or more applications at the same time
  • Applications appearing to work at the same time - for example you music keeps playing when you switch to another tab in your browser to look at a website.
  • Because each CPU core can only run one task at a time, the OS must manage the amount of time the CPU spends on each task to give the appearance of all tasks running simultaneously.
  • This is the computing equivalent of spinning plates - you spend just enough time on each task to keep it going before switching to the next.
  • If there are too many tasks or the CPU is busy with one single task which has taken priority, the user may notice programs begin to "stutter" or not respond as it simply hasn't got round to servicing that task.
  • This means that multitasking is usually an "illusion" - the tasks are NOT all really being executed by the CPU all at the same time, most are waiting.
  • Because CPU's are so fast (gigahertz, remember?) they can do this task switching so quickly, we as users do not notice and we think tasks are all running simultaneously.
Picture
Every dignified Lady or Gentleman should have a chauffeur these days. I do.
"Jives, fetch the motor car, I have an important meeting at the Royal Institute for Beards to attend to."
It's almost exaclty like in the picture, only I drive an Aygo. And I'm not a woman.
 
Peripheral Management/Drivers

Background info (things you should understand before we start)
  • An OS is responsible for managing ALL the hardware in a computer system.
  • A peripheral is simply a piece of external hardware - i.e. something you plug in to a computer and use.
  • But hardware:
    • Is made by lots of different manufacturers.
    • Works in different ways (think different features for different models of a product)
    • Comes out all the time! There is always something new coming out, right?
  • The OS has to be capable of interacting with, and allowing the user to use, all hardware - including new devices released after the operating system itself! How does this work?

What is it?
  • A piece of software which controls a specific piece of hardware
  • An operating system provides a "platform for software to run on."
  • Part of that platform is providing programs with a set of built in functionality - such as printing, file storage, drawing and managing windows on the screen.
  • Because hardware is all different, a piece of software called a "driver" is provided by hardware manufacturers
  • This software takes generic commands and data from the OS and translates this into a form that a specific piece of hardware understands.
  • Example - printing a document:
    • A program makes a request to the operating system to access the printer
    • The data is sent to the OS in a standard form
    • The OS sends this data to the specific printer driver program
    • The printer driver then controls and manages the printing of the document through the printer
    • Any specific commands or specific form the printer needs data to be in is all handled by the driver
    • The driver then reports success or an error message to the OS

Advantages:
  • The OS does not need to know about every piece of hardware in existence, this makes the OS easier to manage and much smaller than it would otherwise be.
  • The OS only needs to have software/drivers for the specific hardware connected to it.
  • Drivers enable OS's to run/use hardware that is new
  • Drivers enable new features, bug fixes etc to be quickly and easily applied to a piece of hardware without affecting the OS
Picture
Eeee, in my day, file management were all in yer 'ed. You had to make your own system using labels and magic.
 
User and File Management

File Management
  • An operating system should manage the way files are stored on a computer, the way it does this is called the file system. There are lots of different ways to do this - think about it, your bedroom is just a big space, there are no set rules for where you should put all your stuff.
  • Some examples of file systems are AppleFS, Fat32, NTFS and EXT4. Each one organises secondary storage in a different way.
  • A file system will manage the storage, retrieval and deletion of files on a device.
  • File systems must be incredibly robust - they must handle:
    • Read or write errors without losing data
    • Ensuring no files or data are lost or over written
    • Redundancy - making it so if one copy of data is lost then there is another copy (RAID does this, fly bravely to Wikipedia, my friends)
    • Quick access to files and data
    • Managing storage efficiently so the user/OS can make maximum use of the space available

Examples of File Management Facilities:

A file manager should allow users to:
  • Create new files
  • Rename files
  • Copy, paste or move files
  • Delete files
  • Organise files in a structure such as folders/directories

User Management
  • Some operating systems are designed to be Single User and others are Multi User.

  • Single user
    • One person is logged on to a system at any one time
    • They have full access to all the resources of that machine.
    • When they log out, someone else can log in. This is not the same as multi-user - only one person at a time is using this type of system, remember!

  • Multi User
    • Many people can log in to the SAME system at the same time
    • Resources are shared amongst the users logged in
    • Usually requires powerful hardware and is often conducted on "mainframes" or servers.
    • The advantage of this is that it is easier to manage than lots of single user machines - it is easy to give everyone a consistent, similar experience.
    • Another advantage is it can often be cheaper than providing single user systems for every user of a system.
    • A disadvantage is that users may not have access to resource intensive software such as photo or video editing packages.

  • User management may also include the management of rights and permissions that different users have, for example:
    • Administrators - These users are able to do anything on a device. They have full control and can view, edit, create and delete content anywhere - including looking at other users' accounts.
    • Power Users - These users have some "elevated privileges." For example they may be able to change user passwords or install their own software
    • Standard User - These are the "normal" users on a system - like your user account at school. You have access to the resources and programs you need, but you cannot change settings or install/delete software.
    • Restricted/Guest User - These accounts are designed to be "locked down" and provide only what is strictly necessary for these users. Think about exam accounts you may have used that did not allow you on the internet or school share, for example.
 
Picture
I Googled "Utility" I think this looks about right...
Look at the state of the plumbing and electrics, though, that's a really terrible job.
You know what else is weird - top loading washing machines. Why are we the only country that uses front loading washing machines? Front loaders are far more interesting. I often pull up a chair and watch mine on a good colours cycle in preference to watching tv.

Utilities

Utilities have been around since the dawn of computing and basically fall into the category of "useful little programs." We usually use them to do simple, repetitive tasks or to perform some kind of automation such as regularly backing up a folder on a computer to the cloud.

For the exam, OCR only seem to care about four types of utility, and we'll look at each in turn, but first... a definition. How did you guess?

Utility - A program or piece of software with one specific purpose, usually related to the upkeep or maintenance of a system.

Examples of Utility Software you could talk about in an exam:
  • Encryption
  • Defragmentation
  • Compression
  • Anti-Virus
  • Disk Analysis/repair
  • Auto-Update
  • Firewall

And now, OCR's favourite 4 in detail...
 
Example 1: Compression

What is it?: Compression utilities are used to reduce the size of files.

What do I need to know?: Compression is performed when a file is saved, to reduce the amount of data stored on disk. This can be really useful when the file is due to be sent (think email, streaming or sending your mate a Snapchat) - the less data you need to send the quicker (and potentially cheaper if you're on a data plan) it will be and the less space it will take up on your device (think how annoying it is when your phone storage is full). Compression comes in two flavours - lossy and lossless and these are covered in more detail in Unit 2 - 2.6 - Data Representation.
 
Example 2: Encryption

What is it?: Encryption is the encoding or scrambling of data to ensure it cannot be read/understood if it is intercepted by a third party (robbed by a dodgy geezer, innit)

What do I need to know?:  Files are encrypted when they are saved or before they are sent across a network. If they are accessed by anyone other than the intended recipient, they should be unreadable. Encryption usually works on an asymmetric key system - Public keys are used to encrypt files, but these keys cannot be used to decrypt the data. Only the private key (which is different to the public key) can be used to decrypt the data. Read more about Encryption in 1.6 - System Security.
​
 
Picture
Windows 95 Defrag. This was literally the computer version of watching paint dry. You'd sit and watch all the little boxes move around for hours before it'd say "Disk contents changed - restarting" and then do it all over again. Come to think of it, I don't know if this utility ever managed to complete a defrag on any machine, ever. Someone was so sad, they made a Youtube video of this...
​Example 3: Disk Defragmentation

What is it?: Defragmentation only applies to magnetic secondary storage using certain file systems (HDD's on Windows systems). Defragmentation is the moving of files to the beginning of the disc and the putting of files back together again to make them contiguous. What does that even mean?

What do I need to know?: Some file systems aren't perfect. The file system will try to store each file in the first available space which is big enough to hold it. As this is not always a perfect fit, or a file grows or shrinks, "holes" begin to appear in storage that are not big enough to hold new files or data.

Sometimes there isn't room for a large file or program and the file system has to split the file in to parts and store it in different areas of the disc. As files are deleted, new ones created, old files change in size and so on, the file system becomes inefficient.   Eventually this inefficiency ends up slowing the system down as the hard drive physically has to move further to read the data for each file it is reading or writing. The more broken up or "fragmented" a file is, the more is slows the system down. 

Defrag attempts to put everything back together again in one big chunk (make it contiguous) and then put everything at the start of the disk so the hard drive heads have less far to travel to read the data. This greatly speeds up disc read/write times and makes the system perform better.

Note: this is NOT relevant to SSD drives. Indeed defrag would have a really good go at killing an SSD.
 
​Example 4: Backup

What is it?:  Backup is the creation of an exact copy of some or all data, which is then stored externally to the original. 

What do I need to know?: Backing up data is not simply a matter of saving or copying data. A backup is designed to enable a user to restore some or all of their data in the event of a disaster - such as deleting a file accidentally or rage quitting a game and smashing their computer to bits. Therefore, to be a backup, the data you copy must be removed from the system and stored somewhere else - this is why simply copying and pasting to another folder and naming it "copy 2" or something isn't a backup. 

Backups can be made on any removable media, but usually take place on external hard drives, cloud storage or magnetic backup tapes.

In the event of a disaster, a backup can be used to put the data back on to a machine so a user can carry on from where they left off, or very close to it, meaning they lose nothing or only a very small amount of their work.

There are two types of backup - Full and Incremental.

Full: ALL data is copied from a system and stored on removable media. 
  • This is good so you can restore an entire system or "image"
  • It ensures all data is backed up, nothing is missed
  • It does take much, much longer than an incremental backup in most cases.

Incremental: Only data which is new or has changed since the last backup is copied.
  • This is really good for regular backups as we are only taking what has changed
  • These backups use much less space than full backups
  • They are usually much quicker
  • They cannot be used to fully restore or image a computer, normally they are used to restore individual files.
Powered by Create your own unique website with customizable templates.
  • Mr Davidson's Blog
  • Twitter
  • A Level CS
    • A Level Exam Technique
    • Lessons
    • Unit 3 - Coursework Guidance
  • OLD GCSE CS - J276
    • All GCSE Questions
    • GCSE Exam Technique
    • Lessons
    • Glossary of Terms
    • Unit 1 Revision >
      • 1.1 - Systems Architecture
      • 1.2 - Memory
      • 1.3 - Storage
      • 1.4 - Wired and Wireless Networks
      • 1.5 - Topologies, Protocols and Layers
      • 1.6 - System Security
      • 1.7 - Systems Software
      • 1.8 - Ethics and Law
    • Unit 2 Revision >
      • 2.1 - Computational Thinking
      • 2.1 - Searching and Sorting Algorithms
      • 2.1 and 2.2 - Writing Algorithms/Programming Techniques
      • 2.2 - SQL and Database Structure
      • 2.3. Robust Code
      • 2.4. Logic
      • 2.5. Translators and Facilities
      • 2.6. Data Representation
  • NEW GCSE CS - J277
    • Glossary of Terms
    • Exam Technique
    • Lessons >
      • Unit 1 - Computer Systems
  • GCSE Business - J204
    • Lessons >
      • Unit 1 - Business Activity, Marketing and People
      • Unit 2 - Operations, Finance and Influences
    • Exam Technique
  • Contact