SlideShare une entreprise Scribd logo
1  sur  86
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)Linaro
 
المكونات المادية للحاسب الآلي
المكونات المادية للحاسب الآليالمكونات المادية للحاسب الآلي
المكونات المادية للحاسب الآليHanan Kolkelh
 
Upgrade to 3.1 Planning.pdf
Upgrade to 3.1 Planning.pdfUpgrade to 3.1 Planning.pdf
Upgrade to 3.1 Planning.pdfMarna Walle
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusAshok Kumar
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStackShapeBlue
 
Ipmi Server Management
Ipmi Server ManagementIpmi Server Management
Ipmi Server Managementsjtu1234567
 
PCI Express switch over Ethernet or Distributed IO Systems for Ubiquitous Co...
PCI Express switch over Ethernet or Distributed IO  Systems for Ubiquitous Co...PCI Express switch over Ethernet or Distributed IO  Systems for Ubiquitous Co...
PCI Express switch over Ethernet or Distributed IO Systems for Ubiquitous Co...Ganesan Narayanasamy
 
IBM Z/OS support for z15 - oct 2021
IBM Z/OS support for z15 -  oct 2021IBM Z/OS support for z15 -  oct 2021
IBM Z/OS support for z15 - oct 2021Marna Walle
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 
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
 
zOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfzOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfMarna Walle
 
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
 
Document Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OSDocument Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OSSiddharth Ram Dinesh
 
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
 
What's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OSWhat's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OSMatt Leming
 
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_BootingRashila Rr
 
Upgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planningUpgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planningMarna Walle
 

Tendances (20)

HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)
 
gcc and friends
gcc and friendsgcc and friends
gcc and friends
 
IIJmio meeting #1 最近のAndroidとMVNO SIMの関係
IIJmio meeting #1 最近のAndroidとMVNO SIMの関係IIJmio meeting #1 最近のAndroidとMVNO SIMの関係
IIJmio meeting #1 最近のAndroidとMVNO SIMの関係
 
المكونات المادية للحاسب الآلي
المكونات المادية للحاسب الآليالمكونات المادية للحاسب الآلي
المكونات المادية للحاسب الآلي
 
Upgrade to 3.1 Planning.pdf
Upgrade to 3.1 Planning.pdfUpgrade to 3.1 Planning.pdf
Upgrade to 3.1 Planning.pdf
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptus
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStack
 
Ipmi Server Management
Ipmi Server ManagementIpmi Server Management
Ipmi Server Management
 
PCI Express switch over Ethernet or Distributed IO Systems for Ubiquitous Co...
PCI Express switch over Ethernet or Distributed IO  Systems for Ubiquitous Co...PCI Express switch over Ethernet or Distributed IO  Systems for Ubiquitous Co...
PCI Express switch over Ethernet or Distributed IO Systems for Ubiquitous Co...
 
IBM Z/OS support for z15 - oct 2021
IBM Z/OS support for z15 -  oct 2021IBM Z/OS support for z15 -  oct 2021
IBM Z/OS support for z15 - oct 2021
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Introduction
IntroductionIntroduction
Introduction
 
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
 
zOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfzOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdf
 
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
 
Document Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OSDocument Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OS
 
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
 
What's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OSWhat's New In MQ 9.2 on z/OS
What's New In MQ 9.2 on z/OS
 
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_Booting
 
Upgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planningUpgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planning
 

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

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

Dernier

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

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