Computer Components and Operating Systems

Computer Components and Operating Systems

Input, Processing, Storage, and Output

  • Computers perform four basic functions:
    • Input: Receiving information.
    • Storage: Storing information.
    • Processing: Processing information.
    • Output: Outputting information.
  • These functions are handled by different components:
    • Input devices: Convert external data into binary.
    • Memory: Stores data.
    • CPU (Central Processing Unit): Performs calculations.
    • Output devices: Convert binary data into physical output.

Input Devices

  • Convert input from the outside world into binary information.
  • Examples:
    • Keyboard
    • Touchpad
    • Camera
    • Microphone
    • GPS
    • Sensors (car, thermostat, drone)

Data Flow Example: Keyboard Input

  • Pressing a key (e.g., 'B') converts it to a number.
  • The number is sent to the computer as binary (1s and 0s).
  • The CPU calculates how to display the letter pixel by pixel.
  • The CPU fetches instructions from memory on how to draw 'B'.
  • The CPU executes instructions and stores the pixel data in memory.
  • Pixel data is sent as binary to the screen.
  • The screen converts binary signals into light and color to display the letter.
  • Thousands of instructions are executed for each letter.

Output Devices

  • Convert binary signals into physical actions.
  • Examples:
    • Screen: Displays visual output.
    • Speaker: Plays sound.
    • 3D printer: Creates physical objects.
    • Robotic arm: Controls motion.
    • Motors: Controls movement in vehicles or machines.
    • Milling machine: Cutting tools.

Processing Power and Memory

  • More complex tasks require more processing power and memory.
  • Modern computers may have multiple CPUs and gigabytes of memory.
  • Every action involves:
    • Inputting data.
    • Storing and processing data.
    • Outputting results.

CPU Architecture: 32-bit vs. 64-bit

  • Modern OS are commonly 64-bit, while older systems may use 32-bit architectures.
  • The architecture refers to the CPU's capabilities.
  • 32-bit Processors
    • Can access up to 2^{32} values.
    • This is equivalent to just over 4 billion values.
    • Can access a maximum of 4 gigabytes of memory.
  • 64-bit Processors
    • Can access up to 2^{64} values, a dramatically larger amount of data.
    • Can theoretically access 17 billion gigabytes of information.
      • 2^{64}. is equal to 18,446,744,073,709,551,616 bytes which divided by 1024 seven times (to convert it to gigabytes) becomes 16 exabytes.
  • Operating systems often have a maximum supported memory value.

Determining System Type in Windows

  • Check the system type in the Control Panel under System settings.
  • It will display whether the OS is 32-bit or 64-bit and the processor type (x64-based).

Driver Compatibility

  • Hardware drivers must match the OS type.
    • Use 32-bit drivers for 32-bit OS.
    • Use 64-bit drivers for 64-bit OS.
  • 32-bit software is sometimes abbreviated as x86, referring to the Intel 8086 line of processors.
  • 64-bit processors are abbreviated as x64.

Application Compatibility

  • A 32-bit OS cannot run 64-bit applications.
  • A 64-bit OS can run both 64-bit and 32-bit applications.
  • To determine if an application is 32-bit or 64-bit in Windows, check its installation location:
    • 32-bit apps are typically installed in "Program Files (x86)".
    • 64-bit apps are installed in "Program Files".

ARM Architecture

  • ARM (Advanced RISC Machine) is an architecture designed by ARM Limited.
  • Third parties use ARM specifications to create ARM-based CPUs.
  • Known for efficiency and speed, using less power and creating less heat.
  • Commonly used in mobile devices and IoT (Internet of Things) devices.
  • ARM capabilities are expanding, blurring the lines between traditional 64-bit and ARM-based systems.

CPU Internals: Cores and Caches

  • A CPU contains multiple individual components.
  • The processor core is where the main processing occurs.
  • Modern CPUs often have multiple cores (dual-core, quad-core, multi-core) on a single physical package.
  • Multiple cores may have dedicated or shared caches.
  • Caches speed up data processing in and out of the CPU.
  • CPUs often have integrated memory controllers and graphics processors.

CPU Monitoring and Hyper-Threading

  • CPU monitoring tools (e.g., Windows Task Manager) can show processing activity.
  • Hyper-threading (HTT) makes a single physical CPU core appear as multiple virtual cores.
  • HTT increases throughput by 15-30%.
  • Both the CPU and OS must support hyper-threading.

Virtualization

  • CPUs often include hardware to virtualize additional operating systems.
  • Allows running multiple OS instances (e.g., Windows, Linux) on a single machine.
  • Virtualization is resource-intensive, so functionality is integrated into CPU hardware.
  • Intel CPUs use Intel Virtualization Technology (VT).
  • AMD CPUs use AMD Virtualization (AMD-V).
  • Virtualization software may require enabling these features in the BIOS.

