ByteSizeNotes Chapter 4.1
Chapter 4.1

Types of Software and Interrupts

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

Managing Files

  • 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 an Interface

  • Provides facility for user inputting data
  • Provides facility for outputting to the user
  • Can be command line driven
  • Can be with the use of a GUI

Managing Memory

  • To make sure memory is used efficiently
  • Allocates/deallocates memory to process
  • Moves data between memory and storage
  • Creates virtual memory
  • Makes sure that two processes do not try to access the same memory location

Allows multitasking

  • It allows computers to carry out many tasks/processes at a time.

Managing periferals and drivers (Hardware)

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

Managing user accounts

  • Maintains access rights to users
  • Allows more than one user to log onto the system

Environment on which programs can be run

  • Allows application software to run on the computer by fetching instructions and executes them

Managing Interrupts

  • 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/why 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)