What is the purpose of the LIC (Licensed Internal Code)?

The Licensed Internal Code (LIC) is a low-level firmware-like layer in IBM i (formerly AS/400) that acts as an interface between the hardware and the operating system (OS/400 or IBM i). It is essential for the system’s stability, performance, and security.

Key Functions of the LIC :
  1. Hardware Abstraction :
    • LIC isolates the OS from direct hardware dependencies, enabling seamless hardware upgrades without affecting applications.
    • Ensures IBM i runs on different generations of IBM Power Systems without major software changes.
  2. System Initialization & Control :
    • Manages the startup process, including hardware diagnostics and system integrity checks.
    • Controls firmware-level functions like memory management and I/O operations.
  3. Object-Based Architecture Support :
    • IBM i uses an object-based system where everything (files, programs, devices) is treated as an object.
    • LIC enforces object-level security and integrity, preventing corruption and unauthorized access.
  4. Single-Level Storage Management :
    • Implements IBM i’s Single-Level Storage (SLS) model, where RAM and disk storage are treated as a single address space for efficient memory management.
    • Automatically handles paging and storage allocation.
  5. Database Integration :
    • LIC is responsible for the tight integration of DB2 for i with the OS, optimizing database performance and reliability.
    • Allows applications to access the database without requiring separate database management software.
  6. Security & Virtualization :
    • Enforces system security policies, including encryption and authentication.
    • Supports Logical Partitioning (LPAR) for running multiple instances of IBM i, AIX, or Linux on the same hardware.

Why is LIC Important?
  • Provides stability and performance optimization for IBM i systems.
  • Ensures backward compatibility, allowing old applications to run on new hardware.
  • Reduces system complexity, as many low-level functions are handled automatically.

Difference Between LIC and OS/400 (IBM i) :
Feature LIC (Licensed Internal Code) OS/400 (IBM i)
Role Low-level firmware-like layer Full operating system
User Interaction Not directly accessible Directly used by admins and developers
Functionality Manages hardware, security, and virtualization Provides UI, database, networking, and application support
Storage Model Controls Single-Level Storage (SLS) Uses SLS for file and memory management