Computing

Cards (89)

  • Embedded system
    A special-purpose computer encapsulated by a larger system
  • Embedded systems are surrounded by a larger system, unlike a normal laptop or desktop computer which is a non-embedded system
  • Traditional embedded systems
    • Only perform specific tasks relevant to their larger system
    • Cannot be easily programmed unless manufactured
  • Embedded systems
    • Phones
    • Cameras
    • Microwaves
    • Ovens
  • Virtual memory
    A memory management procedure where the operating system creates a temporary section of volatile memory in the secondary storage to extend the RAM capacity when it is full
  • Virtual memory process
    1. RAM is full
    2. Operating system creates temporary section of volatile memory in secondary storage
    3. Data from RAM not currently being used is moved to virtual memory
    4. When program is reopened, data is swapped back from virtual memory to RAM
  • Virtual memory
    • Slower than RAM because data is stored in secondary storage
    • Misconception that it is for new data, when it is actually for older data not currently being used
  • Flash memory
    Non-volatile memory used in secondary storage devices like SD cards, USB drives, and SSDs
  • Flash memory
    • More reliable and durable than mechanical storage like hard drives
    • Has a finite number of write cycles, but technology has improved to make this less of an issue
  • Virtual memory acts as if it is volatile memory, even though it is stored on a non-volatile medium
  • Secondary storage
    Any memory device not directly connected to the CPU, has to go through controllers, no direct channel to CPU
  • Main memory (RAM)
    Has its own buses that connect directly to the CPU
  • You need secondary storage for long-term persistent (non-volatile) storage to store data that is kept when power is turned off
  • You can't have a computer system without at least a connection to secondary storage to get instructions from and store data
  • Secondary storage mediums
    • Speed (reading and writing)
    • Durability
    • Reliability
  • Optical storage
    Stores data as binary 1s and 0s represented by variations of height (pits and lands) on the disk surface, read by reflecting light off the disk
  • Evaluation of optical storage
    • Small capacity per unit
    • Fairly reliable and durable but can be easily damaged
    • Portable and easy to transport and store
  • Magnetic storage
    Uses read/write heads with electromagnets to magnetize and demagnetize parts of the disk to represent data
  • Evaluation of magnetic storage
    • Very large capacity
    • Comparatively cheap
    • Quite reliable but often stop working after a certain time
    • Not very durable, can be easily damaged
  • Solid-state storage (SSD)
    Non-mechanical, consists of digital circuits and logic gates, no spinning disk
  • Evaluation of solid-state storage
    • Much faster read/write times than hard drives
    • More expensive per capacity
    • Reliable as no mechanical parts
    • No need for defragmentation
  • Cloud storage
    Data stored on multiple remote servers, accessed over the internet
  • Evaluation of cloud storage
    • Multiple versions of files kept for durability
    • Reliability of service may vary
    • Very portable, can access anywhere with internet
    • Costs may be cheaper for large users due to economies of scale, but more expensive for smaller users
  • Software
    Programs that run on a computer
  • Categories of software
    • Application software
    • System software
  • Application software
    Software for user benefit, e.g. word processors, browsers, games
  • System software
    Software that performs tasks related to hardware and provides services for other software, e.g. operating systems, game engines, drivers, utility software
  • Operating system (OS)

    The most important system software, managing hardware and providing services for other software
  • Purposes of an operating system
    • Manage hardware
    • Provide interface between hardware and other software
    • Provide security layer
    • Abstract from hardware
  • Types of user interface in an OS
    • Command-line interface (CLI)
    • Graphical user interface (GUI)
  • Command-line interface (CLI)

    Shell that responds to text commands
  • Graphical user interface (GUI)
    Interface with icons, menus, and other visual indicators
  • Process
    A program being executed by the processor
  • Process management in single-tasking OS
    • Executes one process at a time
    • Suspends/interrupts necessary
  • Process management in multi-tasking OS
    • Allocates CPU time for each process
    • Prioritizes processes based on importance
  • Memory management
    Allocates and manages RAM space for programs, including using virtual memory
  • Boot loader
    Small program that loads the OS into RAM when the computer is turned on
  • Peripheral device
    Supplementary hardware device like keyboard, printer, camera
  • Device driver
    Program that converts between signals used by peripheral devices and the OS
  • User management
    Maintaining and allowing creation of user accounts, including passwords and permissions