Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM i
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Operating system}} {{Infobox OS | name = IBM i | logo = IBM i logo (2021).svg | logo_size = 200px | screenshot = Ibmi-main-menu.png | caption = Main Menu of IBM i 7.1, shown inside a [[IBM 5250#Telnet 5250|TN5250 client]] | developer = [[IBM]] | source_model = [[Closed source]] | kernel_type = shares many [[Microkernel]] (SLIC) and [[Virtual machine]] (TIMI) design philosophies<ref name="fortress-rochester" /> | supported_platforms = [[IBM AS/400]], [[IBM Power Systems]] | ui = [[Text-based user interface]] | family = [[Control Program Facility|IBM CPF]] | released = {{Start date and age|1988|08|26}} | latest_release_version = 7.6 | latest_release_date = {{Start date and age|2025|04|18}}<ref>{{cite web|url=https://www.ibm.com/docs/en/announcements/i-76-release|title=IBM i 7.6 and IBM i Portfolio give strong foundation for continuous innovation|date=2025-04-08|publisher=IBM|access-date=2025-04-23}}</ref> | latest_test_version = | latest_test_date = | marketing_target = [[Minicomputer]], [[midrange computer]] and [[enterprise server]] | programmed_in = [[C++]], [[C (programming language)|C]], [[PL/I#PL/I dialects|PL/MI]], [[Java (programming language)|Java]], [[Assembly language]], [[Modula-2]], [[PL/I#PL/I dialects|PL/MP]]<ref name="inside-as400">{{cite book|title=Inside the AS/400, Second Edition|url=https://books.google.com/books?id=5DoPAAAACAAJ|isbn=978-1882419661|author=Frank G. Soltis|year=1997|publisher=Duke Press}}</ref><ref>{{cite mailing list|url=https://archive.midrange.com/mi400/200310/msg00008.html|title=Re: Re: MI emulator|author=Leif Svalgaard|date=2003-10-08|access-date=2021-02-26|mailing-list=MI400}}</ref><ref>{{cite web|url=https://www.itjungle.com/2011/02/21/tfh022111-story06/|title=Reader Feedback on AS/400 to i Mystery Solved|date=2011-02-21|access-date=2021-03-12|website=itjungle.com}}</ref> | prog_language = | language = [[English language|English]] | updatemodel = [[Program temporary fix]]es (PTFs) | package_manager = [[RPM Package Manager|RPM]] and [[Yum (software)|YUM]] for open source packages | working_state = Current | license = [[Proprietary software|Proprietary]] | preceded by = [[System Support Program]], [[Control Program Facility]] | website = {{URL|ibm.com/products/ibm-i}} }} '''IBM i''' (the ''i'' standing for ''integrated'')<ref>{{cite web|url=https://www.itjungle.com/2020/05/13/where-is-ibm-i/|title=Where is IBM i?|author=Alex Woodie|date=2020-05-13|website=itjungle.com|access-date=2021-03-01}}</ref> is an [[operating system]] developed by [[IBM]] for [[IBM Power Systems]].<ref>{{cite web |title=IBM i: A platform for innovators, by innovators |url=https://www.ibm.com/it-infrastructure/power/os/ibm-i-technologies |website=ibm.com |publisher=International Business Machines |access-date=22 September 2020}}</ref> It was originally released in 1988 as '''OS/400''', as the sole operating system of the [[IBM AS/400]] line of systems. It was renamed to '''i5/OS''' in 2004, before being renamed a second time to IBM i in 2008.<ref name="steve-will-presentation">{{cite web|url=https://www.youtube.com/watch?v=k6W2LHjZqjo|title=IBM i in 2020: It's Not Just AS/400|website=youtube.com|publisher=Fortra|author1=Steve Will|author2=Tom Huntington|date=2020-07-16|access-date=2021-03-21}}</ref><ref name="i5os">{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS204-084|title=IBM i5/OS V5R3 β the next generation of OS/400|date=2004-05-04|publisher=IBM|access-date=2021-02-24|archive-url=https://web.archive.org/web/20140808075810/https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS204-084|archive-date=2014-08-08}}</ref> It is an evolution of the [[IBM System/38|System/38]] [[Control Program Facility|CPF]] operating system,<ref name="fortress-rochester">{{cite book|title=Fortress Rochester: the Inside Story of the IBM iSeries|author=Frank G. Soltis|isbn=978-1583040836|year=2001|publisher=System iNetwork|url=https://books.google.com/books?id=ypJmzqt7JdUC}}</ref> with compatibility layers for [[IBM System/36|System/36]] [[System Support Program|SSP]] and [[IBM AIX|AIX]] applications.<ref name="fortress-rochester" /> It inherits a number of distinctive features from the System/38 platform, including the [[System/38#Machine Interface|Machine Interface]] which provides hardware independence, the implementation of object-based addressing on top of a [[single-level store]], and the tight integration of a [[relational database]] into the operating system.<ref name="inside-as400" /> ==History== ===Origin=== {{See also|IBM AS/400#Silverlake}} OS/400 was developed alongside the AS/400 hardware platform beginning in December 1985.<ref name="fortress-rochester" /> Development began in the aftermath of the failure of the [[IBM AS/400#Fort Knox|Fort Knox]] project, which left IBM without a competitive midrange system.<ref>{{cite book|title=The Silverlake Project: Transformation at IBM|author1=Roy A. Bauer|author2=Emilio Collar|author3=Victor Tang|year=1992|publisher=Oxford University Press|isbn=9780195067545}}</ref><ref name="brave-new-world">{{cite web|url=https://www.postbulletin.com/the-brave-new-world-of-ibm-rochester-by-eric-j/article_dca93382-06b2-5f8a-8c4a-a42b58334432.html|title=The brave new world of IBM Rochester|author=Eric J. Wieffering|date=1992-05-23|website=postbulletin.com|access-date=2021-03-06}}</ref> During the Fort Knox project, a [[skunkworks project]] was started at Rochester by engineers, who succeeded in developing code which allowed System/36 applications to run on top of the System/38,<ref name="schleicher-interview" /> and when Fort Knox was cancelled, this project evolved into an official project to replace both the System/36 and System/38 with a single new hardware and software platform.<ref name="fortress-rochester" /> The project became known as ''Silverlake'' (named for [[Silver Lake (Rochester, Minnesota)|Silver Lake in Rochester, Minnesota]]).<ref>{{cite web|url=https://www.fortra.com/blog/happy-30th-anniversary-ibm-i|title=Happy 30th Anniversary, IBM i!|author=Tom Huntington|date=2018-06-21|access-date=2021-03-05|website=fortra.com}}</ref><ref name="schleicher-interview" /><ref>{{cite web|url=https://wiki.midrange.com/index.php/Silverlake|title=Silverlake|website=wiki.midrange.com|date=2006-08-21|access-date=2021-03-06}}</ref> The operating system for Silverlake was codenamed ''XPF'' (Extended [[Control Program Facility|CPF]]), and had originally begun as a port of CPF to the Fort Knox hardware.<ref name="fortress-rochester" /> In addition to adding support for System/36 applications, some of the user interface and ease-of-use features from the System/36 were carried over to the new operating system.<ref name="inside-as400" /> Silverlake was available for field test in June 1988, and was officially announced in August of that year. By that point, it had been renamed to the ''Application System/400'', and the operating system had been named ''Operating System/400''.<ref name="schleicher-interview">{{cite interview|last=Schleicher|first=David L.|interviewer=Arthur L. Norberg|title=An Interview with DAVID L. SCHLEICHER|url=https://conservancy.umn.edu/bitstream/handle/11299/107623/oh381ds.pdf|publisher=Charles Babbage Institute|date=2006-01-24|website=conservancy.umn.edu|access-date=2021-03-05}}</ref> ===The move to PowerPC=== {{See also|IBM AS/400#The move to PowerPC}} The port to PowerPC required a rewrite of most of the code below the [[IBM i#Technology Independent Machine Interface (TIMI)|TIMI]]. Early versions of OS/400 inherited the [[System/38#Microcode|Horizontal and Vertical Microcode]] layers of the System/38, although they were renamed to the ''Horizontal Licensed Internal Code'' (HLIC) and ''Vertical Licensed Internal Code'' (VLIC) respectively.<ref name="as400-technical-introduction">{{cite web|url=https://www.scss.tcd.ie/SCSSTreasuresCatalog/hardware/TCD-SCSS-T.20121208.068/IBM-AS400-technical-introduction.pdf|website=scss.tcd.ie|title=The IBM AS/400: A technical introduction|author=Tom Van Looy|date=January 2009|access-date=2021-03-13}}</ref> The port to the new hardware led to the IMPI instruction set and the horizontal microcode implementing it being replaced by the PowerPC AS instruction set and its implementation in PowerAS processors. This required the VLIC to be rewritten to target PowerPC instead of IMPI, and for the operating system functionality previously implemented in the HLIC to be re-implemented elsewhere.<ref name="inside-as400" /> This led to the HLIC and VLIC being replaced with a single layer named the ''System Licensed Internal Code'' (SLIC). The SLIC was implemented in an [[Object-oriented programming|object-oriented]] style with over 2 million lines of [[C++]] code, replacing some of the HLIC code, and most of the VLIC code.<ref name="os400-oo-project">{{cite journal | last1=Berg | first1=William | last2=Cline | first2=Marshall | last3=Girou | first3=Mike | title=Lessons learned from the OS/400 OO project | journal=Communications of the ACM | publisher=Association for Computing Machinery (ACM) | volume=38 | issue=10 | year=1995 | issn=0001-0782 | doi=10.1145/226239.226253 | pages=54β64 | s2cid=7492851 | url=https://www.researchgate.net/publication/220424600 | access-date=2021-03-13 | doi-access=free }}</ref><ref>{{cite newsgroup|url=https://archive.midrange.com/mi400/200409/msg00012.html|title=RE: Dave McKenzie's UNDELete utility - a LifeSaver!|author=Dave McKenzie|date=2004-09-01|access-date=2021-05-24|website=Midrange Archive MI400}}</ref> Owing to the amount of work needed to implement the SLIC, IBM Rochester hired several hundred C++ programmers for the project, who worked on the SLIC in parallel to new revisions of the VLIC for the CISC AS/400 systems.<ref name="inside-as400" /> The first release of OS/400 to support PowerPC-based hardware was V3R6.<ref>{{cite web|url=https://www.itjungle.com/2007/08/20/tfh082007-story05-3/|title=TFH Flashback: The Joy of V3R6|author=Timothy Prickett Morgan|date=2007-08-20|access-date=2021-03-13|website=itjungle.com}}</ref><ref>{{cite web|url=http://4props.ddns.net/iseries/5763-SS1%20IBM%20Operating%20System400%20(OS400)%20Version%203.htm|archive-url=https://web.archive.org/web/20210919081351/http://4props.ddns.net/iseries/5763-SS1%20IBM%20Operating%20System400%20(OS400)%20Version%203.htm|url-status=dead|archive-date=September 19, 2021|title=5763-SS1 IBM Operating System/400 (OS/400) Version 3|publisher=IBM|website=4props.ddns.net|access-date=2021-03-13}}</ref> ===Rebranding=== [[File:Ibm-i5os.gif|thumb|IBM i5/OS logo]] [[File:IBM i.png|thumb|100px|Original IBM i logo]] The AS/400 product line was rebranded multiple times throughout the 1990s and 2000s.<ref name="as400-technical-introduction" /> As part of the 2004 rebranding to ''eServer i5'', OS/400 was renamed to ''i5/OS''; the ''5'' signifying the use of [[POWER5]] processors.<ref>{{cite web|url=https://www.gateway400.org/documents/Gateway400/Handouts/2004%20IBM%20eServer%20i5%20Exec%20Overview%2009-09-2004%20St%20Louis%20MOL.pdf|title=Introducing IBM eServer i5 & i5/OS|author=Denny Insell|publisher=IBM|date=2004|access-date=2021-03-14|archive-date=2022-10-09|archive-url=https://ghostarchive.org/archive/20221009/https://www.gateway400.org/documents/Gateway400/Handouts/2004%20IBM%20eServer%20i5%20Exec%20Overview%2009-09-2004%20St%20Louis%20MOL.pdf|url-status=dead}}</ref> The first release of i5/OS, V5R3, was described by IBM as "a different name for the same operating system".<ref>{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS204-084|title=IBM i5/OS V5R3 β the next generation of OS/400|date=2004-05-04|publisher=ibm.com|access-date=2021-03-14}}</ref> In 2006, IBM rebranded the AS/400 line one last time to ''System i''.<ref>{{cite web|url=https://www.itjungle.com/2017/10/11/ibm-slow-catch-mean/|title=IBM i Slow to Catch On, But What Does It Mean?|author=Alex Woodie|date=2017-10-11|access-date=2021-03-15|website=itjungle.com}}</ref> In April 2008, IBM consolidated the System i with the [[IBM System p|System p]] platform to create [[IBM Power Systems]].<ref>{{cite web|title=IBM merges System i and System p server lines|url=https://www.infoworld.com/article/2649318/ibm-merges-system-i-and-system-p-server-lines.html|last=Niccolai|first=James|date=April 2, 2008|website=[[InfoWorld]]|url-access=limited}}</ref> At the same time, i5/OS was renamed to ''IBM i'', in order to remove the association with POWER5 processors.<ref>{{cite web|url=https://www-03.ibm.com/press/us/en/pressrelease/23795.wss|archive-url=https://web.archive.org/web/20080511231914/http://www-03.ibm.com/press/us/en/pressrelease/23795.wss|url-status=dead|archive-date=May 11, 2008|title=IBM Introduces the First in a New Generation of Power Systems|date=2008-04-02|access-date=2021-03-15|publisher=IBM}}</ref> The two most recent versions of the operating system at that time, which had been released as i5/OS V5R4 and V6R1,<ref>{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=649/ENUSA06-0115|title=IBM i5/OS V5R4 improves system availability and price performance|date=2006-01-31|publisher=IBM|access-date=2021-03-16}}</ref><ref>{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS208-014|title=IBM i5/OS V6R1 delivers the next step for efficient, resilient business processing|date=2008-01-29|access-date=2021-03-15|publisher=IBM}}</ref> were renamed to IBM i 5.4 and 6.1.<ref>{{cite web|url=https://www.itjungle.com/2008/09/23/fhs092308-story10/|title=IBM Gives i5/OS V5R4 a New Nameβi 5.4|author=Alex Woodie|date=2008-09-23|access-date=2021-03-16|website=itjungle.com}}</ref><ref>{{cite web|url=https://www.itjungle.com/2008/04/07/tfh040708-story01/|title=It's Official: Now We're Power Systems and i for Business|author=Timothy Prickett Morgan|date=2008-04-07|access-date=2021-03-15|website=itjungle.com}}</ref><ref name="ibm-tr-redbook" /><ref>{{cite book|url=https://www.redbooks.ibm.com/redbooks/pdfs/sg247713.pdf|title=IBM i 6.1 Technical Overview|publisher=IBM|date=December 2009|access-date=2022-07-15}}</ref> Along with the rebranding to IBM i, IBM changed the versioning nomenclature for the operating system. Prior releases used a ''Version, Release, Modification'' scheme, e.g. V2R1M1. This was replaced with a ''Version.Release'' scheme, e.g. 6.1.<ref>{{cite web|url=https://seasoft.com/blog/ibm-i-a-history-in-numbers/|title=IBM i: A history in numbers|date=2019-05-21|access-date=2021-03-15|website=seasoft.com}}</ref> Beginning with IBM i 7.1, IBM replaced the Modification releases with ''Technology Refreshes''.<ref name="ibm-tr-redbook">{{cite web|url=https://www.redbooks.ibm.com/redbooks/pdfs/sg247858.pdf|title=IBM i 7.1 Technical Overview with Technology Refresh Updates|publisher=IBM|date=December 2014|author1=Justin C. Haase|author2=Dwight Harrison|author3=Adam Lukaszewicz|author4=David Painter|author5=Tracy Schramm|author6=Jiri Sochr}}</ref> Technology Refreshes are delivered as optional [[Program temporary fix|PTFs]] for specific releases of the operating system which add new functionality or hardware support to the operating system.<ref>{{cite web |title=IBM i Technology Refresh|url=https://www.ibm.com/support/pages/ibm-i-technology-refresh|access-date=2021-03-05|website=ibm.com}}</ref> ==Architecture== <div style="float:right"> {| class="wikitable" lang="en" style="text-align:center;" |+ Diagram showing the architectural layers of the IBM i operating system, and their relationship to hardware and user software | style="font-size:16pt;" | Native<br />Applications | style="font-size:11pt;" | S/36 and S/38<br />Environment<br />Applications | style="font-size:16pt;" | UNIX<br />Applications |- style="background:lightgrey;" | style="font-size:22pt;" colspan="2" | XPF | style="font-size:22pt;" | PASE |- style="background:grey;" | colspan="2" | TIMI | syscall Interface |- style="background:lightgrey;" | style="font-size:22pt;" colspan="3" | SLIC |- | style="font-size:16pt;" colspan="3" | IBM Power Hardware |} </div> When IBM i was first released as OS/400, it was split into two layers, the hardware-dependent ''System Licensed Internal Code'' (SLIC)<ref name="as400-technical-introduction" /><ref name="inside-as400" /> and the hardware-independent ''Extended Control Program Facility'' (XPF).<ref name="os400-oo-project" /><ref name="steve-will-presentation" /><ref>{{cite web|url=https://www.ibm.com/support/pages/dsphmcinfdspsmdta-querying-current-status-every-hmc-or-sm-straight-command-line|title=DSPHMCINF/DSPSMDTA: Querying the Current Status of Every HMC or SM Straight from the Command Line|publisher=IBM|date=2019-12-18|access-date=2021-03-20}}</ref><ref>{{cite web|url=https://www.slideshare.net/IBMDK/hindsgavl-ptf-lars-johanneson|title=Future of Power: IBM Power|author=Lars Johanneson|publisher=IBM|date=2013-09-04|access-date=2021-03-20}}</ref> These are divided by a [[hardware abstraction layer]] called the ''Technology Independent Machine Interface'' (TIMI). Later versions of the operating system gained additional layers, including an [[AIX]] [[compatibility layer]] named ''Portable Application Solutions Environment'' (originally known as the ''Private Address Space Environment''),<ref name="fortress-rochester" /><ref>{{cite web |title=IBM PASE for i |url=https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/rzalf/rzalfintro.htm |website=IBM |access-date=13 May 2020}}</ref> and the ''Advanced 36 Machine'' environment which ran System/36 SSP applications in emulation.<ref name="inside-as400" /> IBM often uses different names for the TIMI, SLIC and XPF in documentation and marketing materials,<ref>{{cite web|archive-url=https://web.archive.org/web/20120415170223/http://www.systeminetwork.com/article/system-i-issues/what-is-an-iseries-4908|url=http://www.systeminetwork.com/article/system-i-issues/what-is-an-iseries-4908|title=What Is an iSeries?|archive-date=2012-04-15|date=2003-09-01|access-date=2021-03-20|author1=Frank G. Soltis|author2=Adam T. Stallman|website=systeminetwork.com}}</ref> for example, the IBM i 7.4 documentation refers to them as the ''IBM i Machine Interface'', ''IBM i Licensed Internal Code'' and ''IBM i Operating System'' respectively.<ref name="7.4-docs">{{cite web|url=https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzahg/welcome.htm|title=IBM i 7.4 Documentation|date=2019|publisher=IBM|access-date=2021-03-20}}</ref> ===Technology Independent Machine Interface (TIMI)=== The TIMI isolates users and applications from the underlying hardware. This isolation is more thorough than the hardware abstractions of other operating systems, and includes abstracting the [[instruction set architecture]] of the processor, the size of the [[address space]] and the specifics of [[I/O]] and persistence.<ref name="as400-technical-introduction" /> This is accomplished through two interrelated mechanisms:<ref name="inside-as400" /> * Compilers for IBM i do not generate native [[machine code]] directly, instead they generate a high level [[intermediate representation]] defined by the TIMI. When a program is run, the operating system carries out [[Ahead-of-time compilation|ahead-of-time]] translation of the TIMI instructions into native machine code for the processor, and stores the generated machine code for future execution of the program. If the translation process changes, or a different CPU instruction set is adopted, the operating system can transparently regenerate the machine code from the TIMI instructions without needing to recompile from source code. * Instead of operating on memory addresses, TIMI instructions operate on ''objects''. All data in IBM i, such as data files, source code, programs and regions of allocated memory, are encapsulated inside objects managed by the operating system ([[cf.]] the "[[Everything is a file]]" model in [[Unix]]). IBM i objects have a fixed type, which defines the set of applicable operations which may be carried out on them (for example, a ''Program'' object can be executed, but cannot be edited). The object model hides whether data is stored in [[Primary storage|primary]], or [[secondary storage]]. Instead, the operating system automatically handles the process of retrieving and then storing the changes to permanent storage. The hardware isolation provided by the TIMI allowed IBM to replace the AS/400's 48-bit IMPI architecture with the 64-bit [[RS64]] architecture in 1995. Applications compiled on systems using the IMPI instruction set could run on top of the newer RS64 systems without any code changes, recompilation or emulation, while also allowing those applications to avail of 64-bit addressing.<ref name="steve-will-presentation" /> There are two different formats of TIMI instructions, known as the ''Original Machine Interface'' (OMI) and ''New Machine Interface'' (NMI) formats.<ref>{{cite web|url=https://www.mcpressonline.com/programming/rpg/a-more-complete-view-of-the-machine-interface-of-ibm-i|title=A More Complete View of the Machine Interface of IBM i|author=Junlei Li|date=2013-10-02|website=MC Press Online|access-date=2021-11-25}}</ref> OMI instructions are essentially the same as the [[System/38#Machine interface|System/38 Machine interface]] instructions, whereas NMI instructions are lower-level, resembling the ''W-code'' [[intermediate representation]] format used by IBM's compilers.<ref name="inside-as400" /> IBM partially documents the OMI instructions,<ref>{{cite web|url=https://www.ibm.com/docs/en/i/7.4?topic=interfaces-i-machine-interface|title=IBM i Machine Interface|date=2019|publisher=IBM|access-date=2021-11-25}}</ref> whereas the NMI instructions are not officially documented. OMI instructions are used by the original AS/400 compilers, whereas NMI instructions are used by the [[Integrated Language Environment]] compilers.<ref name="inside-as400" /> During the PowerPC port, native support for the OMI format was removed, and replaced with a translator which converted OMI instructions into NMI instructions. The storing of the TIMI instructions alongside the native machine code instructions is known as ''observability''. In 2008, the release of i5/OS V6R1 (later known as IBM i 6.1) introduced a number of changes to the TIMI layer which caused problems for third-party software which removed observability from the application objects shipped to customers.<ref>{{cite web|url=https://www.itjungle.com/2008/02/26/fhs022608-story01/|title=i5/OS V6R1 Compatibility an Issue for Software Vendors|author=Alex Woodie|date=2008-02-26|access-date=2021-03-16|website=itjungle.com}}</ref> ===SLIC=== [[File:Os400-lic-ipl (screenshot).png|thumb|right|IBM i during [[initial program load]] of the SLIC]] The SLIC consists of the code which implements the TIMI on top of the IBM Power architecture. In addition to containing most of the functionality typically associated with an operating system [[Kernel (operating system)|kernel]], it is responsible for translating TIMI instructions into machine code, and it also implements some high level functionality which is exposed through the TIMI, such as IBM i's integrated relational database.<ref name="inside-as400" /> The SLIC implements IBM i's object-based storage model on top of a [[single-level store]] addressing scheme, which does not distinguish between primary and secondary storage, and instead manages all types of storage in a single [[virtual address space]].<ref>{{cite web |last1=Woodie |first1=Alex |title=Frank Soltis Discusses A Possible Future for Single-Level Storage |url=https://www.itjungle.com/2020/11/23/frank-soltis-discusses-a-possible-future-for-single-level-storage/ |website=itjungle.com |publisher=IT Jungle |access-date=4 December 2020}}</ref> The SLIC is primarily implemented in C++, and replaced the [[IBM i#The move to PowerPC|HLIC and VLIC]] layers used in versions of OS/400 prior to V3R6.<ref name="os400-oo-project" /> ===XPF=== The XPF consists of the code which implements the hardware-independent components of the operating system, which are compiled into TIMI instructions.<ref name="os400-oo-project" /> Components of the XPF include the user interface, the [[Control Language]], data management and query utilities, development tools and system management utilities. The XPF also contains the ''System/36 Environment'' and ''System/38 Environment'', which provide backwards compatibility APIs and utilities for applications and data migrated from SSP and CPF systems.<ref>{{cite book|author1=Jim Hoskins|author2=Roger Dimmick|title=Exploring IBM AS/400 Computers|url=https://books.google.com/books?id=KSarlpwwTPsC|year=1998|publisher=Maximum Press|isbn=978-1-885068-19-4}}</ref> The XPF is IBM's internal name for this layer, and as the name suggests, began as an evolution of the System/38 [[Control Program Facility]].<ref name="inside-as400" /> The XPF is mostly implemented in [[PL/MI]], although other languages are also used.<ref>{{cite newsgroup|url=https://groups.google.com/g/comp.sys.ibm.as400.misc/c/OsgPyut_EE0/m/7QIMwg_0BxkJ|title=UNIX vs AS/400?|author=Dan Hicks|date=1998-08-21|newsgroup=comp.sys.ibm.as400.misc}}</ref> ===PASE=== PASE (Portable Applications Solutions Environment) provides [[binary compatibility]] for [[user mode]] AIX [[executables]] which do not interact directly with the AIX kernel, and supports the 32-bit and 64-bit AIX [[Application Binary Interface]]s.<ref>{{cite web|url=https://www.ibm.com/docs/en/i/7.4?topic=i-planning-pase|title=Planning for IBM PASE for i|date=2019|publisher=IBM|access-date=2021-11-27}}</ref> PASE was first included in a limited and undocumented form in the V4R3 release of OS/400 to support a port of [[Smalltalk]].<ref name="fortress-rochester" /> It was first announced to customers at the time of the V4R5 release, by which time it had gained significant additional functionality. PASE consists of the AIX userspace running on top of a system call interface implemented by the SLIC.<ref>{{cite web|url=https://www.zend.com/blog/what-ibm-pase-and-how-does-it-relate-open-source-solutions|date=2019-01-16|title=What Is IBM i Architecture? Plus an Overview of IBM PASE|author=Erwin Earley|website=Zend|access-date=2021-05-24}}</ref> The system call interfaces allows interoperability between PASE and native IBM i applications, for example, PASE applications can access the integrated database, or call native IBM i applications, and vice versa.<ref>{{cite web|url=https://www.mcpressonline.com/operating-systems/ibm-i-os400-i5os/exploring-open-source-on-ibm-i-the-pase-environment|title=Exploring Open Source on IBM i: The PASE Environment|author=Peter Helgren|date=2018-10-11|access-date=2021-05-24|website=MC Press Online}}</ref> During the creation of PASE, a new type of single level storage object named a ''Teraspace'' was added to the operating system, which allows each PASE process to have a private 1TiB space which is addressed with 64-bit pointers.<ref>{{cite web|url=http://mrfunk.info/?page_id=5|title=IBM i and Capability Addressing|author=Mark Funk|date=2014-08-04|access-date=2021-05-24}}</ref> This was necessary since all IBM i jobs (i.e. processes) typically share the same address space.<ref name="fortress-rochester" /> PASE applications do not use the hardware-independent TIMI instructions, and are instead compiled directly to Power machine code. Ports of open source software to IBM i typically target PASE instead of the native IBM i APIs in order to simplify porting.<ref>{{cite web|url=https://www.itjungle.com/2018/10/22/pase-versus-ile-which-is-best-for-open-source/|title=PASE Versus ILE: Which Is Best For Open Source?|author=Alex Woodie|date=2018-10-22|website=IT Jungle|access-date=2021-11-27}}</ref> Open source software for IBM i is typically packaged using the [[RPM Package Manager|RPM]] package format, and installed with the [[Yum (software)|YUM package manager]].<ref>{{cite web|title=Open Source Has Never Tasted So Good!|url=http://ibmsystemsmag.com/Power-Systems/06/2018/open-source-yum|website=IBM Systems Magazine - Open Your i}}</ref><ref>{{cite web|title=IBM i Open Source using yum|url=http://ibm.biz/ibmi-rpms|website=IBM i Open Source}}</ref> PASE is distinct from the [[Qshell]] environment, which is an implementation of a Unix shell and associated utilities built on top of IBM i's native POSIX-compatible APIs.<ref name="QShell for i">{{cite book |last1=Holt |first1=Ted |last2=Kulack |first2=Fred |title=Qshell for iSeries |date=February 1, 2004 |publisher=MC Press|isbn=1-58347-046-8 }}</ref> === Advanced 36 Machine === [[File:System-36-ssp-main-menu.png|thumb|250px|Main Menu of SSP 7.5, running on top of the Advanced 36 Machine environment]] {{main|IBM Advanced/36}} Introduced in 1994, the Advanced/36 platform ran unmodified System/36 applications and the SSP operating system in emulation on top of the OS/400 SLIC using hardware which was mostly identical to that of contemporary AS/400 systems.<ref name="inside-as400" /> This functionality was incorporated into OS/400 itself from V3R6 through V4R4, making it possible to run up to four System/36 "virtual machines" (to use IBM's term) using the so-called ''Advanced 36 Machine'' feature of the operating system.<ref>{{cite book|title=AS/400 Advanced 36 General Information for SSP Operating System|id=SC21-8299-02|publisher=IBM|date=November 1997|edition=Third}}</ref> Support was discontinued in the V4R5 release, coinciding with IBM's discontinuation of the Advanced/36 product line as a whole.<ref>{{cite web|archive-url=https://web.archive.org/web/20010110220800/http://www.as400.ibm.com/developer/ssp/index.html|archive-date=2001-01-10|title=Withdrawal of Advanced 36 SSP from AS/400 and Application Program Options|date=1999-08-03|website=IBM|url=http://www.as400.ibm.com/developer/ssp/index.html|access-date=2022-03-20}}</ref> The Advanced 36 Machine feature is distinct from the System/36 Environment introduced in the initial OS/400 release and still supported in current IBM i versions. Prior to the Advanced/36, the System/36 line used two different processors in each system - the Main Storage Processor (MSP) which ran most of the SSP operating system as well as user code, and the Control Storage Processor (CSP) which ran so-called "microcode" which implemented core operating system functionality as well as I/O. The CSP microcode was invoked from the MSP through the use of the Supervisor Call (SVC) instruction. On the Advanced/36, the CSP microcode was reimplemented inside the SLIC. An MSP emulator was also built into the SLIC, sometimes referred to as the ''Technology Independent Emulation Interface''. Even with the overhead of emulation, the Advanced/36 systems were significantly faster than the original System/36 systems they replaced due to the performance of their PowerPC AS processors.<ref name="inside-as400" /> ==Features== ===Database management=== IBM i features an integrated [[relational database]] currently known as [[IBM Db2|IBM Db2 for IBM i]].<ref name="7.4-docs" /> The database evolved from the non-relational System/38 database, gaining support for the relational model and [[SQL]].<ref name="inside-as400" /> The database originally had no name, instead it was described simply as "data base support".<ref>{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?appname=skmwww&htmlfid=877%2FENUSZP88-0307&infotype=AN&subtype=CA|title=IBM OPERATING SYSTEM/400(TM) LICENSED PROGRAM|publisher=IBM|date=1988-07-05|access-date=2021-03-23}}</ref> It was given the name ''DB2/400'' in 1994 to indicate comparable functionality to IBM's other commercial databases.<ref name="inside-as400" /> Despite the Db2 branding, Db2 for IBM i is an entirely separate codebase to Db2 on other platforms, and is tightly integrated into the SLIC layer of IBM i as opposed to being an optional product.<ref>{{cite web|url=https://perspectives.mvdirona.com/2017/12/1187/|title=Four DB2 Code Bases?|author=James Hamilton|date=December 2017|access-date=2021-03-23}}</ref><ref>{{cite web |url=https://dba.stackexchange.com/questions/85909/db2-database-does-it-continue-to-be-platform-specific-iseries-luw-z-os |title=DB2 database -> does it continue to be platform-specific? (iSeries, LUW, z/OS)}}</ref> IBM i provides two mechanisms for accessing the integrated database - the so-called ''native interface'', which is based on the database access model of the System/38, and [[SQL]].<ref name="inside-as400" /> The native interface consists of the ''Data Description Specifications'' (DDS) language, which is used to define schemas and the <code>OPNQRYF</code> command or <code>QQQQRY</code> query API.<ref>{{cite web|url=https://www.ibm.com/support/pages/system/files/inline-files/$FILE/OPNQRYF.pdf|title=Moving from OPNQRYF to SQL|author=Gene Cobb|date=March 2008|access-date=2021-03-27|publisher=IBM}}</ref> Certain Db2 for i features such as [[object-relational database|object-relational database management]] require SQL and cannot be accessed through the native interface.<ref>{{cite web|url=https://www.redbooks.ibm.com/redbooks/pdfs/sg245409.pdf|title=DB2 UDB for AS/400 Object Relational Support|date=February 2000|author1=Jarek Miszczyk|author2=Bronach Bromley|author3=Mark Endrei|author4=Skip Marchesani|author5=Deepak Pai|author6=Barry Thorn|publisher=IBM|access-date=2021-03-27}}</ref> IBM i has two separate [[Query optimization|query optimizers]] known as the ''Classic Query Engine'' (CQE) and ''SQL Query Engine'' (SQE).<ref>{{cite web|url=https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzajq/rzajqsqecqe.htm|title=SQE and CQE engines|website=ibm.com|access-date=2021-03-27}}</ref> These are implemented inside the SLIC alongside a ''Query Dispatcher'' which selects the appropriate optimizer depending on the type of the query. Remote access through the native interface and SQL is provided by the [[Distributed Data Management Architecture]] (DDM) and [[DRDA|Distributed Relational Database Architecture]] respectively.<ref name="as400-database-integration">{{cite journal|last1=Scholerman|first1=S.|last2=Miller|first2=L.|last3=Tenner|first3=J.|last4=Tomanek|first4=S.|last5=Zolliker|first5=M.|title=Relational database integration in the IBM AS/400|journal=ACM SIGMOD Record|volume=22|issue=4|year=1993|pages=5β10|issn=0163-5808|doi=10.1145/166635.166639|s2cid=783512}}</ref> A storage engine for [[MySQL]] and [[MariaDB]] named <code>IBMDB2I</code> allows applications designed for those databases to use Db2 for i as a backing store.<ref>{{cite web|url=https://www.redbooks.ibm.com/redbooks/pdfs/sg247705.pdf|title=Using IBM DB2 for i as a Storage Engine of MySQL|date=March 2009|access-date=2021-03-28|author1=Hernando Bedoya|author2=Brad Bentley|author3=Xie Dan Dan|author4=Sadamitsu Hayakawa|author5=Shirley Pintos|author6=Guo Qi|author7=Morten Buur Rasmussen|author8=Satid Singkorapoom|author9=Wang Yun|publisher=IBM}}</ref><ref>{{cite web|url=https://github.com/zendtech/db2iengine|title=ibmdb2i|date=2020-10-13|access-date=2021-03-28|website=github.com|publisher=[[Zend Technologies]]}}</ref> Other open source databases have been ported to IBM i, including [[PostgreSQL]], [[MongoDB]] and [[Redis]].<ref name="open-source-db">{{cite web|last1=Woodie|first1=Alex|title=More Open Source Databases Coming To IBM i|url=https://www.itjungle.com/2020/06/15/more-open-source-databases-coming-to-ibm-i/|website=itjungle.com|date=2020-06-15|access-date=2021-03-28}}</ref> These databases run on the PASE environment, and are independent of the operating system's integrated database features.<ref>{{cite web|url=https://www.itjungle.com/2020/08/12/man-db-brings-documentation-to-ibm-i/|title=Man-DB Brings Documentation to IBM i|author=Alex Woodie|date=2020-08-12|website=itjungle.com|access-date=2021-03-28}}</ref> ===Networking=== IBM i supports [[Internet protocol suite|TCP/IP]] networking in addition to the proprietary IBM [[Systems Network Architecture]].<ref>{{cite web |title=TCP/IP |url=https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/rzai2/rzai2kickoff.htm |website=IBM |access-date=13 May 2020}}</ref> IBM i systems were historically accessed and managed through [[IBM 5250]] terminals attached to the system with [[twinaxial cabling|twinax]] cabling. With the decline of dedicated terminal hardware, modern IBM i systems are typically accessed through 5250 [[terminal emulator]]s. IBM provides two terminal emulator products for IBM i:<ref>{{cite web |title=IBM I Access Client Solutions |url=https://www.ibm.com/support/pages/node/633795 |website=IBM |access-date=13 May 2020}}</ref> * IBM i Access Client Solutions is a [[Java (programming language)|Java]]-based client that runs on [[Linux]], [[macOS]] and [[Microsoft Windows|Windows]] to provide 5250 emulation. * IBM i Access for Web/Mobile provides web-based 5250 emulation. In addition, IBM provides a web-based management console and performance analysis product named IBM Navigator for i.<ref>{{cite web |title=IBM Navigator for i |url=https://www.ibm.com/support/pages/node/633937 |website=IBM |access-date=13 May 2020}}</ref> ===Programming=== Programming languages available from IBM for IBM i include [[IBM RPG|RPG]], [[Control Language]], [[C (programming language)|C]], [[C++]], [[Java (programming language)|Java]], [[EGL (programming language)|EGL]], [[COBOL]], and [[REXX]]. Compilers were previously available for [[Pascal (programming language)|Pascal]], [[BASIC]], [[PL/I]] and [[Smalltalk]] but have since been discontinued. The [[Integrated Language Environment]] (ILE) allows programs from ILE compatible languages (C, C++, COBOL, RPG, and CL), to be bound into the same executable and call procedures written in any of the other ILE languages. When PASE was introduced, it was necessary to compile code for PASE on an AIX system. This requirement was removed in OS/400 V5R2 when it became possible to compile code using the [[IBM XL C/C++ Compilers|IBM XL compiler suite]] inside PASE itself.<ref>{{cite web|url=https://public.dhe.ibm.com/systems/power/docs/systemi/v5r3/en_US/rzaiq.pdf|title=eServer iSeries OS/400 PASE|date=2003|publisher=IBM|access-date=2021-11-27}}</ref> Since then, other compilers have been ported to PASE, including [[GNU Compiler Collection|gcc]].<ref>{{cite web|url=https://www.itjungle.com/2015/10/14/tfh101415-story01/|title=GCC: Bringing More Open Source Software to IBM i|author=Alex Woodie|date=2015-10-14|website=IT Jungle|access-date=2021-11-27}}</ref> Certain development tools for IBM i run on top of the operating system itself, such as the Source Edit Utility (SEU) [[text editor]] and [[Programming Development Manager]]. IBM also provides an [[Eclipse (software)|Eclipse]]-based [[integrated development environment]] (IDE) for IBM i named [[IBM Rational]] Developer for i which runs on developer workstations instead of IBM i.<ref>{{cite web|url=https://www.ibm.com/products/rational-developer-for-i|title=IBM Rational Developer for i|website=ibm.com|access-date=2021-03-05}}</ref> Prior to the Eclipse-based IDE, IBM provided an IDE based on WorkFrame/2 which ran on [[OS/2]] named ''CODE/400'' and an IDE based on [[VisualAge]] which ran on [[Microsoft Windows]] systems.<ref>{{cite web|archive-url=https://web.archive.org/web/19961225104718/http://www.software.ibm.com/ad/as400/code400.htm|archive-date=1996-12-25|url=http://www.software.ibm.com/ad/as400/code400.htm|title=CODE/400 for OS/2|website=IBM|access-date=2022-03-20}}</ref><ref>{{cite web|url=https://www.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&htmlfid=897/ENUS296-312&language=enus|title=IBM AS/400 Programming Languages and Application Development Tools Version 3 Release 7 - Enhancements Provide Windows Support, Improved Integration and Additional Capabilities|date=1996-10-03|website=IBM|access-date=2022-03-20}}</ref> IBM i uses [[EBCDIC]] as the default [[character encoding]], but also provides support for [[ASCII]], [[UCS-2]] and [[UTF-16]].<ref name="inside-as400" /><ref>{{cite web|url=https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/nls/rbagsucs2.htm|title=UCS-2 and its relationship to Unicode (UTF-16)|website=ibm.com|access-date=2021-03-06}}</ref> ===Storage=== In IBM i, disk drives may be grouped into an ''auxiliary storage pool'' (ASP) in order to organize data to limit the impact of storage-device failures and to reduce recovery time.<ref>{{cite web |title=IBM i ASP |work=IBM Knowledge Center |publisher=[[IBM]] |url=https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/ddp/rbal1auxstore.htm |access-date=2018-03-06}}</ref> If a disk failure occurs, only the data in the pool containing the failed unit needs to be recovered. ASPs may also be used to improve performance by isolating objects with similar performance characteristics, for example journal receivers, in their own pool. By default, all disk drives are assigned to pool 1. The concept of IBM i pools is similar to the [[Unix]]/[[Linux]] concept of [[Logical Volume Manager (Linux)|volume groups]]; however, with IBM i it is typical for all disk drives to be assigned to a single ASP. ===Security=== Security in IBM i is defined in terms of ''authorities'', which represents the permission to carry out a specific action on a specific object.<ref>{{cite web|url=https://www.ibm.com/docs/en/i/7.4?topic=concepts-types-authority|date=2021-07-23|title=IBM i 7.4 Types of Authority|access-date=2022-03-20|website=IBM}}</ref> Authorities can be granted to individual users (known as ''user profiles''), groups (known as ''group profiles'') or all users (''public'' authorities). Related objects can be grouped together in an ''authorization list'', making it possible to grant authorities on all objects in the list by granting authorities on the authorization list.<ref>{{cite web|url=https://www.ibm.com/docs/en/i/7.4?topic=concepts-authorization-lists|date=2021-04-14|title=IBM i 7.4 Authorization lists|access-date=2022-03-20|website=IBM}}</ref> User profiles have an associated ''user class'' which dictates the set of default authorities available to that user profile. There are five standard user classes which, in order of increasing privilege, are: ''Workstation User'', ''System Operator'', ''System Programmer'', ''Security Administrator'' and ''Security Officer''.<ref name="fortress-rochester" /> IBM i ships with a default user profile for each user class, and the default Security Officer user profile, named <code>QSECOFR</code>, is the closest equivalent to the [[root user]] of a Unix-like operating system.<ref>{{cite web|url=https://www.ibm.com/docs/en/i/7.4?topic=i-security|date=2021-09-08|title=IBM i 7.4 PASE Security|access-date=2022-03-20|website=IBM}}</ref> IBM i can be set to use one of five levels of security, which control the extent to which the operating system's security features are enforced:<ref>{{cite web|url=https://www.ibm.com/docs/en/i/7.4?topic=concepts-security-levels|date=2021-07-23|title=IBM i 7.4 Security Levels|access-date=2022-03-20|website=IBM}}</ref> * ''Level 10'' β Users can log in without a password, and have full access to the system. If a user logs in with an unknown username, a new user profile will be automatically created. * ''Level 20'' β Users must log in with a username and password of a known user profile, but will have almost full access to the system once logged in. Creation or modification of user profiles is restricted to user profiles which have been granted authorities for profile management. Limited access accounts can be created, which can be restricted to accessing certain objects, or running certain commands. * ''Level 30'' β Authorities are enforced, meaning that users cannot access objects unless they have an authority for the object. * ''Level 40'' β Access to certain system programs and MI instructions are restricted, and can only be used by operating system code. * ''Level 50'' β Includes changes needed for the system to achieve TCSEC C2 compliance, and adds a security audit journal. The first three levels correspond to the security levels available in CPF and the initial releases of OS/400. Security level 40 was added in OS/400 V1R3 and become the default security level for the operating system. The addition of Level 40 required the removal of the [[capability addressing]] model of the System/38 which was also present in earlier releases of OS/400.<ref name="fortress-rochester" /> Security level 50 was added in V2R3 when OS/400 was certified to [[Trusted Computer System Evaluation Criteria#C β Discretionary protection|TCSEC C2]] security. == Release timeline == <!-- Template:Version - for version & release history. Documentation and examples: http://en.wikipedia.org/wiki/Template:Version --> {| class="wikitable" style="text-align:center; margin-left:1em; margin-right:0" |- ! Branding<ref>{{cite web|title=OS 400 - Complete History of the IBM OS/400|url=https://history-computer.com/ModernComputer/Software/OS400.html|website=history-computer|access-date=2020-05-04|archive-date=2020-08-01|archive-url=https://web.archive.org/web/20200801201427/https://history-computer.com/ModernComputer/Software/OS400.html|url-status=dead}}</ref> ! Version ! Release date<ref>{{cite web|title=Release life cycle|url=https://www.ibm.com/support/pages/node/668157|website=IBM Support|access-date=2025-04-23}}</ref> ! End of Program<br />Support |- | rowspan="20" | OS/400 | {{Version |o |V1R1}}{{refn|group=n|At the time of their release, the V1 releases were named Release 1, 2 and 3.<ref>{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&htmlfid=897/ENUS290-436|title=IBM AS/400 OPERATING SYSTEM/400 AND RELATED LICENSED PROGRAMS RELEASE 3|date=1990-08-21|access-date=2021-04-06|publisher=IBM}}</ref><ref>{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&htmlfid=897/ENUS289-417|title=APPLICATION SYSTEM/400 LICENSED PROGRAMS RELEASE 2 AVAILABILITY|date=1989-09-05|access-date=2021-04-06|publisher=IBM}}</ref><ref name="rel-1-mod-2" /> Upon the release of V2R1, they were retroactively renamed to V1R1, V1R2 and V1R3.<ref>{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&htmlfid=897/ENUS291-158|title=IBM OPERATING SYSTEM/400 VERSION 2|date=1991-04-22|access-date=2021-04-06|publisher=IBM}}</ref>}} | 1988-08-26 | rowspan=4 | 1993-05-31 |- | {{Version |o |V1R1M2}}{{refn|group=n|There was no Modification Level 1.<ref name="rel-1-mod-2">{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&htmlfid=897/ENUS288-619|title=IBM OPERATING SYSTEM/400 (TM) AVAILABILITY|date=1988-11-01|access-date=2021-04-01|publisher=IBM}}</ref>}} | 1988-11-25 |- | {{Version |o |V1R2}} | 1989-10-27 |- | {{Version |o |V1R3}} | 1990-09-28 |- | {{Version |o |V2R1}} | 1991-05-24 | rowspan=2 | 1994-06-30 |- | {{Version |o |V2R1M1}} | 1992-03-06 |- | {{Version |o |V2R2}} | 1992-09-18 | 1995-03-31 |- | {{Version |o |V2R3}} | 1993-12-17 | 1996-05-31 |- | {{Version |o |V3R0M5}} | 1994-05-04 | 1997-05-31 |- | {{Version |o |V3R1}} | 1994-11-25 | 1998-10-31 |- | {{Version |o |V3R2}} | 1996-06-21 | 2000-05-31 |- | {{Version |o |V3R6}} | 1995-12-22 | 1998-10-31 |- | {{Version |o |V3R7}} | 1996-11-08 | 1999-06-30 |- | {{Version |o |V4R1}} | 1997-08-29 | 2000-05-31 |- | {{Version |o |V4R2}} | 1998-02-27 | 2000-05-31 |- | {{Version |o |V4R3}} | 1998-09-11 | 2001-01-31 |- | {{Version |o |V4R4}} | 1999-05-21 | 2001-05-31 |- | {{Version |o |V4R5}} | 2000-07-28 | 2002-07-31 |- | {{Version |o |V5R1}} | 2001-05-25 | 2005-09-30 |- | {{Version |o |V5R2}} | 2002-08-30 | 2007-04-30 |- | i5/OS | {{Version |o |V5R3}} | 2004-06-11 | 2009-04-30 |- | rowspan="2" | i5/OS,<br>later IBM i | {{Version |o |V5R4 / 5.4}} | 2006-02-14 | 2013-09-30 |- | {{Version |o |V6R1 / 6.1}} | 2008-03-21 | rowspan=2 | 2015-09-30 |- | rowspan="7" | IBM i | {{Version |o |6.1.1}} | 2009-10-23 |- | {{Version |o |7.1}} | 2010-04-23 | 2018-04-30 |- | {{Version |o |7.2}} | 2014-05-02 | 2021-04-30 |- | {{Version |o |7.3}} | 2016-04-15 | 2023-09-30 |- | {{Version |co |7.4}} | 2019-06-21 | {{TBA}} |- | {{Version |co |7.5}} | 2022-05-10 | {{TBA}} |- | {{Version |c |7.6}} | 2025-04-18 | {{TBA}} |- | colspan="4" |<small>{{Version |l |show=111100}}</small> |} {{reflist|group=n}} ==See also== *[[Comparison of operating systems]] *[[Object (IBM i)]] ==References== {{Reflist|30em}} ==External links== {{Commonscat|IBM i}} *[https://www.ibm.com/products/ibm-i IBM i site] *[https://www.ibm.com/docs/en/i IBM i Documentation] *[https://www.itjungle.com IT Jungle] - IBM i news website *[https://www.mcpressonline.com MC Press Online] - IBM Midrange Computer news website {{IBM operating systems}} {{IBM midrange computers}} [[Category:1988 software]] [[Category:AS/400]] [[Category:IBM operating systems]] [[Category:Object-oriented operating systems]] [[Category:Power ISA operating systems]] [[Category:Proprietary operating systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite interview
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite newsgroup
(
edit
)
Template:Cite web
(
edit
)
Template:Commonscat
(
edit
)
Template:IBM midrange computers
(
edit
)
Template:IBM operating systems
(
edit
)
Template:Infobox OS
(
edit
)
Template:Main
(
edit
)
Template:Reflist
(
edit
)
Template:Refn
(
edit
)
Template:See also
(
edit
)
Template:Short description
(
edit
)
Template:TBA
(
edit
)
Template:Version
(
edit
)