Cards (11)

  • Why do we need Operating Systems
    • Operating systems are essential for managing the hardware and software resources of a computer system 
    • They provide an interface between the user and the hardware, allowing the user to interact with the system and run applications 
  • What are the main functions of an operating system
    • Operating systems such as Windows, MacOS, Android, Linux, iOS and Ubuntu have responsibilities that can be grouped into the following categories: 
    • Resource management 
    • File Management 
    • Interrupt handling 
    • Security 
    • Providing a platform for software to run 
    • Providing a user interface 
    • Providing utilities 
  • Resource Management 
    • Operating systems manage the computer's resources, including the CPU, memory, disk drives, and printers 
    • They allocate resources to specific tasks and ensure that they are used effectively 
    • e.g. when a user opens multiple applications simultaneously, the operating system decides: 
    • How much memory to allocate to each application 
    • When and for how long each gets to use the CPU 
    • How to handle data being read from or written to the hard drive
  • File Management 
    • Operating systems handle the storage, retrieval, and manipulation of data files 
    • When working with files, operating systems provide a GUI of the file system that allows a user to decide which directory a file should be saved in and what the file name will be 
  • Interrupt Handling 
    • Interrupt events require the immediate attention of the central processing unit 
    • In order to maintain the smooth running of the system, interrupts need to be handled and processed in a timely manner 
    • E.g. if a user clicks cancel on a file conversion process, a signal is sent from the mouse, interrupts the processor, and the operating system will trigger the cancellation routine 
  • Security 
    • Operating systems provide various security features such as password-protected system accounts, a firewall, virus scanning and file encryption 
    • Password-protected system accounts are a very common feature in operating systems 
    • System accounts can also be restricted from performing certain actions, e.g. editing network settings, installing unapproved software, changing the account settings of other users 
  • Providing a Platform for Software to Run 
    • Operating systems provide a platform on which application software can run, this is mainly by allowing software access to system resources 
    • e.g. if a computer game has intensive graphics and online play, the operating system will grant it access to the GPU and the network card 
  • Providing a Platform for Software to Run Image
  • Providing a User Interface 
    • Operating systems provide interaction in 2 ways: visually through a graphical user interface (GUI) or text-based through a command-line interface (CLI
    • Most modern PC operating systems provide both options, and a user will prefer one over the other depending on the task 
    • Mobile operating systems such as Android and iOS provide GUIs that are suitable for interaction through touch 
    • Ubuntu is an OS popular with software engineers because it provides a no-frills GUI and an efficient CLI
  • Providing Utilities #1
    • Utility programs help with system maintenance and security 
    • Some utility programs include: file encryption, file compression, disk defragmentation, system backup, disk cleanup 
    • File encryption allows users to send files over networks securely 
    • File compression reduces the size of a file, which helps send large files over a network 
  • Providing Utilities #2
    • Disk defragmentation physically reorganises files on the hard disk so they can be found and accessed faster 
    • Disk clean up scans the hard disk for duplicate and corrupt files and deletes them to create more space on the disk 
    • Backup software allows users to restore their system to a point in history