Fundamentals of Computer Systems

Cards (25)

  • Hardware: The physical components of a computer system, including both external (peripheral) and internal (processing and storage) parts.
  • Software: Any program or collection of instructions and data that can be run and processed by a computer system.
  • Application Software: A program that can be run on a computer, allowing the user to carry out specific tasks.
  • System Software: A program designed to cover technical aspects of setting up, running and maintaining a computer system, and providing a platform for application software.
  • Assemblers: A translator in low level language, which converts assembly language into machine code.
  • Compilers: A translator that converts high level language to machine code
  • Libraries: A collection of programs which are already compiled and can be loaded into a program and run whenever required
  • Operating System: A set of programs managing the operation of the computer that is loaded into RAM everytime the computer is turned on. It bridges the user to the hardware.
  • Translator: A program which converts code from one computer language to another
  • Resource Management: The collective efficient management of the available hardware and software to optimise the performance of the computer system
  • Scheduling: Allocating processor time to each application to ensure processor time is used as efficiently as possible when multitasking.
  • Assembly Language: A low-level programming language consisting of a set of mnemonic instructions that directly corresponds to the processor architecture’s machine code instruction set.
  • High-Level Language: A programming language with a strong abstraction from a processor’s internal instruction set that is much more human-readable with natural-language keywords, such as Python or Java
  • Imperative Languages: A programming language built on the programming paradigm of using subroutines and procedures as instructions to change a program’s state and describe how a program operates.
  • Low-Level Language: A programming language with little to no abstraction from a processor’s internal instruction set, such as machine code or assembly language.
  • Machine Code: A low-level programming language written in binary that is directly understood by the CPU
  • Boolean Expressions: A combination of boolean variables and logical operators which evaluates to either TRUE or FALSE depending on the input.
  • Boolean Logic: A type of algebra with logical operators where all values and expressions ultimately reduce to TRUE or FALSE.
  • Commutation Laws: A∧B = B∧A, A∨B = B∨A
  • De Morgan’s First Law: ¬(A∨B) = ¬A ∧ ¬B
  • De Morgan’s Second Law: ¬(A∧B) = ¬A ∨ ¬B
  • Distribution Laws: A∧(B∨C) = (A∧B) ∨ (A∧C), (A∨B) ∧ (C∨D) = (A∧C) ∨ (A∧D) ∨ (B∧C) ∨ (B∧D)
  • Double Negation Law: A = ¬¬A
  • Idempotence Laws: A∧A = A, A∨A = A
  • Inverse Laws: A ∧ ¬A = 0, A ∨ ¬A = 1