• An operating system is the interface between the User and the Hardware

Types of Interface

  • Graphical user interface (GUI)
    • Interactions via graphics and using WIMP
  • Command line interface (CLI)
    • Commands are given via a text based interface (e.g. MSDOS)
  • Menu-driven interface (MDI)
    • interactions through a series of menus (e.g. ATM, early iPod, etc.)
  • Natural language interface (NLI)
    • You interact through a spoken language (e.g. an Amazon Echo with Alexa)

Resource Management

  • A process is a program that has begun execution
  • The OS must manage resources so that:
    • Processes are scheduled (sequenced for execution). In a single core CPU, each only gets a tiny slice of time
    • Manage interrupts
    • Resolution of resources when a conflict occurs (e.g. two processes require exclusive access to the same hardware)

Memory Management

  • Memory management is split into three important areas:
    • Memory protection
      • Ensuring that each process does not try and use the same memory as other processes
      • Ensuring that a process cannot access the memory of other processes (without escalated privileges)
    • Memory organisation scheme
      • ensures optimum use of limited memory resources. Schemes such as Virtual Memory (Virtual Memory (VM)) using paging or segmentation (A2)
    • Memory usage optimisation
      • This determines which processes should be in main memory and where they are stored
      • It also deals with garbage collection (freeing up memory from closed application)

Virtual Memory (VM)

  • Virtual memory is a process whereby secondary storage is used to supplement the available RAM
    • A process called swapping
  • The use of a VM addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time
    • allowing the operating system to use the same memory locations for multiple tasks
  • A page fault is generated when a process tries to access memory which is not currently available
    • Triggering an interrupt

Device Management (I/O)

  • All the input and output devices also need to be managed
  • Devices cover a wide spectrum, including printers, monitors, keyboard, etc.
  • The device management:
    • Installs appropriate device software drivers for use
    • Controls the usage by processes
    • Handles calls being made to devices
    • Responds if a device goes off-line or reports a fault

File Management

  • Access to data stored on disks is a central feature of all operating systems
  • Computers store data on disks using files, which are structured in specifc ways
    • The specific way in which files are stored on a disk is called a file system, and enables files to have names and attributes
    • It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree
  • The file management component, therefore, provides:
    • File naming conventions
    • Directory (folder structure)
    • Access control mechanism to storage drives
  • Security Management
    • Have Provision for recovery when data is lost
    • Prevent intrusion (often via a software firewall)
    • Ensure data privacy
    • Have user level and file level security
    • Monitor processes and enforce good behaviour