[5] System Software

Cards (31)

  • Benefits of using program libraries (3)
    · saves programming/testing time as code not need to be written/test
    · code already tested – more likely to work
    · if improvement to library routine it automatically updates
    · perform complex calculations that programmer unable to do
  • Management tasks by OS
    · memory
    · file
    · security
    · hardware
    · process
  • Memory Management tasks
    · control movement of data between RAM processor VM
    · allocates memory to processes
  • File Management
    · creates files/folders
    · renames
  • Security Management tasks
    · creates accounts/ passwords
    · provide firewall/anti-malware
  • Process management
    · decides which process to run next
    · supports multitasking
  • Back up software
    · make copy of data at regular intervals
    · if lost/corrupted it can be retrieved
  • Defragmentation software
    · move free space together
    · individual files contiguous blocks · improve disk access time
  • Utility software types:
    · disk formatter
    · virus checker
    · defragmentation software
    · disk contents analysis/disk repair software
    · file compression
    · back-up software
  • Virus checker
    · scans for virus
    · makes RAM more available
    · removes software taking up memory/replicating
  • How program library used
    · stores pre-written functions/routines
    · library referenced/imported
    · functions can be called
  • Disk formatter
    · initialises disk
    · sets up disk ready to store files
    · deletes existing data
  • Disk repair
    · scans for errors + fixes
    · optimises space
  • Why need OS
    · Hardware unusable without OS
    · Acts as interface between user and hardware
    · Provides software for other programs to run on
  • DLL file
    · Dynamic link library
    · Shared library file
    · Code saved separately from main file
    · Code loaded in only when required
    · Made available to several applications same time
  • Operations of compiler
    · Attempts to translate whole source code
    · Creates error report at end of translation
    · If translation successful/no errors then executable file
  • Operations of interpreter
    · Reads each line translates it then executes it
    · Stops when error occured
  • Context sensitive prompts
    Displays predictions of code being entered
  • Dynamic syntax check
    • underlines/highlights statements that do not meet rules of language
  • Single stepping
    executes one line of program and then stops
  • Report window
    output contents of variables + data structures
  • Breakpoint
    stops code executing at a set line
  • Make use of IDE for writing code
    · Context sensitive prompts
    · Pretty printing
    · Expand/collapse blocks
    · Auto format/index
    · Dynamic syntax check
  • Make use of IDE for testing code
    · Single stepping – execute line by line
    · Breakpoints – check values at certain point
    · Report window – see how variable change
  • PrettyPrinting
    identify key terms (structure/variable name)
  • Assembler
    The software translates low-level statements into machine code for the processor to execute.
  • what to use High level –> machine code
    Compiler/interpreter
  • Low level –> machine code
    Assembler
  • Differences between compiler + interpreter
    · Compiler executable file unlike interpreter
    · Compiled program distributed independently
    · Compiler produces error at end. Interpreter line by line
    · Interpreter executes each statement immediately compiler checks whole program
    · Source code present required for interpreter
  • Benefits of compiler
    · Once translated compiler not needed to run
    · Execute faster
    · Produce executable file
    · Executable file distributed keeping source code protected
  • Benefits of interpreter
    · Easier to debug
    · Stops when error encountered
    · Error corrected real time
    · Translates statement + executes immediately
    · Part of program tested without all program code available