Linux on IBM Z

Last updated

Linux on IBM Z or Linux on zSystems is the collective term for the Linux operating system compiled to run on IBM mainframes, especially IBM Z / IBM zSystems and IBM LinuxONE servers. Similar terms which imply the same meaning are Linux/390, Linux/390x, etc. The three Linux distributions certified for usage on the IBM Z hardware platform are Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Ubuntu.

Contents

History

Linux on IBM Z originated as two separate efforts to port Linux to IBM's System/390 servers. The first effort, the "Bigfoot" project, developed by Linas Vepstas in late 1998 through early 1999, was an independent distribution and has since been abandoned. [1] IBM published a collection of patches and additions to the Linux 2.2.13 kernel on December 18, 1999, to start today's mainline Linux on IBM Z. [2] Formal product announcements quickly followed in 2000, including the Integrated Facility for Linux (IFL) engines. Think Blue Linux was an early mainframe distribution consisting mainly of Red Hat packages added to the IBM kernel. [3] Commercial Linux distributors introduced mainframe editions very quickly after the initial kernel work.

IBM manager Karl-Heinz Strassemeyer of Böblingen in Germany was the main lead to get Linux running on S/390. [4]

At the start of IBM's involvement, Linux patches for S/390 included some object code only (OCO) modules, without source code. [5] Soon after IBM replaced the OCO modules with open source modules. Linux on IBM Z is free software under the GNU General Public License.

According to IBM, as of May 2006, over 1,700 customers were running Linux on their mainframes. [6]

Virtualization

Virtualization is required by default on IBM Z; there is no option to run Linux on IBM Z without some degree of virtualization. (Only the very first 64-bit mainframe models, the z900 and z800, included a non-virtualized "basic mode.") First layer virtualization is provided by the Processor Resource and System Manager (PR/SM) to deploy one or more Logical Partitions (LPARs). Each LPAR supports a variety of operating systems including Linux on IBM Z. A hypervisor called z/VM can also be run as the second layer virtualization in LPARs. This allows an LPAR to run as many virtual machines (VMs) as can be supported by the resources assigned to the LPAR. KVM on IBM Z is another hypervisor option.

When Linux applications in an LPAR access data and applications in other LPARs such as CICS, IBM Db2, IMS, Linux, and other mainframe subsystems running on the same physical mainframe, they can utilize HiperSockets fast, memory-only TCP/IP connections. As compared to TCP/IP over standard network interface controllers (NICs, also known as Open System Adapters (OSAs) in mainframes), HiperSockets can improve end-user responsiveness (reduce network latency and processing overhead), security (since there's no network connection to intercept), and reliability (since there's no network connection to lose). [7]

With the zEC12, zBC12, and later models, the HiperSocket concept is extended beyond the physical machine boundary via an RDMA over Converged Ethernet (RoCE) adapter to facilitate a secure and high speed inter-system communication. Applications in LPAR A in system A can thus use HiperSockets to communicate with applications in LPAR B in system B to ensure the security and performance attributes.[ citation needed ]

Hardware

Beginning with Linux kernel version 4.1 released in early 2015, Linux on IBM Z is only available as a 64-bit operating system compatible with z/Architecture mainframes. Previously Linux on IBM Z was also available as a 32-bit operating system, with 31-bit addressing, compatible with older model mainframes introduced prior to 2000's z900 model. However, the newer 64-bit Linux kernel and 64-bit Linux on IBM Z distributions are still backward compatible with applications compiled for 32-bit Linux on IBM Z. Historically the Linux kernel architecture designations were "s390" and "s390x" to distinguish between the 32-bit and 64-bit Linux on IBM Z kernels respectively, but "s390" now also refers generally to the one Linux on IBM Z kernel architecture.

Linux runs on standard, general purpose mainframe CPs (Central Processors) as well as IFLs (Integrated Facility for Linux). IFLs are mainframe processors dedicated to running Linux, either natively or under a hypervisor (z/VM or KVM on IBM Z). Microcode restricts IFLs from running "traditional" workloads, such as z/OS, but they are physically identical to other IBM Z processors. IFLs are typically less expensive to acquire from IBM than CPs. [8]

Linux on IBM Z gives the flexibility of running Linux with the advantages of fault-tolerant mainframe hardware capable of over 90,000 I/O operations per second [9] and with a mean time between failure (MTBF) [10] measured in decades. [11] Using virtualization, numerous smaller servers can be combined onto one mainframe, gaining some benefits of centralization and cost reduction, while still allowing specialized servers. Instead of paravirtualization, IBM mainframes use full virtualization, which permits workload density far greater than paravirtualization does.[ citation needed ] Combining full virtualization of the hardware plus lightweight Virtual Machine containers that run Linux in isolation (somewhat similar in concept to Docker) result in a platform that supports more virtual servers than any other in a single footprint, [12] [ failed verification ] which also can lower operating costs. Additional savings can be seen from reduced need for floor space, power, cooling, networking hardware, and the other infrastructure needed to support a data center.[ citation needed ]

