SlideShare a Scribd company logo
1 of 86
Download to read offline
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
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
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
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
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
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
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
File system
●   Integrated File System (IFS)
    –   Virtual File System (VFS) architecture
         ●   QSYS.LIB (OS/400)
         ●   QOpenSys (POSIX, XPG)
         ●   QOPT (DVD)
    –   NFS, SMB
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
Navigating
●   Commands
●   Menu's (*MENU)
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

Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.Aakash Panchal
 
POWER VM with IBM i and live partition mobility
POWER VM with IBM i and live partition mobilityPOWER VM with IBM i and live partition mobility
POWER VM with IBM i and live partition mobilityCOMMON Europe
 
ESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bgESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bgMartin Harizanov
 
VMware Workstation
VMware WorkstationVMware Workstation
VMware WorkstationBoni Yeamin
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linuxWingston
 
TCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CS
TCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CSTCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CS
TCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CSzOSCommserver
 
Accelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFAccelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFinside-BigData.com
 
AS400 IBM iSeries Migration
AS400 IBM iSeries MigrationAS400 IBM iSeries Migration
AS400 IBM iSeries MigrationSrin Soft
 
Risc and cisc eugene clewlow
Risc and cisc   eugene clewlowRisc and cisc   eugene clewlow
Risc and cisc eugene clewlowManish Prajapati
 
Cloud computing and service models
Cloud computing and service modelsCloud computing and service models
Cloud computing and service modelsPrateek Soni
 
Openstack Swift - Lots of small files
Openstack Swift - Lots of small filesOpenstack Swift - Lots of small files
Openstack Swift - Lots of small filesAlexandre Lecuyer
 
RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)
RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)
RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)Richard (Rex) Palace
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsNational Cheng Kung University
 
VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16David Pasek
 
Middleware Basics
Middleware BasicsMiddleware Basics
Middleware BasicsVarun Arora
 

What's hot (20)

Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.
 
POWER VM with IBM i and live partition mobility
POWER VM with IBM i and live partition mobilityPOWER VM with IBM i and live partition mobility
POWER VM with IBM i and live partition mobility
 
ESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bgESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bg
 
Storia del computer
Storia del computerStoria del computer
Storia del computer
 
VMware Workstation
VMware WorkstationVMware Workstation
VMware Workstation
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
 
TCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CS
TCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CSTCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CS
TCP/IP Stack Configuration with Configuration Assistant for IBM z/OS CS
 
Accelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFAccelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oF
 
AS400 IBM iSeries Migration
AS400 IBM iSeries MigrationAS400 IBM iSeries Migration
AS400 IBM iSeries Migration
 
Risc and cisc eugene clewlow
Risc and cisc   eugene clewlowRisc and cisc   eugene clewlow
Risc and cisc eugene clewlow
 
Cloud computing and service models
Cloud computing and service modelsCloud computing and service models
Cloud computing and service models
 
Openstack Swift - Lots of small files
Openstack Swift - Lots of small filesOpenstack Swift - Lots of small files
Openstack Swift - Lots of small files
 
Mobile processors
Mobile processors Mobile processors
Mobile processors
 
RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)
RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)
RichardRexPalace(Cobol,DB2 Lifecomm-Life70-doc)
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM Boards
 
VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16
 
5887
58875887
5887
 
Virtualization
VirtualizationVirtualization
Virtualization
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
 
Middleware Basics
Middleware BasicsMiddleware Basics
Middleware Basics
 

Similar to Introduction to the IBM AS/400

Data Storage
Data StorageData Storage
Data Storageadil raja
 
My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)Gustavo Rene Antunez
 
Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015Stephen Gordon
 
Operating Systems (slides)
Operating Systems (slides)Operating Systems (slides)
Operating Systems (slides)wx672
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?Colin Charles
 
IxVM on CML
IxVM on CMLIxVM on CML
IxVM on CMLnpsg
 
M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...
M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...
M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...Michael Gschwind
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsMichael Zhang
 
Storage Performance measurement using Tivoli productivity Center
Storage Performance measurement using Tivoli productivity CenterStorage Performance measurement using Tivoli productivity Center
Storage Performance measurement using Tivoli productivity CenterIBM Danmark
 
OPENAM 13.5 - Core Token Service
OPENAM 13.5 - Core Token ServiceOPENAM 13.5 - Core Token Service
OPENAM 13.5 - Core Token ServicePascal Flamand
 
SMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgiSMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgiTakuya ASADA
 
The Real World of Virtual Datacenters + Supporting Materials
The Real World of Virtual Datacenters + Supporting MaterialsThe Real World of Virtual Datacenters + Supporting Materials
The Real World of Virtual Datacenters + Supporting MaterialsX. Breogan COSTA
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1Adam Dunkels
 

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

Data Storage
Data StorageData Storage
Data Storage
 
My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)
 
Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015
 
MySQLinsanity
MySQLinsanityMySQLinsanity
MySQLinsanity
 
Palestra IBM-Mack Zvm linux
Palestra  IBM-Mack Zvm linux  Palestra  IBM-Mack Zvm linux
Palestra IBM-Mack Zvm linux
 
Operating Systems (slides)
Operating Systems (slides)Operating Systems (slides)
Operating Systems (slides)
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
 
IxVM on CML
IxVM on CMLIxVM on CML
IxVM on CML
 
M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...
M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...
M. Gschwind, A novel SIMD architecture for the Cell heterogeneous chip multip...
 
LSA2 - 02 Namespaces
LSA2 - 02  NamespacesLSA2 - 02  Namespaces
LSA2 - 02 Namespaces
 
Nano Server (ATD 11)
Nano Server (ATD 11)Nano Server (ATD 11)
Nano Server (ATD 11)
 
Complex stories about Sqooping PostgreSQL data
Complex stories about Sqooping PostgreSQL dataComplex stories about Sqooping PostgreSQL data
Complex stories about Sqooping PostgreSQL data
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
Storage Performance measurement using Tivoli productivity Center
Storage Performance measurement using Tivoli productivity CenterStorage Performance measurement using Tivoli productivity Center
Storage Performance measurement using Tivoli productivity Center
 
OPENAM 13.5 - Core Token Service
OPENAM 13.5 - Core Token ServiceOPENAM 13.5 - Core Token Service
OPENAM 13.5 - Core Token Service
 
SMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgiSMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgi
 
Centos
CentosCentos
Centos
 
The Real World of Virtual Datacenters + Supporting Materials
The Real World of Virtual Datacenters + Supporting MaterialsThe Real World of Virtual Datacenters + Supporting Materials
The Real World of Virtual Datacenters + Supporting Materials
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Introduction to the IBM AS/400

  • 1. The IBM AS/400 A technical introduction Tom Van Looy tom@ctors.net 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
  • 24.
  • 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
  • 38.
  • 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
  • 40.
  • 41.
  • 42.
  • 43.
  • 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
  • 45.
  • 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
  • 47.
  • 48.
  • 49.
  • 50.
  • 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
  • 52.
  • 53.
  • 54.
  • 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
  • 57.
  • 58. File system ● Integrated File System (IFS) – Virtual File System (VFS) architecture ● QSYS.LIB (OS/400) ● QOpenSys (POSIX, XPG) ● QOPT (DVD) – NFS, SMB
  • 59.
  • 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
  • 61.
  • 62.
  • 63. Navigating ● Commands ● Menu's (*MENU)
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 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