SlideShare ist ein Scribd-Unternehmen logo
1 von 86
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecturehugo lu
 
VMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VVMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VDavid Ramirez
 
Linux Initialization Process (1)
Linux Initialization Process (1)Linux Initialization Process (1)
Linux Initialization Process (1)shimosawa
 
CICS basic mapping support - session 3
CICS basic mapping support - session 3CICS basic mapping support - session 3
CICS basic mapping support - session 3Srinimf-Slides
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequenceHoucheng Lin
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Anne Nicolas
 
Hardware accelerated Virtualization in the ARM Cortex™ Processors
Hardware accelerated Virtualization in the ARM Cortex™ ProcessorsHardware accelerated Virtualization in the ARM Cortex™ Processors
Hardware accelerated Virtualization in the ARM Cortex™ ProcessorsThe Linux Foundation
 
Virtualization using VMWare Workstation
Virtualization using VMWare WorkstationVirtualization using VMWare Workstation
Virtualization using VMWare WorkstationHitesh Gupta
 
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIKernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIAnne Nicolas
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_FinalGopi Krishnamurthy
 
Launch the First Process in Linux System
Launch the First Process in Linux SystemLaunch the First Process in Linux System
Launch the First Process in Linux SystemJian-Hong Pan
 
Linux Instrumentation
Linux InstrumentationLinux Instrumentation
Linux InstrumentationDarkStarSword
 
What CloudStackers Need To Know About LINSTOR/DRBD
What CloudStackers Need To Know About LINSTOR/DRBDWhat CloudStackers Need To Know About LINSTOR/DRBD
What CloudStackers Need To Know About LINSTOR/DRBDShapeBlue
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Stefano Babic
 
Disk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMDisk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMnknytk
 

Was ist angesagt? (20)

The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecture
 
VMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VVMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-V
 
Linux Initialization Process (1)
Linux Initialization Process (1)Linux Initialization Process (1)
Linux Initialization Process (1)
 
CICS basic mapping support - session 3
CICS basic mapping support - session 3CICS basic mapping support - session 3
CICS basic mapping support - session 3
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
 
RISC-V Foundation Overview
RISC-V Foundation OverviewRISC-V Foundation Overview
RISC-V Foundation Overview
 
Hardware accelerated Virtualization in the ARM Cortex™ Processors
Hardware accelerated Virtualization in the ARM Cortex™ ProcessorsHardware accelerated Virtualization in the ARM Cortex™ Processors
Hardware accelerated Virtualization in the ARM Cortex™ Processors
 
Virtualization using VMWare Workstation
Virtualization using VMWare WorkstationVirtualization using VMWare Workstation
Virtualization using VMWare Workstation
 
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIKernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
 
Launch the First Process in Linux System
Launch the First Process in Linux SystemLaunch the First Process in Linux System
Launch the First Process in Linux System
 
Linux Programming
Linux ProgrammingLinux Programming
Linux Programming
 
Linux Instrumentation
Linux InstrumentationLinux Instrumentation
Linux Instrumentation
 
Linux Kernel Overview
Linux Kernel OverviewLinux Kernel Overview
Linux Kernel Overview
 
What CloudStackers Need To Know About LINSTOR/DRBD
What CloudStackers Need To Know About LINSTOR/DRBDWhat CloudStackers Need To Know About LINSTOR/DRBD
What CloudStackers Need To Know About LINSTOR/DRBD
 
SPI Drivers
SPI DriversSPI Drivers
SPI Drivers
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
Disk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMDisk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVM
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Kürzlich hochgeladen (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
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...
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

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