SlideShare a Scribd company logo
The IBM AS/400
  A technical introduction


      Tom Van Looy
      tom@ctors.net
       August 2009
Overview
•   Who am I?

•   AS/400 history
•   What is IBM i?
•   Other environments
•   Programming
•   Work management
•   Exploring the system
Who am I
●   AS/400 system programmer (+4 years)
●   Currently Linux sysadmin (@priorweb.be)
●   Linux and *BSD user
●   Belgian village
Why this talk
●   AS/400, 20 year anniversary (2008)
●   You have nothing else to do ;-)
    –   I brought a system here to play with
         ●   Type-model 9402-200 (feat 2031)
         ●   11.6 CPW
         ●   56 MB main memory (8+16+32)
         ●   3093 MB ASP (3x1031)
         ●   OS/400 V3R2M0 (EOL 31/may/2000)
         ●   Dutch :-(

●   I do not represent IBM
    these are my views and opinions!
AS/400 history
AS/400 history
●   IBM Rochester, Minnesota
●   Midrange system
●   Different and extremely closed-source
●   Project Silverlake
●   Designed by Dr. Frank Soltis [1]
Rochester systems
●   System/3 (1969)
●   System/32 (1975)
●   System/34 (1977)
●   System/38 (1978)
●   System/36 (1983)
●   Fort Knox
●   AS/400 (1988)
S/3 (1969)   [2]
S/32 (1975)   [2]
S/34 (1977)   [2]
S/38 (1978)             [2]
Control Program Facility (CPF)
S/36 (1983)         [2]

System Support Program (SSP)
Fort Knox
●   S/36
●   S/38
●   Series/1
●   RS/6000 (AIX)
●   Some small IBM mainframes
AS/400 (1988)   [2]
     OS/400
Renaming
●   AS/400
●   AS/400e
●   eServer iSeries
●   eServer i5 (i5/OS)
●   System i5
●   System i

●   POWER systems (i + p)
    –   Power 6
    –   Rename i5/OS to IBM i
IBM Power systems   [3] [4] [5]




●   AIX, IBM i, Linux
What is IBM i?
Design principles
●   Technology independence
●   Object-based design
●   Hardware integration
●   Software integration
●   Single-level store
Technology independence
●   Not defined by hardware
●   VM interface to the system (TIMI)
●   IMPI (48bit CISC) -> PowerPC (64bit RISC)
    –   1995, save/restore
Technology independence

                         +---+----------------+      +---+----------------+
                         |   | applic.        |      |   | applic.        |
                         |   +------------+   |      |   +------------+   |
                         |     OS/400     |   |      |     IBM i      |   |
                         +----------------+---+      +----------------+---+
(opcodes) VM ---------> |         TIMI        |      |        TIMI        |<------------ VM (opcodes)
                         +--------------------+      +--------------------+
                         | +----------------+ |      | +----------------+ |
       kernel ---------> | |      VLIC      | |      | |                | |<------------ kernel
      (PL/MP)            | +----------------+ |      | |                | |         (C++, PPC AS)
                         | |      IMPI      | |      | |      SLIC      | |
                         | +----------------+ |      | |                | |
                         | |      HLIC      | |      | |                | |
                         | +----------------+ |      | +----------------+ |
                         | | 48-bit addr    | |      | | 64-bit addr    | |
                         | | CISC interface | |      | | RISC interface | |
                         | |       HW       | |      | |       HW       | |
                         | +----------------+ |      | +----------------+ |
                    +----------------------+        +----------------------+

                       system's instruction set defines all pointers as 128-bit
Object-based design
●   Only objects supported data structure at MI
    –   Atomic
●   Message passing
    –   Every object has a message queue
●   Not fully OO
    –   No subclasses
    –   No inheritance
    –   Polymorphism minimalistic
Hardware integration
●   Information intensive environments
●   The move to PowerPC
    –   Support Java, e-commerce, BI, …
●   Balanced design
    –   Fast processing
    –   High bandwidth, high performance I/O
●   POWER capacity expressed in CPW
    –   TPC-C benchmark
    –   Disregards CPU speed
Software integration
●   Security, communications, backup/restore, …
●   Modern database (DB2/400)
●   Temporary/permanent PTF's
Introduction to the IBM AS/400
Single-level store
●   64-bit address space
    –   One large shared storage
    –   Contains all programs and data
    –   Addressable from single permanent address
         ●   Reference by name or pointer
         ●   Don't worry where it resides
    –   No address reuse
●   No process local storage
    –   Task creation
    –   Context switching
●   Virtual addressing moves object into real
    memory (not accessible by programmer)
Other environments
PASE
●   Portable Application Solution Environment
    –   Incorporated 64-bit AIX runtime env.
●   Private Address Space Environment
●   Not technology independent
    –   does not talk to TIMI
    –   syscall interface to the SLIC
PASE
●   Call PASE from i
    –   QSH CMD('ls /home/tvl')
●   Call i from PASE
    –   system ”WRKOBJLCK OBJ(MYFILE)
          OBJTYPE(*FILE)”
●   Query DB2 from PASE, …
●   Run Apache, X, ...
Hypervisor
●   Hardware support in PowerPC
●   Logical Partitioning (LPAR)
    –   AIX, Linux, IBM i
    –   Created and managed from the HMC
●   Dynamic resource allocation at runtime
Management
●   Twinax (obsolete)
●   Hardware Management Console (HMC)
    –   IPL the system
    –   Service tools
    –   LPAR
                              +-------+
                              |       ||
         +-------+           | IBM i ||
         |        ||          |       ||   +----+ +----+ +----+
         | HMC    ||------------[FSP] ||   | WS | | WS | | WS |
         |        ||----+ +---|       ||   +----+ +----+ +----+
         +-------+/     | |   |       || /____/| /____/| /____/|
        /_______/       | |   | [CP ] ||        |       |       |
                        | |   +-------+/        |       |       |
                      ~~~~~~~                   |       |       |
                    (         )-----------------+       |       |
                   (    LAN    )------------------------+       |
                    (         )---------------------------------+
                      ~~~~~~~
Programming
Languages
●   CL
●   RPG
●   COBOL
●   SQL
●   C
●   Pascal
●   Java
OPM, EPM
●   Original Program Model
●   Extended Program Model
    –   C, Pascal, ...
●   Translate into MI programs (*PGM)
    –   Morphed into PPC pgm's by optimizing translator
●   Only call external
    –   Late binding
ILE
●   Integrated Language Environment
    –   New compiler, optimizing translator, binder facility
●   Output *MODULE
    –   Package into *PGM, *SRVPGM
●   Early binding
                        +----------+---------+-------+
                        |    ILE   | Windows | Linux |
    +-------------------+----------+---------+-------+
    | After compilation | *.MODULE | *.obj   | *.o   |
    +-------------------+----------+---------+-------+
    | Bind by copy      | *.PGM    | *.exe   | *     |
    +-------------------+----------+---------+-------+
    | Bind by reference | *.SRVPGM | *.dll   | *.so |
    +-------------------+----------+---------+-------+
Java
●   Compiled into byte codes (CRTJVAPGM)
    –   Part of the MI
    –   Used by the JVM
    –   Implemented in SLIC
●   Native JVM
●   PASE JVM
Work management
LUW
●   Jobs
    –   Interactive (call)
    –   Batch (submit)
    –   Communication
    –   System
●   job-number/user-name/job-name
●   Numbers not reused
Introduction to the IBM AS/400
Subsystems
●   Controlling subsystem
    –   QCTLSBSD sysval
         ●   QBASE
         ●   QCTL
              –   QINTER (interactive jobs)
              –   QBATCH (batch jobs)
              –   QCMN (communication jobs)
              –   QUSRWRK (user work)
              –   QSERVER (server jobs)
              –   QSPL (spooling)
●   Started by QSTRUPPGM (sysval)
●   Restricted state
    –   ENDSBS SBS(*ALL)
    –   Backups, console display run in CTLSBS
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Job queue's
●   Batch jobs are placed on job queue's
●   Interactive jobs on workstation queue's
●   Subsystems read one or more queue's
    –   Job queue belongs to only one subsystem
    –   Jobs have priority on queue
    –   Queue's are FIFO
Introduction to the IBM AS/400
Storage pools
●   Divide memory
    –   *MACHINE pool
    –   *BASE pool
    –   ...
●   Dynamic
    –   Shared pools
    –   Adjust paging options (*CALC)
    –   Pool size, job activity level (QPFRADJ sysval)
●   Fixed size
    –   Private pool
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Routing
●   Job has a job describtion (*JOBD)
    –   Job attributes
         ●   No runtime attributes
         ●   Output queue
         ●   Job initial library list
         ●   Routing data

●   Subsystem
    –   Routing entry's
         ●   Subsystem pool
         ●   Class object (*CLS)
              –   Runtime priority
              –   CPU time slice
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Exploring the system
Objects
●   Library's (*LIB object)
    –   Can't contain *LIB objects
         ●   Except QSYS, only contains *LIB's
    –   IBM-supplied start with Q or #
●   Objects
    –   Inside *LIB
    –   Max 10 characters
    –   Name + object type = unique
    –   EBCDIC
Introduction to the IBM AS/400
File system
●   Integrated File System (IFS)
    –   Virtual File System (VFS) architecture
         ●   QSYS.LIB (OS/400)
         ●   QOpenSys (POSIX, XPG)
         ●   QOPT (DVD)
    –   NFS, SMB
Introduction to the IBM AS/400
Users
●   QSECOFR – security officer
●   Authority levels
    –   All object authority (*ALLOBJ)
    –   Auditing (*AUDIT)
    –   I/O system configuration (*IOSYSCFG)
    –   Save system (*SAVSYS)
    –   Security administration (*SECADM)
    –   Service functions (*SERVICE)
    –   Spool control (*SPLCTL)
●   Group profiles
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Navigating
●   Commands
●   Menu's (*MENU)
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
Introduction to the IBM AS/400
The end
●       Thank you for listening!
●       Images (google)
    –     [1] http://www.ibmsystemsmag.com/ibmi/endpgm/2008/atriumphofhardwork/assetuploadfile60620807.jpg
    –     [2] http://www-03.ibm.com/ibm/history/exhibits/rochester/rochester_album.html
    –     [3] http://www.nasi.com/images/ibm_power-family.jpg
    –     [4] http://www.tug.ca/eblast/library/logo_IBM_POWER6_BoP.gif
    –     [5] http://www.pclaunches.com/entry_images/0408/09/ibm_power595-2.jpg
    –     [6] http://andrewscg.files.wordpress.com/2008/02/i5os-v6r1-logo.jpg
    –     [7] http://www.gobmug.com/images/ibm_i.gif
Introduction to the IBM AS/400

More Related Content

What's hot (20)

PPT
Introduction to FlashCopy
HelpSystems
 
DOC
Advanced REXX Programming Techniques
Dan O'Dea
 
PPTX
Cloudstack UI Customization
CloudStack - Open Source Cloud Computing Project
 
PDF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Brendan Gregg
 
PDF
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
Florence Dubois
 
PPTX
GDPS and System Complex
Najmi Mansoor Ahmed
 
PPTX
A 30-minute Introduction to NETCONF and YANG
Tail-f Systems
 
PDF
z/OS Communications Server Technical Update
zOSCommserver
 
PDF
How BGP Works
ThousandEyes
 
PPTX
U-Boot Porting on New Hardware
RuggedBoardGroup
 
PDF
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
ShapeBlue
 
PPT
Presentation On Com Dcom
Bharat Kumar Katur
 
PPTX
MISE EN ŒUVRE ET IMPLEMENTATION SUR GLPI.pptx
PriscilleGANKIA
 
PPTX
Device Tree Overlay implementation on AOSP 9.0
Cheng Wig
 
PDF
Kamailio :: A Quick Introduction
Olle E Johansson
 
PPT
Parallel Sysplex Implement2
ggddggddggdd
 
PDF
IP Routing on z/OS
zOSCommserver
 
PPTX
Why and How to Interconnect IXP
Internet Society
 
PDF
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
PDF
Large BGP Communities
APNIC
 
Introduction to FlashCopy
HelpSystems
 
Advanced REXX Programming Techniques
Dan O'Dea
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Brendan Gregg
 
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
Florence Dubois
 
GDPS and System Complex
Najmi Mansoor Ahmed
 
A 30-minute Introduction to NETCONF and YANG
Tail-f Systems
 
z/OS Communications Server Technical Update
zOSCommserver
 
How BGP Works
ThousandEyes
 
U-Boot Porting on New Hardware
RuggedBoardGroup
 
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
ShapeBlue
 
Presentation On Com Dcom
Bharat Kumar Katur
 
MISE EN ŒUVRE ET IMPLEMENTATION SUR GLPI.pptx
PriscilleGANKIA
 
Device Tree Overlay implementation on AOSP 9.0
Cheng Wig
 
Kamailio :: A Quick Introduction
Olle E Johansson
 
Parallel Sysplex Implement2
ggddggddggdd
 
IP Routing on z/OS
zOSCommserver
 
Why and How to Interconnect IXP
Internet Society
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
Large BGP Communities
APNIC
 

Similar to Introduction to the IBM AS/400 (20)

PDF
Linux on System z debugging with Valgrind
IBM India Smarter Computing
 
DOCX
Web technologies
Sunny Chinnu
 
DOCX
Web technologies
Sunny Chinnu
 
PDF
Integrating x86 Applications into Linux on System z Environments
IBM India Smarter Computing
 
PDF
Bringing You Up to Date with LE for z/VSE
IBM India Smarter Computing
 
PDF
z/VSE Connectors Update
IBM India Smarter Computing
 
PDF
The New z/VSE Database Connector (DBCLI)
IBM India Smarter Computing
 
PDF
Linux on System z the Toolchain in a Nutshell
IBM India Smarter Computing
 
PDF
Merge the power with VMware
COMMON Europe
 
PPT
Arch stylesandpatternsmi
lord14383
 
PDF
z/VSE V5.1 Update
IBM India Smarter Computing
 
PPT
Nos Windows
Ruben Gonzalez
 
PDF
Aix6+quick+ref+sheet
db2kid
 
PDF
IBM z/VSE V4.3 - More capacity for growth
IBM India Smarter Computing
 
PPTX
COA Lecture 01(Introduction to COAL).pptx
muhammadanasgc
 
PPTX
I3 multicore processor
Amol Barewar
 
PPTX
I3
Amol Barewar
 
PDF
z/OS Small Enhancements - Edition 2020A
Marna Walle
 
PDF
Ch2 embedded processors-i
Ankit Shah
 
PDF
Buiding a better Userspace - The current and future state of QEMU and KVM int...
aliguori
 
Linux on System z debugging with Valgrind
IBM India Smarter Computing
 
Web technologies
Sunny Chinnu
 
Web technologies
Sunny Chinnu
 
Integrating x86 Applications into Linux on System z Environments
IBM India Smarter Computing
 
Bringing You Up to Date with LE for z/VSE
IBM India Smarter Computing
 
z/VSE Connectors Update
IBM India Smarter Computing
 
The New z/VSE Database Connector (DBCLI)
IBM India Smarter Computing
 
Linux on System z the Toolchain in a Nutshell
IBM India Smarter Computing
 
Merge the power with VMware
COMMON Europe
 
Arch stylesandpatternsmi
lord14383
 
z/VSE V5.1 Update
IBM India Smarter Computing
 
Nos Windows
Ruben Gonzalez
 
Aix6+quick+ref+sheet
db2kid
 
IBM z/VSE V4.3 - More capacity for growth
IBM India Smarter Computing
 
COA Lecture 01(Introduction to COAL).pptx
muhammadanasgc
 
I3 multicore processor
Amol Barewar
 
z/OS Small Enhancements - Edition 2020A
Marna Walle
 
Ch2 embedded processors-i
Ankit Shah
 
Buiding a better Userspace - The current and future state of QEMU and KVM int...
aliguori
 
Ad

Recently uploaded (20)

PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PPTX
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PDF
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Ad

Introduction to the IBM AS/400

  • 1. The IBM AS/400 A technical introduction Tom Van Looy [email protected] August 2009
  • 2. Overview • Who am I? • AS/400 history • What is IBM i? • Other environments • Programming • Work management • Exploring the system
  • 3. Who am I ● AS/400 system programmer (+4 years) ● Currently Linux sysadmin (@priorweb.be) ● Linux and *BSD user ● Belgian village
  • 4. Why this talk ● AS/400, 20 year anniversary (2008) ● You have nothing else to do ;-) – I brought a system here to play with ● Type-model 9402-200 (feat 2031) ● 11.6 CPW ● 56 MB main memory (8+16+32) ● 3093 MB ASP (3x1031) ● OS/400 V3R2M0 (EOL 31/may/2000) ● Dutch :-( ● I do not represent IBM these are my views and opinions!
  • 6. AS/400 history ● IBM Rochester, Minnesota ● Midrange system ● Different and extremely closed-source ● Project Silverlake ● Designed by Dr. Frank Soltis [1]
  • 7. Rochester systems ● System/3 (1969) ● System/32 (1975) ● System/34 (1977) ● System/38 (1978) ● System/36 (1983) ● Fort Knox ● AS/400 (1988)
  • 10. S/34 (1977) [2]
  • 11. S/38 (1978) [2] Control Program Facility (CPF)
  • 12. S/36 (1983) [2] System Support Program (SSP)
  • 13. Fort Knox ● S/36 ● S/38 ● Series/1 ● RS/6000 (AIX) ● Some small IBM mainframes
  • 14. AS/400 (1988) [2] OS/400
  • 15. Renaming ● AS/400 ● AS/400e ● eServer iSeries ● eServer i5 (i5/OS) ● System i5 ● System i ● POWER systems (i + p) – Power 6 – Rename i5/OS to IBM i
  • 16. IBM Power systems [3] [4] [5] ● AIX, IBM i, Linux
  • 18. Design principles ● Technology independence ● Object-based design ● Hardware integration ● Software integration ● Single-level store
  • 19. Technology independence ● Not defined by hardware ● VM interface to the system (TIMI) ● IMPI (48bit CISC) -> PowerPC (64bit RISC) – 1995, save/restore
  • 20. Technology independence +---+----------------+ +---+----------------+ | | applic. | | | applic. | | +------------+ | | +------------+ | | OS/400 | | | IBM i | | +----------------+---+ +----------------+---+ (opcodes) VM ---------> | TIMI | | TIMI |<------------ VM (opcodes) +--------------------+ +--------------------+ | +----------------+ | | +----------------+ | kernel ---------> | | VLIC | | | | | |<------------ kernel (PL/MP) | +----------------+ | | | | | (C++, PPC AS) | | IMPI | | | | SLIC | | | +----------------+ | | | | | | | HLIC | | | | | | | +----------------+ | | +----------------+ | | | 48-bit addr | | | | 64-bit addr | | | | CISC interface | | | | RISC interface | | | | HW | | | | HW | | | +----------------+ | | +----------------+ | +----------------------+ +----------------------+ system's instruction set defines all pointers as 128-bit
  • 21. Object-based design ● Only objects supported data structure at MI – Atomic ● Message passing – Every object has a message queue ● Not fully OO – No subclasses – No inheritance – Polymorphism minimalistic
  • 22. Hardware integration ● Information intensive environments ● The move to PowerPC – Support Java, e-commerce, BI, … ● Balanced design – Fast processing – High bandwidth, high performance I/O ● POWER capacity expressed in CPW – TPC-C benchmark – Disregards CPU speed
  • 23. Software integration ● Security, communications, backup/restore, … ● Modern database (DB2/400) ● Temporary/permanent PTF's
  • 25. Single-level store ● 64-bit address space – One large shared storage – Contains all programs and data – Addressable from single permanent address ● Reference by name or pointer ● Don't worry where it resides – No address reuse ● No process local storage – Task creation – Context switching ● Virtual addressing moves object into real memory (not accessible by programmer)
  • 27. PASE ● Portable Application Solution Environment – Incorporated 64-bit AIX runtime env. ● Private Address Space Environment ● Not technology independent – does not talk to TIMI – syscall interface to the SLIC
  • 28. PASE ● Call PASE from i – QSH CMD('ls /home/tvl') ● Call i from PASE – system ”WRKOBJLCK OBJ(MYFILE) OBJTYPE(*FILE)” ● Query DB2 from PASE, … ● Run Apache, X, ...
  • 29. Hypervisor ● Hardware support in PowerPC ● Logical Partitioning (LPAR) – AIX, Linux, IBM i – Created and managed from the HMC ● Dynamic resource allocation at runtime
  • 30. Management ● Twinax (obsolete) ● Hardware Management Console (HMC) – IPL the system – Service tools – LPAR +-------+ | || +-------+ | IBM i || | || | || +----+ +----+ +----+ | HMC ||------------[FSP] || | WS | | WS | | WS | | ||----+ +---| || +----+ +----+ +----+ +-------+/ | | | || /____/| /____/| /____/| /_______/ | | | [CP ] || | | | | | +-------+/ | | | ~~~~~~~ | | | ( )-----------------+ | | ( LAN )------------------------+ | ( )---------------------------------+ ~~~~~~~
  • 32. Languages ● CL ● RPG ● COBOL ● SQL ● C ● Pascal ● Java
  • 33. OPM, EPM ● Original Program Model ● Extended Program Model – C, Pascal, ... ● Translate into MI programs (*PGM) – Morphed into PPC pgm's by optimizing translator ● Only call external – Late binding
  • 34. ILE ● Integrated Language Environment – New compiler, optimizing translator, binder facility ● Output *MODULE – Package into *PGM, *SRVPGM ● Early binding +----------+---------+-------+ | ILE | Windows | Linux | +-------------------+----------+---------+-------+ | After compilation | *.MODULE | *.obj | *.o | +-------------------+----------+---------+-------+ | Bind by copy | *.PGM | *.exe | * | +-------------------+----------+---------+-------+ | Bind by reference | *.SRVPGM | *.dll | *.so | +-------------------+----------+---------+-------+
  • 35. Java ● Compiled into byte codes (CRTJVAPGM) – Part of the MI – Used by the JVM – Implemented in SLIC ● Native JVM ● PASE JVM
  • 37. LUW ● Jobs – Interactive (call) – Batch (submit) – Communication – System ● job-number/user-name/job-name ● Numbers not reused
  • 39. Subsystems ● Controlling subsystem – QCTLSBSD sysval ● QBASE ● QCTL – QINTER (interactive jobs) – QBATCH (batch jobs) – QCMN (communication jobs) – QUSRWRK (user work) – QSERVER (server jobs) – QSPL (spooling) ● Started by QSTRUPPGM (sysval) ● Restricted state – ENDSBS SBS(*ALL) – Backups, console display run in CTLSBS
  • 44. Job queue's ● Batch jobs are placed on job queue's ● Interactive jobs on workstation queue's ● Subsystems read one or more queue's – Job queue belongs to only one subsystem – Jobs have priority on queue – Queue's are FIFO
  • 46. Storage pools ● Divide memory – *MACHINE pool – *BASE pool – ... ● Dynamic – Shared pools – Adjust paging options (*CALC) – Pool size, job activity level (QPFRADJ sysval) ● Fixed size – Private pool
  • 51. Routing ● Job has a job describtion (*JOBD) – Job attributes ● No runtime attributes ● Output queue ● Job initial library list ● Routing data ● Subsystem – Routing entry's ● Subsystem pool ● Class object (*CLS) – Runtime priority – CPU time slice
  • 56. Objects ● Library's (*LIB object) – Can't contain *LIB objects ● Except QSYS, only contains *LIB's – IBM-supplied start with Q or # ● Objects – Inside *LIB – Max 10 characters – Name + object type = unique – EBCDIC
  • 58. File system ● Integrated File System (IFS) – Virtual File System (VFS) architecture ● QSYS.LIB (OS/400) ● QOpenSys (POSIX, XPG) ● QOPT (DVD) – NFS, SMB
  • 60. Users ● QSECOFR – security officer ● Authority levels – All object authority (*ALLOBJ) – Auditing (*AUDIT) – I/O system configuration (*IOSYSCFG) – Save system (*SAVSYS) – Security administration (*SECADM) – Service functions (*SERVICE) – Spool control (*SPLCTL) ● Group profiles
  • 63. Navigating ● Commands ● Menu's (*MENU)
  • 85. The end ● Thank you for listening! ● Images (google) – [1] http://www.ibmsystemsmag.com/ibmi/endpgm/2008/atriumphofhardwork/assetuploadfile60620807.jpg – [2] http://www-03.ibm.com/ibm/history/exhibits/rochester/rochester_album.html – [3] http://www.nasi.com/images/ibm_power-family.jpg – [4] http://www.tug.ca/eblast/library/logo_IBM_POWER6_BoP.gif – [5] http://www.pclaunches.com/entry_images/0408/09/ibm_power595-2.jpg – [6] http://andrewscg.files.wordpress.com/2008/02/i5os-v6r1-logo.jpg – [7] http://www.gobmug.com/images/ibm_i.gif