Ich versuche mal, die Sache etwas zu strukturieren:

"Ganz unten" hat jedes Objekt auf IBM i eine systemweit eindeutige virtuelle Adresse. Extern sichtbare Objekte, also Dateien, Programme, Verzeichnisse, Benutzerprofile und so weiter fangen in der Regel an einer 16MB-Boundary an. Die LIC-Komponente "Storage Management" weiss, welche physikalische Speicherstelle (Platte, Main Storage) zu jeder virtuellen Adresse gehört, alle anderen Komponenten greifen nur über die virtuelle Adresse auf Objekte zu.

Dateisysteme (QSYS.LIB, IFS) regeln, wie man die Objekte finden kann. Dabei gibt es zwei wesentliche Sichten auf das Ganze:

1. QSYS (oder Dateisystem QSYS.LIB):
Dies ist die traditionelle AS/400-Sicht. Es gibt nur eine flache Hierarchie: Unten liegt die Bibliothek QSYS. In dieser liegen alle Bibliotheken, Benutzerprofile, Leitungs-, Controler- und Einheitenbeschreibungen und ein paar andere Dinge (erkennbar daran, dass beim entsprechenden CRTxxx-Befehl keine Bibliothek angegeben werden kann), außerdem "normale" Objekte, die auch in jeder anderen Bibliothek liegen könnten. Darüber liegen alle Bibliotheken, und in den Bibliotheken liegen dann die übrigen Objekte, also Programme, Physische und Logische Dateien, Subsystembeschreibungen und was es sonst noch alles gibt, allerdings keine Bibliotheken, so dass die Hierarchie flach bleibt. Objekte sind eindeutig identifiziert über Bibliotheksnamen, Objektnamen und Objektart, also z.B. QGPL/QCLSRC *FILE oder QSYS/QCMD *PGM. Objekte in hierarchischen Dateisystemen (siehe unten) können normalerweise nicht aus QSYS angesprochen werden.

2. IFS:
Das Integrated File System ist hierarchisch aufgebaut und vereinigt Sichten auf verschiedene Dateisysteme. Jedes Dateisystem hat eigene Eigenschaften, unter anderem gibt es Dateisystem QSYS.LIB, das oben beschrieben wird, ein Dateisystem /QOpenSys, das Unix-artig hierarchisch und case-sensitiv ist, und das sogenannte Dateisystem "EPFS", das ähnlich wie ein Windows-Dateisystem hierarchisch, aber nicht case-sensitiv ist (z.B. /QIBM/ProdData/...). Direkt nach dem Root-Verzeichnis wird gegebenenfalls in ein anderes Dateisystem verzweigt, danach kommen dann je nach Dateisystem unterschiedlich aufgebaute Pfadnamen. Objekte in QSYS können auch über nach dem folgenden Schema angesprochen werden: /QSYS.LIB/QGPL.LIB/QCLSRC.FILE/MYMEMBER.MBR oder /QSYS.LIB/QCMD.PGM.

Die Datenbank DB2 für IBM i setzt sich aus Objekten im QSYS-Dateisystem zusammen: Bibliotheken als Schema, Physische Dateien als Tabellen, Logische Dateien als Views und Indizes, Programme als Stored Procedures, außerdem Journale und Journalempfänger für Commitment-Control. Da die Objektnamen in QSYS und den Bibliotheken nur 10 Zeichen lang sein können, werden aus längeren SQL-Namen kürzere Objektnamen generiert. Die Verbindung zwischen SQL- und Objektnamen erfolgt über die Systemkataloge (SYSTABLES etc.), die auf den sogenannten Cross-Reference-Dateien in der Bibliothek QSYS basieren.

Es liegen also alle Datenbankobjekte im QSYS-Dateisystem gespeichert, aber nicht alle Objekte im QSYS-Dateisystem sind Datenbankobjekte. Über IFS kann auf alle QSYS-Objekte zugegriffen werden (mit Einschränkungen), aber es gibt im IFS weitere Objekte (Verzeichnisse, Stream-Files und Symbolic Links), auf die nicht über QSYS zugegriffen werden kann.

Ich hoffe, das beantwortet die Ausgangsfrage.

Mit freundlichen Grüßen,
Christian Bartels.