Subtopic Notes

5.1 Operating Systems

5. System Software

Definition: Software is the set of programs that runs a computer system.

Program and Process:

  • A program is the written code (static)
  • A Process is the executing code (dynamic)

Operating System: A collection of software that manages computer hardware resources and provides common services for computer programs. OS hides the complexity of the hardware from the users by various methods like drive letters, virtual memory, input device management, virtual machine

Functions of OS:

  • File Management - Handles file-related operations such as opening, creating, deleting, renaming, and organizing files.
  • Handling Interrupts
  • Providing an Interface:
    • Command-line interface (CLI)/Character User Interface (CUI): Text-based / Key commands. Eg: CMD
    • Graphical User Interface (GUI): Uses WIMP - Windows, Icons, Menu, and Pointing Devices. EG: Windows
    • Dialogue Interface: This is a way of interacting with the environment by means of the spoken word. Eg: Smart Home
    • Menu Driven Interface: This type of interface lets the user interact with a computer or device by working the way through a
      series of screens or menus. Eg: ATM Machine, Earlier Phones
    • Gesture Based Interface: Uses human gestures via mathematical algorithms to run programs.
  • Hardware Peripheral and driver management - Manages device drivers, input/output operations, queues, and buffers.
  • Memory Management - Manages the primary (RAM) and secondary (HDD, SSD) memory during the execution of programs
  • Multitasking - Distributes hardware resources among multiple running processes
  • Platform for running applications
  • Security Management - Implements security features such as antivirus protection, system updates, and authentication mechanisms
  • Management of User Accounts - Supports multiple users, allowing customization of individual accounts

Utility Software by OS

Application programs that assist a computer by performing housekeeping functions for the OS.

  • Disk formatter: Wipes memory and sets up a disk so it is ready to store files
  • Virus checker: Scans for malicious program code
  • Defragmentation software: Moves parts of files so that each file is contiguous in memory
  • Disk contents analysis/disk repair software: Scans for errors in a disk and corrects them
  • File compression: Reduces the size of files by encoding data more efficiently, allowing for faster transfers and efficient storage.
  • Back-up Software: Creates a copy of data in case the original is lost

Program Libraries

  • Pre-written code/functions/routines that can be imported/called in another program
  • Benefits:
    • Saves programming and testing time as code does not have to be written from scratch
    • Code is already tested so it is more likely to work
    • If there is an improvement in the library routine the program updates
    • automatically
    • Can perform complex calculations that the programmer may be unable to do

Dynamic Link Library (DLL) files

  • Shared library file that contains code and data
  • Code saved separately from the main .exe file, reducing the .exe file’s size
  • Code only loaded to main memory when required
  • DDL file can be made available to several applications simultaneously, thus reducing strain on memory
  • DLL files act as modules in more complex programs, making it easier to install and run updates