CH5

Cards (35)

  • Operating System
    Software that provides an environment in which applications can run and provides an interface between hardware and human operators
  • Tasks of an Operating System
    • Memory Management
    • Security Management
    • Process Management
    • Hardware Management
    • File Management
  • Memory Management
    1. Memory optimization
    2. Maintain optimization by swapping data to and from HDD/SSD
    3. Memory organization
    4. Partitioned allocation
    5. Memory protection
  • If memory management is not done properly, data could be lost, security issues, computer can crash
  • Security Management
    1. Carry out OS updates
    2. Ensure anti-virus software is up to date
    3. Maintaining access rights for all users
    4. Offering recovery of data
  • Process Management
    Allocating resources and permit the sharing and exchange of data, thus allowing all processes to be synchronized
  • Hardware Management
    1. Controlled by queues and buffers
    2. Communicating with all input and output devices using device drivers
    3. Translating data from a file into a format that the input/output device can understand using device drivers
    4. Ensuring each hardware resource has a priority so that it can be used and released as required
  • File Management
    1. Defining the file naming convention
    2. Performing specific tasks (copy, open, create)
    3. Maintaining the directory structures
  • Utility Software
    • Hard Disk Formatter
    • Virus Checker
    • Defragmentation Software
    • Disk Content Analysis/Repair Software
    • Disk Compression and File Compression
    • Back-Up Software
  • Hard Disk Formatter
    1. OS need to know how to store files and where the files will be stored on the hard disk
    2. Will organise storage space by assigning it to data blocks
    3. Disk surface may have a number of partitions
    4. Once partition created, they must be formatted
    5. Allows OS to recognise a file and know where to find it on the disk surface
    6. Also have a checking tool for each sector
    7. Replacing bad sectors with new unused sectors
  • Virus Checker
    1. Check software or files before they are run or loaded on a computer
    2. Compare possible viruses against a database of known viruses
    3. Carry out heuristic checking
    4. Put files or programs which may be infected into quarantine
    5. Automatically delete the virus
    6. Allow user to decide whether to delete the file
  • Defragmentation Software
    1. When HDD become full, blocks used for files will become scattered all over the disk surface
    2. Cause slower data access time
    3. Better if files could be stored in contiguous sectors, hence reducing HDD head movement
  • Disk Content Analysis/Repair Software
    1. Used to check disk drivers for empty space and disk usage by reviewing files and file folders
    2. Can led to optimal use of disk space by removal of unwanted files and downloads
  • Disk Compression and File Compression
    1. File Compression = to save storage space and make it quicker to download/upload files and quicker to send files via email
    2. Disk Compression = compresses data before writing it to hard disk and decompressed again when reading
    3. High priority and will override all other OS routines
    4. Do not uninstall — will make any previously saved data to be unreadable
  • Back-Up Software
    1. Allow a schedule for backup files to be made
    2. Only carry out a back-up procedure if there have been any changes made to a file
  • Program Libraries
    When software is under development and programmer can utilize pre-written subroutines in their own programs (save development time)
  • When software routines are written, they are saved in a program library (Library Program) for future use by other programmers
  • Benefits of Developing Software using Program Libraries
    • Removes the need to rewrite the many routines every single time (save time and money)
    • Leads to modular programming
    • Allows continuity with other games that may form part of a whole range
    • Allows to maintain eye of a 'corporate image' in all the software being developed by a company
    • Saves development time Ching to test each routine since the routines are all fully tested in other software and should be error free
  • Types of Program Libraries
    • Static Library
    • Dynamic Link Library Files (DLL)
  • Static Library
    Software being developed is linked to executable code in the library at the time of compilation
  • Dynamic Link Library Files (DLL)
    Software being developed is not linked to the library routines until actual run time
  • Benefits of DLL
    • Executable code of the main program is smaller since DLL files are only loaded into memory at run time
    • Possible to make changes to DLL files independently and won't be necessary to recompile the main program
    • Save memory and execution time
  • Drawbacks of DLL
    • Executable code is not self-contained, therefore all DLL files need to be available at run time otherwise error or crash
    • Any DLL linking software in the main program needs to be available at run time to allow links with DLL files to be made
    • Risk of DLL having a malware which can be a risk to the main program when linking
  • Language Translators
    • Assembler
    • Compiler
    • Interpreter
  • Assembler
    Translates source program to assembly language - machine code
  • Compiler
    Translates high level language to machine code
  • Interpreter
    Translates high level language to machine code, every line of program are interpreted then executed each time the program runs and its under the control of interpreter
  • Differences between Compiler and Interpreter
    • Compiler: User only needs the executable code, developer has the source code, source programs has no syntax or semantic errors, harder to develop and debug, finds all errors in program
    • Interpreter: Easier to develop and debug, translate line by line, untested programs should not be able to cause the computer to crash, end user has access to source code and run time libraries
  • Partial Compiling and Interpreting
    Source code is checked and translated by compiler into object code, compiled object code is a low level machine independent code, to execute the program, the object code can be interpreted by an interpreter or compiled using a compiler
  • Integrated Development Environment (IDE)
    Used by programmers to aid the writing and development of programs
  • Components of an IDE
    • Source Code Editor
    • Compiler, interpreter, or both
    • Run-time environment with a debugger
    • Auto-documenter
  • Source Code Editor
    Allows program to be written and edited without the need to use a separate text editor, speed up the development process, color code words and layout of the program, dynamic syntax checks for possible syntax errors
  • Compiler, interpreter, or both in an IDE
    Interpreter is used for developing the program, Compiler to produce the final version of the object code
  • Run-time environment with a debugger
    Debugger = program under development and aids the process of debugging, allows programmer to go single step through the program a line at a time or set a breakpoint to stop the execution of the program at a certain point in the source code, report window then shows the contents of the variables and expressions evaluated
  • Auto-documenter
    Explain the function and purpose of programming code