1 of 8

Overview: Computer Architecture

  • - Hardware
  • - Operating System (OS)
  • - Kernel
  • - User Space (GUI, CLI, Applications)

​

  • Key Idea: Layers build on each other to allow users to perform tasks.

2 of 8

Hardware

  • Hardware is the physical components of a computer:
  • - CPU: The 'brain' of the computer; processes instructions and data.
  • - RAM: Temporary memory; allows fast access to data and running multiple tasks.
  • - Storage: Long-term memory; stores files, applications, and operating systems.

​

  • Impact: Determines how fast the system runs, how much data it can handle, and what tasks it can perform.

3 of 8

Operating System (OS)

  • The OS is software that manages hardware and software resources:
  • - Examples: Windows, macOS, Linux-based systems.
  • - Provides a user interface (GUI or CLI) and runs applications.

​

  • Impact: Bridges the gap between hardware and user interactions, making the system usable.

4 of 8

Kernel

  • The kernel is the core of the operating system:
  • - Manages hardware resources (CPU, memory, storage).
  • - Handles low-level tasks like process management and communication with hardware.

​

  • Impact: Ensures applications and hardware work seamlessly together.

5 of 8

User Space

User space includes everything outside the kernel in the operating system:

  • Applications: Software tools like web browsers, RStudio, or Nextflow.
    • GUI: Visual interface with windows, icons, and menus.
    • CLI: Command-line interface for typing commands.
  • Shell: Interprets user commands, communicates with the operating system, and can directly interact with the kernel to execute low-level tasks.
  • Utilities: Small tools that perform specific system functions, like file management or process monitoring, often accessed through the shell.

​

Impact: This is where all user interactions happen.

6 of 8

GUI vs. CLI

  • Graphical User Interface (GUI):
  • - Easy-to-use visual interface with icons and menus.
  • - Example: Dragging files to a folder or clicking to open an application.

​

  • Command-Line Interface (CLI):
  • - Text-based; requires typing commands.
  • - Example: Running bioinformatics tools like `grep` or `ls`.

​

  • Impact: CLI is essential for advanced tasks like bioinformatics.

7 of 8

Tools for Working with Software & Large Datasets

1. Containerization: Docker & Singularity

    • Purpose: Package software and dependencies for consistency.
    • Use Case: Run workflows anywhere, from laptops to clusters.

​

2. Environment Management: Conda

    • Purpose: Isolate software environments to avoid conflicts.
    • Use Case: Manage Python, R, and bioinformatics tools.

​

3. Cloud Computing

    • Purpose: Access virtual servers and storage on-demand.
    • Use Case: Handle large datasets and collaborate remotely.

​

4. High-Performance Computing (HPC)

    • Purpose: Leverage supercomputers for massive computations.
    • Use Case: Genome sequencing, machine learning, simulations.

8 of 8

Why This Matters for Bioinformatics

  • Bioinformatics users often rely on the CLI because:
  • - Tools are command-line-based (e.g., genome alignment, sequence searches).
  • - CLI offers greater flexibility and power than the GUI for large-scale data.

​

  • Understanding the OS, kernel, and CLI helps you troubleshoot, manage resources, and optimize workflows.