Computer Systems Flashcards
Software Def
Sequneces of instructions that are executed to perform a task
Types of system software
Operating systems
Utility program
Library program
Translators
Operating Systems
Provides a virtual machine, hides user from complex computer workings
Resource Allocation
Resource Allocation in an Operating System
Processor scheduling
Memory management
I/O control
Utility Programs
Used to complete generic housekeeping tasks ie
Backups
Data compression
Encryption
Libraries
Contains frequent, useful functions used by a program
Machine Code
Directly manipulates the processor using binary digits
No need for translate hence faster execution
Useful in embedded systems
No constraints as individual bits are manipulated
Higher errors and High effort
Assembly Language
Mnemonics added to simply process
Less error prone and more compact
Each mnemonic has 1 to 1 correlation with machine code
High Level Languages
Must be translated into machine code by translator or compiler
Time consuming to execute
Can’t control at the bit level
Uses English instructions making debugging and coding easier
Imperative languages tell the computer HOW it should do the task
Compiler
Checks source code for errors line by line
Translation occurs at once
No need for source code to be present when code is executed
Protects source code from extraction
Platform specific as they produce machine code
Interpreter
Translation begins immediately
Each line is checked for errors and translated sequentially
Source code and interpreter must be present during execution
Hence little protection for source code
Compilers and Intermediary Languages
Compiler translates high level code into an intermediary language known as bytecode
Uses virtual machine to execute the bytecode on different processors
Only translated once, but used on many processors
Object code
Output of the sourced ode given to a translator
Assembler
Assembly language into machine code
Due to 1 to 1 nature of mnemonics, fairly quick
Platform specific