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

Introduction to Microcontrollers
Introduction to MicrocontrollersIntroduction to Microcontrollers
Introduction to Microcontrollersmike parks
 
z/OS Encryption Readiness Technology (zERT)
z/OS Encryption Readiness Technology (zERT) z/OS Encryption Readiness Technology (zERT)
z/OS Encryption Readiness Technology (zERT) zOSCommserver
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCHChien Cheng Wu
 
Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development FastBit Embedded Brain Academy
 
[Advantech] ADAM-3600 training kit and Taglink
[Advantech]  ADAM-3600 training kit and Taglink[Advantech]  ADAM-3600 training kit and Taglink
[Advantech] ADAM-3600 training kit and TaglinkMing-Hung Hseih
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCMoises Silva
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overviewabhi1112
 
z/OS 2.3 HiperSockets Converged Interface (HSCI) support
z/OS 2.3 HiperSockets Converged Interface (HSCI) supportz/OS 2.3 HiperSockets Converged Interface (HSCI) support
z/OS 2.3 HiperSockets Converged Interface (HSCI) supportzOSCommserver
 
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Shrishail Bhat
 
Implementation and Use of Generic VTAM Resources with Parallel SYSPLEX Features
Implementation and Use of Generic VTAM Resources with Parallel SYSPLEX FeaturesImplementation and Use of Generic VTAM Resources with Parallel SYSPLEX Features
Implementation and Use of Generic VTAM Resources with Parallel SYSPLEX FeaturesCA Technologies
 
rtpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scalertpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scaleAndreas Granig
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOSTim Ellison
 
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2zOSCommserver
 
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfTutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfssuserc5a4dd
 
z16 zOS Support - March 2023 - SHARE in Atlanta.pdf
z16 zOS Support - March 2023 - SHARE in Atlanta.pdfz16 zOS Support - March 2023 - SHARE in Atlanta.pdf
z16 zOS Support - March 2023 - SHARE in Atlanta.pdfMarna Walle
 
10 blocos de organização
10   blocos de organização10   blocos de organização
10 blocos de organizaçãoconfidencial
 
The future of RISC-V Supervisor Binary Interface(SBI)
The future of RISC-V Supervisor Binary Interface(SBI)The future of RISC-V Supervisor Binary Interface(SBI)
The future of RISC-V Supervisor Binary Interface(SBI)Atish Patra
 

What's hot (20)

Introduction to Microcontrollers
Introduction to MicrocontrollersIntroduction to Microcontrollers
Introduction to Microcontrollers
 
z/OS Encryption Readiness Technology (zERT)
z/OS Encryption Readiness Technology (zERT) z/OS Encryption Readiness Technology (zERT)
z/OS Encryption Readiness Technology (zERT)
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
 
Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development
 
[Advantech] ADAM-3600 training kit and Taglink
[Advantech]  ADAM-3600 training kit and Taglink[Advantech]  ADAM-3600 training kit and Taglink
[Advantech] ADAM-3600 training kit and Taglink
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
 
z/OS 2.3 HiperSockets Converged Interface (HSCI) support
z/OS 2.3 HiperSockets Converged Interface (HSCI) supportz/OS 2.3 HiperSockets Converged Interface (HSCI) support
z/OS 2.3 HiperSockets Converged Interface (HSCI) support
 
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)
 
Implementation and Use of Generic VTAM Resources with Parallel SYSPLEX Features
Implementation and Use of Generic VTAM Resources with Parallel SYSPLEX FeaturesImplementation and Use of Generic VTAM Resources with Parallel SYSPLEX Features
Implementation and Use of Generic VTAM Resources with Parallel SYSPLEX Features
 
rtpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scalertpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scale
 
Raspberry-Pi
Raspberry-PiRaspberry-Pi
Raspberry-Pi
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOS
 
Kamailio on Docker
Kamailio on DockerKamailio on Docker
Kamailio on Docker
 
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
 
Bootloaders
BootloadersBootloaders
Bootloaders
 
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfTutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
 
z16 zOS Support - March 2023 - SHARE in Atlanta.pdf
z16 zOS Support - March 2023 - SHARE in Atlanta.pdfz16 zOS Support - March 2023 - SHARE in Atlanta.pdf
z16 zOS Support - March 2023 - SHARE in Atlanta.pdf
 
10 blocos de organização
10   blocos de organização10   blocos de organização
10 blocos de organização
 
The future of RISC-V Supervisor Binary Interface(SBI)
The future of RISC-V Supervisor Binary Interface(SBI)The future of RISC-V Supervisor Binary Interface(SBI)
The future of RISC-V Supervisor Binary Interface(SBI)
 

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

Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingFrancesco Corti
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2DianaGray10
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 

Recently uploaded (20)

Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is going
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile Brochure
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 

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
  • 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