Ch. 1 — Data Representation
1.1 Number Systems 1.2 Text, Sound & Images 1.3 Data Storage & Compression
Ch. 2 — Data Transmission
2.1 Data Transmission 2.2 Error Checking 2.3 Encryption
Ch. 3 — Hardware
3.1 Computer Architecture 3.2 Input & Output Devices 3.3 Data Storage 3.4 Network Hardware
Ch. 4 — Software
4.1 Types of Software & Interrupts 4.2 Programming Languages & IDE
Ch. 5 — The Internet
5.1 Internet & World Wide Web 5.2 Digital Currency 5.3 Cyber Security
Ch. 6 — Emerging Tech
6.1 Automated Systems 6.2 Robotics 6.3 Artificial Intelligence
// All Chapters
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Home/ Paper 1/ 4.1 Types of Software and Interrupts
4.1

4.1 Types of Software and Interrupts

System software, application software, utility programs and interrupt handling.

System Software vs Application Software

System Software

  • Provides the services that the computer requires, including operating system and utility software
  • It provides a platform on which software can run.
  • It is required to allow hardware and software to run without problems
  • It provides a human computer interface (HCI)

Application Software

  • It is used to perform various applications.
  • It allows a user to perform specific tasks.
  • It may be a single program or a suite of integrated programs

Utility Software

Virus Checker

  • Scans files stored on a computer system for malicious code
  • Scans files when they enter the system / memory stick inserted / download etc.
  • Sets up a schedule for virus-checking
  • Isolates/quarantines/deletes viruses
  • Regularly updates the virus definitions

Defragmenter

  • Re-organises the disk contents
  • Moves split files so they are contiguous
  • Creates a larger area of (contiguous) free space
  • Reorganises files on a disk to improve efficiency

Automatic Backup

  • Can be set up to automatically backup // schedules backups
  • Allows the user to decide what is backed up, e.g. all data // all files that have changed since the last backup
  • Allows the user to set up an off-site backup
  • May encrypt the backup files
  • Restores the data if necessary

Device Drivers

  • Software that communicates with the operating system, translates data into a format understood by hardware
  • Without drivers, devices will not work with a computer
  • Modern Operating Systems automatically detect the device and install appropriate drivers

Security Software

  • Manages access control and user accounts
  • Uses encryption and decryption to ensure any intercepted data is meaningless
  • Oversees software updates (makes sure updates come from legitimate sources)

Operating System

What is an Operating System?

  • Operating systems allow users to communicate with their computer system.
  • Operating system provides an environment where applications can be run

Functions of an Operating System

File Management

  • Maintains directory structures
  • Specifies tasks that can be performed on a file (e.g. open, close, delete, copy, create, move etc.)
  • Space allocated to particular files

Provision of a User Interface

  • Allows a user to communicate with the hardware // vice-versa by making navigation around the system easier
  • Provides facility for user inputting data
  • Provides facility for outputting to the user

Memory Management

  • Keep track of the status of each memory location
  • Managing the movement of data to and from RAM
  • Checks that processes have enough memory allocated to them
  • Makes sure that two processes do not try to access the same memory location
  • Allows multitasking

Hardware Management

  • Installation of appropriate driver software
  • Controls access to data being sent to/from hardware
  • Controls access to hardware/peripherals; sends commands to device
  • Receives and handles error messages

Human Computer Interface

  • Provides a method of communicating with the computer
  • Can be command line driven
  • Can be with the use of a GUI

Security Management

  • Ensures that anti virus software is kept up to date
  • Maintains access rights to users
  • Offers data recovery when files are corrupt

Interrupt Handling

  • Handles the signals sent when the attention of the processor is required elsewhere

Provision of a Software Platform

  • Environment on which programs can be run

Management of User Accounts

  • Allows more than one user to log onto the system
  • Allocates users a part of memory protected by passwords and user IDs
  • Allows a user to customise

Managing Multi-Tasking

  • It allows computers to carry out many tasks/processes at a time.
  • Resources are allocated to a process for a specific time limit
  • Interruption of process while running
  • Prioritizes processes

CLI vs GUI

CLI (Command Line Interface)

  • User uses a keyboard to type in commands/instructions…
  • …to choose from a menu, open software, and so on
  • Requires a number of exact commands to do a single task

GUI (Graphical User Interface)

  • User interacts with the computer using onscreen icons rather than typing commands
  • Chooses from menus, opens software, and so on, by clicking on an icon
  • Often uses WIMP environment

How hardware, firmware and an operating system are required to run applications software

  • Applications are run on the operating system
  • The operating system is run on the firmware
  • The bootloader (firmware) is run on the hardware

Interrupts

What are interrupts?

  • Signal from a device that requires attention from the processor
  • Causes the processor to temporarily stop until the request is handled

How an interrupt is handled (Interrupt Service Routine — ISR)

  • At the end of the fetch execute cycle for the current instruction…
  • Check for interrupt
  • If an interrupt flag is set / bit set in interrupt register
  • Processor identifies source of interrupt
  • All current contents of registers are saved
  • PC loaded with address of interrupt service routine (ISR)
  • When the ISR completes, the processor restores the register contents
  • Processor continues with next F–E–Cycle

Examples of what can cause an interrupt

  • An input/output process (for example, a disk drive or printer requiring more data)
  • A hardware fault (for example, a paper jam in the printer)
  • User interaction (for example, the user presses CTRL+ALT+BREAK)
  • Software errors that cause a problem (for example, division by 0)