OCR Computer Science A Level - 1.2.1 Operating systems

Cards (47)

  • The term ‘operating system’ refers to a collection of programs that work together to provide an interface between the user and computer. Operating systems enable the user to communicate with the computer and perform low-level tasks involving memory and resource management.
  • An operating system is responsible for managing hardware resources, such as CPU time, disk space, RAM, etc., on behalf of applications running on it
  • Examples of operating systems include Windows, MacOS, iOS, Linux and Android
  • Operating systems provide the following features:
    • Memory management (paging, segmentation, virtual memory)
    • Resource management (scheduling)
    • File management (moving, editing, deleting files and folders)
    • Input/ Output management (device drivers)
    • Interrupt management
    • Utility software (disk defragmenter, backup, formatting etc.)
    • Security (firewall)
    • User interface
  • A device driver is a program which acts as a translator between the OS and a particular piece of hardware or peripheral. It allows the OS to interact with the hardware by providing a standardised set of commands and functions.
  • Device drivers allow the OS to control all connected devices through one common interface.
  • Device drivers are written specifically for individual devices so they can be used across different operating systems.
  • Device drivers allow the OS to control the behaviour of the hardware through a common interface regardless of its specific make and model.
  • The kernel manages processes, scheduling them when required and allocates processor time fairly amongst competing tasks.
  • Device drivers translate high level requests from the OS into lower level instructions understood by the hardware.
  • Device drivers are usually supplied by manufacturers when purchasing new hardware.
  • The kernel controls access to shared resources like processors, memory and storage devices.
  • The kernel also handles interrupts from input/output devices and ensures that data is transferred efficiently between these devices and main memory.
  • Device drivers are loaded into memory at boot up and remain there until the machine is switched off.
  • The kernel manages system resources such as CPU time, memory allocation and file access.
  • The shell provides an interactive user interface that enables users to run programs and perform tasks on the computer.
  • System utilities are tools provided by the OS to assist with various tasks such as disk maintenance, data recovery, security and performance monitoring.
  • Processes are managed using process tables which contain information about running programs such as their status, priority level, CPU usage, memory allocation and other details.
  • Paging is when memory is split up into physical divisions known as pages, with programs being made up of a certain number of equally-sized pages. These can then be swapped between main memory and the hard disk as needed.
  • Segmentation is the splitting up of memory into logical divisions known as segments, which vary in size. These are representative of the structure and logical flow of the program, with segments being allocated to blocks of code such as loops.
  • Virtual memory uses a section of the hard drive to act as RAM when the space in main memory is insufficient to store programs being used. Sections of programs that are not currently in use are temporarily moved into virtual memory through paging, freeing up memory for other programs in RAM.
  • Operating System

    Collection of systems software that manages the computer. Usually supplied with the computer. Provides a user interface.
  • Memory Management

    The process of organising the flexible use of the computer's main memory.
  • Paging

    The organisation of memory into fixed-sized units called pages. The programs are then allocated the correct number of pages for their size. As they are the same size memory can be wasted.
  • Paging
    • Memory is divided up into equal sized units called page frames
    • Programs are divided up into equal sized units called pages
    • Pages may be discontiguous
    • Pages swapped in and out when necessary
    • Pages not in main memory ate stored in virtual memory / secondary storage
    • A page table/index of pages is kept
  • Segmentation

    The splitting of a large program into a number of smaller programs or segments (variable sized). Each segment is a complete program that is executed separately. The function of the large program is achieved by running segments consecutively. Segmentation allows a large program to be executed on a computer with insufficient memory to store the whole program by carving up memory logically rather than physically.
  • Segmentation
    - Memory is divided up into variable length blocks - Programs can consist of many segments - Done logically rather than physically- Index of segments stored which must store base address and length of segment
  • Virtual Memory

    Used when sufficient immediate-access store (RAM) is not available. Part of a disk drive is allocated to be used as if it were main memory. This is very slow, and the software will attempt to use the immediate-access store if possible.
  • Interrupt

    A signal generated by a source such as an input or output device or a systems software routine that causes a break in the execution of the current routine. Control passes to another routine in such a way that the original routine can be resumed after the interrupt.
  • Interrupt Service Routine (ISR)

    A software routine that hardware invokes in response to an interrupt. These examine an interrupt and determine how to handle it.
  • Scheduling

    The method by which central processor time is allocated in a multi-access system.
  • Round Robin (RR)

    A scheduling algorithm that deals with each user or task to be processed in turn.
  • First Come First Serve (FCFS)

    A scheduling algorithm that deals with each user or task in the order in which they arrive, this can be thought of as a queue.
  • Multi Level Feedback Queue

    A complex scheduling algorithm that deals with tasks based on a set of priorities and rules across different league tables, jobs in a certain table get promoted up or down their table based on these rules and can then end up in totally different tables if they relegated.
  • Shortest Job First

    A scheduling algorithm that deals with each user or task based on the getting the smaller ones out of the way.
  • Shortest Remaining Time

    A scheduling algorithm that deals with each user or task based on a calculating an estimated time remaining to complete.
  • Distributed OS

    An operating system where the software is spread over a collection of independent, networked, communicating, and physically separate nodes.
  • Embedded OS
    A highly specialised, often quite limited and cut down operating system design to fit inside a certain type of machine. For example computers in cards, traffic lights, cash machines, POS, elevators, drinks machines etc. In contrast to an operating system for a general-purpose computer, an embedded OS is typically quite limited, often running a single application. However, that single application is crucial to the device's operation.
  • Multi-tasking OS

    Any type of system that is capable of running or appearing to run more than one program at a time.
  • Multi-user OS

    Any operating system designed to allow multiple users to log in and connect to it from different locations / machines at the same time. Specially designed for the sharing of resources such as files, programs or hardware (printers, scanners etc).