IBM mainframes allow transparent use of redundant processor execution steps and integrity checking, which is important for critical applications in certain industries such as banking.[ citation needed ] Mainframes typically allow hot-swapping of hardware, such as processors and memory. IBM Z provides fault tolerance for all key components, including processors, memory, I/O Interconnect, power supply, channel paths, network cards, and others. Through internal monitoring, possible problems are detected and problem components are designed to be switched over without failing a transaction. [13] In the rare event of failure, firmware will automatically enable a spare component, disable the failing component, and notify IBM to dispatch a service representative. This is transparent to the operating system, allowing routine repairs to be performed without shutting down the system. Many industries continue to rely on mainframes where they are considered to be the best option in terms of reliability, security, or cost. [11]

Support

Like all other versions of Linux, Linux on IBM Z is governed by the GPL free software license. Complete Linux on IBM Z source code is available from numerous parties on a free and equal basis, and architectural support is part of the main Linux kernel effort. IBM assigns several of its programmers to the community effort, but IBM is by no means the only participant.

Though there are no obstacles to running any Linux on IBM Z distribution on an IBM z System, IBM routinely tests three particular Linux on IBM Z distributions: Red Hat, [14] SUSE, [15] and starting in 2015, Canonical's Ubuntu Linux. [16] Other notable Linux on IBM Z distributions include Debian (upstream for Ubuntu), [17] Fedora (upstream for RHEL), [18] Slackware, [19] CentOS, Alpine Linux [20] and Gentoo. [21]

Nearly every free or open-source software package available for Linux generally is available for Linux on IBM Z, including Apache HTTP Server, Samba, JBoss, PostgreSQL, MySQL, PHP, Python programming language, Concurrent Versions System (CVS), GNU Compiler Collection (GCC), LLVM, Perl, and Rust, [22] among many others. [23]

Red Hat and SUSE offer mainline support for their distributions running Linux on IBM Z. [24] [25] In 2015 Canonical announced plans to offer official support for its distribution starting in early 2016. IBM Global Services also offers support contracts, including 24x7 coverage. [26] Some standard Linux software applications are readily available pre-compiled, including popular closed-source enterprise software packages such as WebSphere, [27] IBM Db2 [28] and Oracle [29] databases and applications, SAP R/3, SAP ERP, [30] and IBM's Java Developer's Kit (JDK), [31] to name only a few.

Developer resources

IBM offers resources to developers wishing to target Linux for z:

Linux on IBM Z supports Unicode and ASCII just like any other Linux distributionit is not an EBCDIC-based operating system. [36] However, for convenience Linux is able to read kernel parameters in EBCDIC. z/VM takes advantage of this capability.

Porting Linux applications to Linux on IBM Z is fairly straightforward. Potential issues include endianness (Linux on IBM Z is big-endian) and reliance on non-portable libraries particularly if source code is not available. [37] Programs can be easily cross compiled to z/Architecture binaries on non-mainframe Linux systems. [38]

Emulators

There are at least three software-based IBM Z mainframe emulators.

See also

Related Research Articles

<span class="mw-page-title-main">IBM AIX</span> Series of Unix operating systems from IBM

AIX is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms.

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM's line of business computers are developments of the basic design of the System/360.

<span class="mw-page-title-main">VSE (operating system)</span>

VSEn is an operating system for IBM mainframe computers, the latest one in the DOS/360 lineage, which originated in 1965. It is less common than z/OS and is mostly used on smaller machines.

<span class="mw-page-title-main">Hercules (emulator)</span> Multi-platform emulator for mainframe software

Hercules is a computer emulator allowing software written for IBM mainframe computers and for plug compatible mainframes to run on other types of computer hardware, notably on low-cost personal computers. Development started in 1999 by Roger Bowler, a mainframe systems programmer.

The Integrated Facility for Linux (IFL) is an IBM mainframe and Power Systems processor dedicated to running the Linux operating system. On IBM Z and IBM LinuxONE machines, IFLs can be used with or without hypervisors such as z/VM and KVM. IFLs are one of three most common types of "specialty" IBM mainframe processors that give software vendors more granular control over software licensing and maintenance costs.. Microcode restricts IFLs to Linux workload by omitting some processor instructions not used by the Linux kernel, but the underlying processors are physically identical to general purpose processors (CPs). When IBM adds features and performance improvements to its mainframes' general purpose main processors, those features and improvements nearly always apply equally to IFLs. In fact, in recent IBM Z machines IFLs support simultaneous multithreading, a feature not available for general purpose processors.

