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 :
-
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.
-
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.
-
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.
-
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.
-
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.
-
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 |