software and software development

Cards (54)

  • Definition of an operating system
    A collection of programs that work together to provide an interface between the user and the computer.
  • Features of operating systems?
    Memory, Resource, File, Input/Output and Interrupt management, utility software, security and user interface
  • Why is memory management needed?
    Computer memory needs to be shared fairly between multiple programs, and the main memory is not large enough to store every program being used
  • What is paging?
    A memory management technique where memory is split up into equal-sized sections called pages (physical division). These pages can be swapped into and out of main memory and the hard disk when needed.
  • What is segmentation?
    The splitting up of memory into logical divisions called segments, which vary due to the segments considering the structure and logical flow of the programs.
  • What is virtual memory?
    Where a section of the hard drive acts as RAM when space in main memory is struggling. Programs not in use are moved to VM through paging.
  • What is a risk of paging, segmentation and VM?

    Disk thrashing, this is when the computer swaps pages between the hard disk and main memory too quickly, so more time is spent transferring these pages than running the program.
  • When does disk thrashing become worse?
    When the virtual memory fills up
  • What are interrupts?

    Signals generated by software/hardware to indicate to the processor that a process needs attention.
  • How are interrupts stored?

    In order of their priority (in a priority queue) in an interrupt register.
  • How are interrupts serviced?
    Through the ISR (interrupt service routine)
  • What are the steps of the Internet Service Routine?
    The processor checks content of the interrupt register at the end of every FDE cycle. Interrupts that are higher priority to a process displace the current process, which is transferred to a stack. The processor responds to interrupt by loading the ISR to RAM and a flag is set to signal the ISR. The interrupt is services and the flag resets, and the interrupt queue is checked before removing the old process from it’s stack.
  • What is scheduling?

    Operating system ensuring programs have a fair amount of processing time
  • What are the two types of scheduling algorithm?

    Pre-emptive, jobs are actively made to start and stop by the OS.
    Non-pre emptive, jobs are left alone until they are completed
  • Describe the round robin algorithm

    Each job is given a section of processor time called a time slice, in which a program is allowed to execute. Once every job has used its time slice , the queue repeats. It ensures each job is seen too, but longer programs take longer for completion. Job priority is not taken into account.
  • Describe the first come first served algorithm
    Jobs are processed in chronological order by which they are entered in the queue, does not take into account priority.
  • Describe multilevel feedback queues

    Makes use of multiple queues, each which is ordered based on a different priority, processor needs to decide priority
  • Describe the shortest job first algorithm
    The queue storing jobs to be processed is ordered according to how much time is needed for the program to be executed. The processor has to calculate how long each job takes and there is also a risk of program starvation if short jobs keep being added to the queue
  • Describe the shortest time remaining algorithm
    The queue storing jobs to be processed is ordered according to time left until completion, with the jobs with the least time being serviced first, there is also a risk for processor starvation.
  • What are the five types of operating system?

    Distributed
    Embedded
    Multi-tasking
    Multi-user
    Real-time
  • Describe distributed operating systems
    An operating system which is run across multiple devices, allowing the load to be spread across multiple computer processors when a task is run.
  • Describe embedded operating systems

    An operating system built to perform a small range of tasks, which is catered towards a specific device. They have limited functionality and are hard to update but consume less power
  • Describe multi-tasking operating systems
    Enable the user to carry out tasks simultaneous, this is done by time slicing to switch quickly between programs and applications
  • Describe multi-user operating systems
    Multiple users make use of one computer, scheduling algorithms must be ensured to distribute processing time to avoid processor starvation
  • Describe real time operating systems
    Used in time critical computer systems, the OS is designed to perform a task within a guaranteed time frame.
  • What is the BIOS?

    Basic Input Output System - the first program that runs when a computer system is switched on. The PC points to the location of the BIOS each time the computer starts up
  • What is the BIOS responsible for?

    POST (power on self test), checking clock, memory and processor operation, testing externals. Only after these checks can the RAM be loaded from the hard disk
  • What are device drivers?
    Computer programs which are provided by the OS to allow the OS to interact with hardware
  • What are device drivers specific to?
    Computer’s architecture and the operating system itself
  • What are virtual machines?
    A theoretical computer which is a software implementation of a computer system.
  • What is intermediate code?

    Code that is halfway between machine code and object code, it is independent of the processor architecture so can be used across machines and operating systems
  • What are Virtual Machines used for? 

    Used to create a development environment for programmers to test programs on different operating systems. It saves time and money but is relatively slower in terms of code processing.
  • Application software definition?
    Software that is designed to be used by the end-user to perform one specific task.
    Requires system software in order to run
  • Application software examples?
    Word Processing, Spreadsheets, Web Browsers
  • System Software Definition?

    Low level software that is responsible for running the computer system smoothly, providing a platform for application software to run. Users do not directly interact with this software
  • System software examples?

    Utility Programs, Operating System, Device Drivers
  • What is the function of a utility program?
    Maintaining the function and performance of an operating system
  • What different types of utility software are there?
    Compression -> Allowing files to be compressed and decompressed
    Disk defragmentation -> Rearranges the contents of the hard-drive so they are accessed faster
    Antivirus -> Responsible for detecting potential threats to the computer
    Auto update -> Ensures OS is kept up to date
    Backup -> Auto creates routine copies of files selected by user
  • What is source code?

    Object code before it has been compiled
  • What is open source code?
    Code that can be used by anyone without a license and is distributed with the source code