unit 1.2

Cards (155)

  • Operating system
    Provides the interface between the user and the hardware
  • Operating system
    • Provides a platform for application software to run
    • Manages memory and file storage
    • Handles interrupts and device drivers
    • Enables multitasking
  • Multitasking

    1. Processor allocates small time slices to each running program
    2. Gives the appearance of programs running simultaneously
  • File extensions
    Indicate the type of file and which application should open it
  • File and folder structure
    Logical structure presented to the user, doesn't reflect actual storage on secondary medium
  • User accounts
    • Each user has their own preferences and settings
    • Different access rights to files and programs
    • Profiles can be fixed or roaming
  • Graphical user interface (GUI)

    Windows, icons, menus, pointers - a visual and interactive interface optimized for mouse/touch input
  • Computers need an operating system to provide an interface between the user and hardware, manage resources, and enable multitasking and other key functions
  • Memory management
    1. Paging
    2. Segmentation
    3. Virtual memory
  • Main memory
    • Loads operating system
    • Loads programs A, B, C, D
    • Program C closed, memory released
    • Program E arrives but doesn't fit
  • Paging
    • Memory divided into fixed-size pages
    • Programs split to fit pages
    • Possible to separate instructions in a program
  • Segmentation
    • Memory divided into variable-size logical sections of programs
    • Programs split into segments to fit available space
  • Main memory becomes full

    Virtual memory used
  • Virtual memory
    • Stores programs and data on hard disk that don't fit in RAM
    • Swaps programs between RAM and hard disk as needed
  • Virtual memory gives the impression of more memory than the computer actually has
  • Running out of memory

    Slows down the computer
  • Fetch decode execute cycle

    1. Fetch
    2. Decode
    3. Execute
    4. Check for new interrupts
  • Interrupt
    A signal from a device or application that requires the processor's attention
  • Handling an interrupt
    1. Processor stops executing current program
    2. Runs interrupt service routine
    3. Saves current register values to stack
    4. Retrieves register values from stack when interrupt complete
  • Interrupt service routine is a program with its own instructions that need to be fetched, decoded and executed
  • Interrupts have higher priority than normal programs
  • Types of interrupts

    • Typical interrupts that PC architectures understand
  • Interrupt handling

    • Allows higher priority interrupts to interrupt lower priority interrupts
    • Allows processor to return to previous program after interrupt is complete
  • Scheduling
    The process by which an operating system determines which processes to execute next and for how long
  • Scheduling algorithms

    • Round robin
    • First come first serve
    • Shortest job first
    • Shortest remaining time
    • Multi-level feedback queues
  • First come first serve

    1. Processes executed strictly in the order they arrive
    2. Time taken by each process is irrelevant
  • Shortest job first
    1. Scheduler picks the process that takes the shortest amount of time and runs it until completion
    2. Scheduler needs to know how long each process will take
  • Round robin

    1. Each process allocated a fixed time slice (quantum)
    2. If process not complete by end of time slice, it returns to back of ready queue
  • Shortest remaining time

    1. Similar to shortest job first
    2. Preemptive - process can be suspended if higher priority process joins queue
  • Multi-level feedback queues

    1. Separates processes into multiple ready queues based on their need for the processor
    2. Gives preference to processes with short CPU bursts and high I/O bursts
    3. Allows processes to be shifted between queues based on their behavior
  • Scheduling algorithms can be preemptive or non-preemptive
  • Processes can be blocked while waiting for input/output, then an interrupt is used to notify the scheduler that the process is ready to rejoin the queue
  • Multitasking operating systems

    Computers, smartphones and tablets allow more than one application to be open at the same time. Each active program is scheduled to receive a tiny time slice and quick rotation giving the impression they're operating at the same time.
  • Multi-user operating systems

    Allow more than one person to use a computer at the same time. The computer will manage the user's various permissions and access rights when they log on. The server operating system software will handle the requests of multiple people using different computers on the network all at once.
  • Distributed operating systems
    Combine the processing power of multiple computers across a network for a single task. The operating system controls and coordinates all the computers presenting them to the user as if they were a single system. Online shopping sites often use this form of operating system.
  • Embedded operating systems

    Run on very dedicated hardware, using very low powered processors and little memory. They are highly specialized for the particular task they are designed for, such as washing machines, set-top boxes, TVs, car engine management systems, home assistants, traffic lights.
  • Real-time operating systems

    Used in safety critical environments such as aircraft autopilot systems, hospital monitoring systems, self-drive cars, missile systems. Processes have to be guaranteed to execute within a known time frame. Processors rarely run at full capacity to handle sudden increases in input.
  • These five different operating system classifications are not mutually exclusive. For example, a network at school or an office would be a multi-user system that allowed multitasking. A distributed system could be capable of multitasking and multi-users logging on at once. A real-time operating system on a fighter jet could be embedded as part of an embedded operating system.
  • BIOS
    Basic Input Output System, responsible for loading the operating system when the computer first turns on
  • BIOS
    Not to be confused with the operating system, which controls the hardware and software of a computer system and provides a user interface