A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Unlike an emulator, the guest executes most instructions on the native hardware. Multiple instances of a variety of operating systems may share the virtualized hardware resources: for example, Linux, Windows, and macOS instances can all run on a single physical x86 machine. This contrasts with operating-system–level virtualization, where all instances must share a single kernel, though the guest operating systems can differ in user space, such as different Linux distributions with the same kernel.

z/Architecture, initially and briefly called ESA Modal Extensions (ESAME), is IBM's 64-bit complex instruction set computer (CISC) instruction set architecture, implemented by its mainframe computers. IBM introduced its first z/Architecture-based system, the z900, in late 2000. Later z/Architecture systems include the IBM z800, z990, z890, System z9, System z10, zEnterprise 196, zEnterprise 114, zEC12, zBC12, z13, z14, z15 and z16.

PowerLinux is the combination of a Linux-based operating system (OS) running on PowerPC- or Power ISA-based computers from IBM. It is often used in reference along with Linux on Power, and is also the name of several Linux-only IBM Power Systems.

A logical partition (LPAR) is a subset of a computer's hardware resources, virtualized as a separate computer. In effect, a physical machine can be partitioned into multiple logical partitions, each hosting a separate instance of an operating system.

<span class="mw-page-title-main">IBM System z9</span> Line of mainframe computers

IBM System z9 is a line of IBM mainframe computers. The first models were available on September 16, 2005. The System z9 also marks the end of the previously used eServer zSeries naming convention. It was also the last mainframe computer that NASA ever used.

Dynamic Logical Partitioning (DLPAR), is the capability of a logical partition (LPAR) to be reconfigured dynamically, without having to shut down the operating system that runs in the LPAR. DLPAR enables memory, CPU capacity, and I/O interfaces to be moved nondisruptively between LPARs within the same server.

IBM S/390 Multiprise was a short-lived series of small, compact, entry-level mainframes.

Since the rise of the personal computer in the 1980s, IBM and other vendors have created PC-based IBM-compatible mainframes which are compatible with the larger IBM mainframe computers. For a period of time PC-based mainframe-compatible systems had a lower price and did not require as much electricity or floor space. However, they sacrificed performance and were not as dependable as mainframe-class hardware. These products have been popular with mainframe developers, in education and training settings, for very small companies with non-critical processing, and in certain disaster relief roles.

In IBM System z9 and successor mainframes, the System z Integrated Information Processor (zIIP) is a special purpose processor. It was initially introduced to relieve the general mainframe central processors (CPs) of specific Db2 processing loads, but currently is used to offload other z/OS workloads as described below. The idea originated with previous special purpose processors, the zAAP, which offloads Java processing, and the IFL, which runs Linux and z/VM but not other IBM operating systems such as z/OS, DOS/VSE and TPF. A System z PU is "characterized" as one of these processor types, or as a CP, or SAP. These processors do not contain microcode or hardware features that accelerate their designated workloads. Instead, by relieving the general CP of particular workloads, they often lead to a higher workload throughput at reduced license fees.

IBM Z Family name used by IBM

IBM Z is a family name used by IBM for all of its z/Architecture mainframe computers. In July 2017, with another generation of products, the official family was changed to IBM Z from IBM z Systems; the IBM Z family now includes the newest model, the IBM z16, as well as the z15, the z14, and the z13, the IBM zEnterprise models, the IBM System z10 models, the IBM System z9 models and IBM eServer zSeries models.

The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.

PowerVM, formerly known as Advanced Power Virtualization (APV), is a chargeable feature of IBM POWER5, POWER6, POWER7, POWER8, POWER9 and Power10 servers and is required for support of micro-partitions and other advanced features. Support is provided for IBM i, AIX and Linux.

OpenSolaris for System z is a discontinued port of the OpenSolaris operating system to the IBM System z line of mainframe computers.

<span class="mw-page-title-main">IBM System z10</span> Line of mainframe computers

IBM System z10 is a line of IBM mainframes. The z10 Enterprise Class (EC) was announced on February 26, 2008. On October 21, 2008, IBM announced the z10 Business Class (BC), a scaled-down version of the z10 EC. The System z10 represents the first model family powered by the z10 quad core processing engine. Its successors are the zEnterprise System models introduced in 2010 and 2012.

