1.2. Software and software development

Cards (55)

  • what is an interrupt
    Interrupts are signals generated by software or hardware to indicate to the processor that a process needs attention
  • Which register are interrupts sent to?
    Interrupt register, they are ordered in a priority queue
  • true or false: interrupts are held in order of their arrival
    false: they are held in order of priority
  • what is the ISR
    • interrupt service routine
    • checks contents of interrupt register at the end of each FDE cycle
    • if there's an interrupt of higher priority contents of Special Purpose Register in CPU temporarily transferred -> stack
    • processor loads appropriate ISR into RAM
    • flag set to signal that ISR started
    • once interrupt is serviced, interrupt queue is checked
  • what is scheduling
    allocating processor time to each application to ensure processor time is used as efficiently as possible when multitasking
  • what are the 2 types of scheduling algorithms
    pre-emptive: jobs are actively made to start and stop by the the OS
    non pre-emptive: once job is started it's left alone until its completed
  • Name 2 examples of pre-emptive and non pre-emptive scheduling
    p.e. -> round robin, shortest remaining time, multilevel feedback queues
    n.p.e. -> first come first served, shortest job first
  • Describe one scheduling method [2]
    • Round robin
    • Time slice to each user in turn
    • Or
    • Length of job
    • Shortest job first
  • what is round robin scheduling
    • each job given a time slice
    • once jobs have used their 1st time slice the OS grants each job an equal slice of processor time
  • Describe first come first served
    jobs processed chronologically by which they entered the queue
  • describe multilevel feedback queues
    uses multiple queues that are ordered based on different priorities
  • shortest job first
    • jobs stored in queue in order of time required for completion
    • shorter jobs are given preference to minimise waiting time
  • shortest remaining time
    jobs stored in queue in order of the time left for completion
    jobs with least time to completion are serviced first
  • Name the 5 different types of OS
    distributed
    embedded
    real - time
    multi - tasking
    multi - user
  • what is a distributed OS

    a type of operating system which is run across multiple devices, allowing the load to be spread across multiple computer processors when a task is run.
  • what is an embedded OS
    an OS built to perform a small range of specific tasks. This OS is catered towards a specific device and are limited in functionality
  • what is a multi-tasking OS

    an OS that enables the user to carry out tasks seemingly simultaneously. This is done by using time slicing to switch quickly between programs and applications in memory.
  • what is a multi-user OS
    Multiple users make use of one computer, typically a supercomputer, within a multi-user system. A scheduling algorithm must be used to ensure processor time is shared fairly between jobs. Without a suitable scheduling algorithm, there is a risk of processor starvation.
  • what is processor starvation
    when a process is not given adequate processor time to execute and complete.
  • what is a real-time OS
    an OS used in time-critical computer systems. It is designed to perform a task within a guaranteed time frame. Example : within self-driving cars: any situation where a response within a certain time period is crucial to safety
  • what does BIOS stand for
    basic input output system
  • what is the BIOS
    the first program that runs when a computer system is switched on. The BIOS is responsible for running various key tests before the operating system is loaded into memory
  • which tests does the BIOS perform when switching on a computer
    POST (Power-on self test) which ensures that all hardware are correctly connected and functional
    - Checking the CPU clock, memory and processor is operational
    - Testing for external memory devices connected to the computer
  • what is a device driver

    computer programs which are provided by the operating system and allow the operating system to interact with hardware
  • When a piece of hardware is used, such as a keyboard, the device driver communicates this request to the operating system which can then produce the relevant output - which in this case is displaying a letter on the screen.
  • Device drivers are specific to the computer’s architecture, so different drivers must be used for different device types. As drivers interact with the operating system, they are also specific to the operating system installed on the device.
  • what is a virtual machine
    a theoretical computer in that it is a software implementation of a computer system. It provides an environment with a translator for intermediate code to run.
  • what is intermediate code

    Code that is halfway between machine code and object code. This is independent of the processor architecture so can be used across different machines and operating systems
  • what are virtual machines commonly used for
    to create a development environment for programmers to test programs on different operating systems
  • name an advantage and disadvantage of using virtual machines
    A - saves both the time and money of having to purchase multiple devices solely for testing.
    D - running intermediate code in a virtual machine can also be considerably slower compared to running low-level code on the device it was designed for.
  • Other uses of virtual machines include:
    - Protection from malware -> Malware will affect the VM rather than the device being used.
    - Running incompatible software programs specific to different OS or different versions of an OS can be run within a VM, saving time and money required to purchase the hardware.
    A common example is of games consoles being implemented on PCs via a virtual machine.
  • what is applications software
    designed to be used by the end-user to perform one specific task. Application software requires systems software in order to run.
  • what is system software
    low-level software that is responsible for running the computer system smoothly, interacting with hardware and generally providing a platform for applications software to run. The user does not directly interact with systems software but it ensures high performance for the user.
  • examples of system software:
  • what is a utility
    a key piece of system software integral to ensuring the consistent, high performance of the OS. Each utility program has a specific function linked to the maintenance of the OS.
  • what is source code

    written by a programmer and refers to object code before it has been compiled.
  • what is a translator
    a program that converts high-level source code into low-level object code which is then ready to be executed by a computer.
  • types of translators
  • describe what a compiler does
    • translates H-L code into machine code all at once, after carrying out several checks and reporting back any errors.
    • Initial compilation process is longer than using an interpreter or an assembler.
    • If changes need to be made, whole program must be recompiled.
    • Once code has been compiled to produce machine code, it can only be executed on certain devices (compiled code is specific to a particular processor type and OS.)
    • Code can be run without a translator being present.
  • what is an assembler
    (assembly code next level up from machine code)
    translates assembly code into machine code. Each line of assembly code is equivalent to almost one line of machine code so code is translated on almost a one-to-one basis.