CS 1.2 Systems Software

Cards (74)

  • Multi-tasking OS - When the processor switches between tasks to appear simultaneous.It requires CPU time scheduling.
  • Multi-User OS - Allows multiple users to share a computer's resources at the same time, such as with computer servers. It is economical, but requires sharing resources.
  • Real-Time OS - Carries out actions in guaranteed amount of time, fractions of seconds. Seen in autopilot systems. They are needed for time critical systems, however low multitasking.
  • Embedded OS - Built into devices - washing machines. They have ROM and low power CPUs. Is small, fast, cheap but not easy to update.
  • Distributed OS - A collection of independent but networked nodes, managed by a system management software. They present as a single system, such as with AI and weather forecasting. It reduces load of one computer, and if one fails, other nodes still work However, sharing is bad for security, and is complex.
  • Operating System - System software that manages computer hardware and software held in secondary storage.
  • Memory Management - Recording how memory in the computer is divided and identified so that memory is allocated efficiently between processes that are running.
  • Process Management - Scheduling allows multiple processes to run in turn using a scheduling algorithm.
  • File Management - Enables files and directories to be moved, copied, deleted and renamed on secondary storage devices.
  • Network management - Sharing resources of a remote computer such as files or printers.
  • Security - The OS supports the security of a device by ensuring that resources are protected from unauthorised access through the use of permissions and passwords, e.g user access rights, user authentication, file permissions.
  • Paging - RAM is divided into fixed sized blocks, for making optimum use of memory.
  • Segmentation - RAM is divided into varying sized blocks representing logical parts of the program.
  • Interrupt - An event external to the currently executing process that causes a change in the normal flow of instruction execution eg printer out of paper.
  • Interrupt Service Routine - A particular routine that is run to service an interrupt.
  • Virtual Machines - A theoretical computer and a software implementation of a computer system. Provides an environment with a translator for intermediate code to run.
  • Device Drivers - Computer programs that allow the operating system to interact with hardware.
  • BIOS - Basic Input Output System is the first program that runs when a computer system is switched on. Runs a series of tests before the operating system is loaded into memory.
  • Scheduling - Operating system ensures all sections of programs being run receive a fair amount of processing time using scheduling.
  • Round robin - Each job is given a section of processor time. Once each job in the queue has used its first time slice, they are given another slice of processor time until a job has been completed.
    Advantages: All jobs will eventually be attended to.
    Disadvantages: Longer jobs will take a much longer time for completion No job priority or urgency checks.
  • First come first served - Jobs are processed in chronological order by which they entered the queue.
    Advantages - Straightforward to implement.
    Disadvantages - Does not take into account job priority or urgency
  • Multilevel feedback queues - This makes use of multiple queues, each which is ordered based on a different priority.
    Advantages - Takes into consideration different job priorities.
    Disadvantages - Difficult to implement.
  • Shortest job first - The queue is ordered according to the time required, with the longest jobs at the end.
    Advantages - Waiting time is reduced.
    Disadvantages - Requires processor to calculate how long each job will take - Does not take into account job priority or urgency
  • Shortest remaining time - The queue storing jobs to be processed is ordered according to the time left for completion, with the jobs with the least time to completion being serviced first. Advantages: - Throughput is increased as shorter processes can be quickly completed Disadvantages: - Does not take into account job priority or urgency - Processor starvation if short jobs are continuously added to the queue
  • Virtual Memory - A section of the hard drive acts as RAM when the space in main memory is insufficient to store programs being used. - Sections of programs not currently being used are temporarily moved into virtual memory through paging. - This frees up memory for other programs in RAM.
  • Application - Any program that can be run on a computer system
  • System software - Program that is needed to run the computer's hardware and application programs
  • Open source software - The program's source code is freely available to view/edit by anyone. It is made by many people and distributed under licenses.
  • Bespoke software - Custom software specially developed to suit the needs of a particular organisation or client. Examples might include software for the military.
  • Closed source/proprietary software - A program that legally remains the property of the organisation, group, or individual who created it. The organisation that owns the rights to the product usually does not release the source code, and may insist that only those who have purchased a special license key can use it.
  • Utility software - Programs designed to help analyse, configure, optimise or maintain a computer eg system clean up, defragmenter, firewall, Task Manager, compression. Often built into OS
  • General purpose software - Applications that are not designed for a particular business, industry or job and can do multiple different tasks. Word-processing software, spreadsheet and Presentation software.
  • Special purpose software - Applications that are designed for a particular business, industry, job and tend to perform one task.
  • Translator - A program that converts code written in one programming language into equivalent code in another language. Assemblers, compilers and interpreters are all translators.
  • Compiler - Translate high-level code into machine code all at once. Initial compilation process is longer than using other translators. Compiled code is platform-specific. Compiled code can be run without a translator present
  • Interpreter - Translate and execute code line-by-line. Produce an error if a line contains an error. Slower than running compiled code. Correct interpreter required to run on different platforms. Code is platform-independent. Useful for testing code.
  • Assembler - Assembly code is a low-level language that is platform specific. Assemblers translate assembly code into machine code. Each line of assembly code is equivalent to almost one line of machine code.
  • Lexical Analysis - Whitespaces and comments are removed. Keywords and identifiers (lexemes) are replaced with tokens. Information about tokens is stored in a symbol table. Tokens include identifers, keywords, operators and symbols.
  • Syntax Analysis - Finds syntax errors in the tokenised program by checking if the rules of the language have been met, for example that an "else" must have a matching "if", brackets must come in pairs etc.
    An abstract syntax tree is built, and then semantic analysis checks for logic errors, for example undeclared variables or type mismatches.
  • Library - A pre-written collection of files, programs, routines, scripts, or functions that can be referenced in the programming code to allow programmers to use their functionality in their own programs.