References

  1. Vepstas, Linas. "Linux on the IBM ESA/390 Mainframe Architecture" . Retrieved 5 June 2013.
  2. "Linux/390 - Notes and Observations" . Retrieved 5 June 2013.
  3. "Linux for S/390" . Retrieved 5 June 2013.
  4. Lettice, John. "IBM's S/390 Linux guru on the Open Source patent question".
  5. "Kernel 2.2 based". developerWorks. IBM. Archived from the original on 3 September 2014. Retrieved 5 June 2013.
  6. Milberg, Ken. "The Gen Xer's Guide to the Mainframe Part III". IBM Systems Magazine. Retrieved 5 June 2013.
  7. "HiperSockets". z/OS basic skills information center. IBM. Retrieved 5 June 2013.
  8. "IBM Z: Linux on IBM Z - Solutions - IFL". IBM. Retrieved 5 June 2013.
  9. "IBM Z - I/O Connectivity: FICON/zHPF/CTC". www.ibm.com. 2012-11-15. Retrieved 2016-06-01.
  10. staff, Computerworld (31 October 2005). "MTBF". Computerworld. Retrieved 2016-06-01.
  11. 1 2 Green, Timothy (24 January 2015). "Here's Why IBM Is Still Building Mainframes -- The Motley Fool". The Motley Fool. Retrieved 2016-06-01.
  12. "IBM: About the z/VM Operating System". www.vm.ibm.com. 2015-01-14. Retrieved 2016-06-01.
  13. "IBM Z - Business resiliency: Data Driven - Server". www.ibm.com. 2010-10-26. Retrieved 2016-06-01.
  14. "Linux on IBM Z tested platforms". IBM. Retrieved 2 Nov 2021.
  15. "IBM Z: Linux on IBM Z - Resources - Tested platforms". IBM. Retrieved 5 June 2013.
  16. "Linux on IBM Z tested platforms". IBM. Retrieved 2 Nov 2021.
  17. "S/390 Port". Debian. Retrieved 5 June 2013.
  18. "Architectures/s390x". Fedora Project. Retrieved 5 June 2013.
  19. "The Slack/390 Linux Project". Slackware Inc. Archived from the original on 23 February 2019. Retrieved 25 November 2018.
  20. "downloads | Alpine Linux". alpinelinux.org. Retrieved 2021-06-20.
  21. "Project:S390". Gentoo. Retrieved 16 October 2014.
  22. "Add s390x support by uweigand · Pull Request #36369 · rust-lang/Rust". GitHub .
  23. "Debian autobuilder status for s390, 29 April 2013". Debian. Archived from the original on 24 June 2013. Retrieved 5 June 2013.
  24. "Red Hat Enterprise Linux for IBM Z". Red Hat. Retrieved 5 June 2013.
  25. "SUSE Linux Enterprise Server for Z". SUSE. Retrieved 5 June 2013.
  26. "IBM Services and Support for Linux". IBM. Retrieved 5 June 2013.
  27. "WebSphere MQ for Linux for System z". IBM. Archived from the original on 2 January 2013. Retrieved 5 June 2013.
  28. "Installation requirements for DB2 servers and IBM data server clients (Linux)". IBM DB2 Version 10.1 Information Center. IBM. Retrieved 5 June 2013.
  29. "IBM System z: Linux on System z - Solutions - zSolution Oracle - Overview". IBM. Retrieved 5 June 2013.
  30. "SAP Applications Empower Business" (PDF). Retrieved 5 June 2013.[ permanent dead link ]
  31. "developerWorks : Technical Topics : Java technology : IBM Developer kits : Linux : Download information". IBM . Retrieved 5 June 2013.
  32. "Linux Test Drive". IBM. Retrieved 5 June 2013.
  33. "IBM Systems Application Advantage for Linux (Chiphopper)". IBM. Retrieved 5 June 2013.
  34. "IBM Z: Linux on IBM Z - Community Development System for Linux - Registration Form". IBM. Retrieved 5 June 2013.
  35. "Linux Remote Development Program". IBM. Retrieved 5 June 2013.
  36. "Mainframe operating system: Linux for System z". z/OS basic skills information center. IBM. Retrieved 5 June 2013.
  37. Gellerich, Wolfgang. "Porting applications to Linux for Z". IBM developerWorks. IBM. Retrieved 23 October 2013.
  38. "How to". IBM developerWorks. Retrieved 23 October 2013.
  39. "System/390 on Intel-Based Servers" . Retrieved 5 June 2013.
  40. "Rational IBM Z Development and Testing Hub". IBM. Retrieved 5 June 2013.