Random Access Memory (RAM)

  • RAM is high-speed temporary storage used by applications and documents when they are loaded.
  • This is distinct from SSD or hard drive storage.
  • Only able to use apps and documents when their data is loaded into memory.

Memory Modules (DIMMs and SODIMMs)

  • Modern computers use the same type of memory slots.
  • Designed for fast data transfer between memory modules and the CPU.
  • Motherboard documentation specifies the correct memory type.
  • DIMM (Dual Inline Memory Module)
    • Connectors on each side of the module are different.
    • Transfers data in 64-bit widths.
  • SODIMM (Small Outline Dual Inline Memory Module)
    • About half the width of a DIMM.
    • Used in laptops and mobile devices.

RAM Characteristics

  • The black components on memory modules are RAM chips.
  • DRAM (Dynamic Random Access Memory)
    • Requires constant refreshing to retain data.
    • Requires continuous power to maintain data.
  • Random Access
    • Any data location can be accessed directly without fast-forwarding or rewinding.
  • Synchronous
    • Data flow is regulated by a system clock.
    • Data is transferred in or out of the system during each clock cycle.

Memory Module Notches

  • Notches on the bottom of the module prevent using the wrong memory type.
  • Example: Prevents installing a DDR2 module in a DDR3 slot.

Data Rate: Single Data Rate (SDR) vs. Double Data Rate (DDR)

  • SDR (Single Data Rate)
    • Transfers one bit of data per clock cycle.
  • DDR (Double Data Rate)
    • Transfers twice the amount of data in a single clock cycle.

DDR Generations: DDR3, DDR4, DDR5

  • DDR3
    • Improved over DDR2.
    • Doubled the data rates of DDR2.
    • Maximum of 16 GB of RAM per module.
    • Not backwards compatible with other DDR versions.
  • DDR4
    • Increased speed over DDR3.
    • Maximum of 64 GB of RAM per module.
    • Not backwards compatible with other DDR versions.
  • DDR5
    • Faster throughput than DDR4.
    • Maximum of 64GB Ram. can potentially reach 128 GB for UDIMM.
    • Not backwards compatible with other DDR versions.
    • Key/notch location has changed

Operating Systems: The Foundation of Computing

  • An OS ties together hardware components: memory, storage, CPU, peripherals.
  • It provides a standard platform for application developers.
  • Provides a user interface (UI) for human interaction.

Common OS Functions

  • File management: adding, removing, renaming, and changing files.
  • Application execution: Managing memory and CPU resources.
  • Input/Output (I/O): Managing data flow through printers, keyboards, storage devices, USB drives etc.
  • Management and configuration tools.

Microsoft Windows

  • One of the most popular operating systems.
  • Versions: Windows 10, Windows 11, Windows Server.
  • Advantages
    • Extensive industry support.
    • Wide application availability.
    • Customization tools.
  • Disadvantages
    • Frequent malware and spyware attacks due to its popularity.
    • Requires hardware drivers compatible with the specific Windows version.

Linux

  • A Unix-like operating system that is open source and free to use.
  • Many distributions are available.
    • General-use desktop OS.
    • Specialized function-specific versions.
  • Advantages
    • Free of charge; no licensing costs.
    • Runs on almost any hardware.
    • Extensive community support.
  • Disadvantages
    • May lack hardware drivers, especially for specialized hardware.
    • Limited formal support options; relies on community support.

macOS

  • The desktop operating system for Apple hardware.
  • Advantages
    • User-friendly and easy to use.
    • Highly compatible with macOS applications.
    • Secure due to Apple's closed system.
  • Disadvantages
    • Potential lack of device drivers for specific hardware.
    • Higher hardware costs compared to other platforms.

Chrome OS

  • An operating system made by Google.
  • Based on the Linux kernel and designed for low-end platforms.
  • Relies heavily on the Chrome browser and web-based applications.
  • Designed to run on systems with minimal hardware requirements.
  • Many applications run in the cloud.

iPadOS

  • A variant of iOS created specifically for the tablet environment.
  • Features include a desktop-class browser with Safari.
  • Supports Sidecar for using the iPad as a second monitor.
  • Supports keyboard and mouse input.
  • Supports multitasking for running multiple applications simultaneously.

iOS

  • Apple's operating system for the iPhone platform.
  • Based on Unix and designed exclusively for iPhones.
  • Apps are developed using a Software Development Kit (SDK) on macOS.
  • Apple thoroughly checks and approves apps before deployment to the App Store.

Android OS

  • Google's open-source operating system based on Linux.
  • Supported by many hardware manufacturers.
  • Android apps are written in Windows, macOS, and Linux using the Android SDK.
  • Apps can be downloaded from the Google Play Store and third-party sites like the Amazon App Store.

OS Updates and Compatibility

  • Operating systems receive automatic updates, including bug fixes, security patches, and enhancements.
  • Certain data files can be shared between operating systems e.g. word processing documents or video files.
  • Applications must be built for the specific operating system.
  • Web-based applications can be used across different operating systems via a browser.