z/OS UNIX: A Solid Foundation for an Enterprise-Grade DBMS
In "z/OS and Friends," Joe Gulla explains how z/OS UNIX broadens the scope of DBMS support and compares it to implementing Linux alongside z/OS

The first article in this two-part series was all about Db2. I did my best to find and write about the reason that IBM’s implementation of the relational model on z/OS really matters. I have had a long relationship with Db2. So, before I get into UNIX on z/OS, Linux, hypervisors and databases, I want to spend a few paragraphs on my experiences around and about Db2.
Networking Lab Rat (That’s Me) Visits IBM Toronto Lab
When I worked for IBM, I was a Db2 enthusiast attending Db2 conferences at the IBM Toronto Lab whenever possible. My job at the time was global offering manager and, in that role, I helped the services leaders in Canada sell and implement global offerings. So, I was in Toronto often.
At the typical conference, the Db2 people from the lab that presented were the scientists and designers of the product. I was a newly minted Ph.D., so it was interesting for me to see what other Ph.Ds. did in a commercial setting. I thought that they had amazing technical vitality even if I didn’t always understand the presentations, as they were highly specialized. Nevertheless, I learned about relational database innovations, and they filled me with wonder—I always left the conference with a lifted spirit. They taught me that some corners of IT were all about innovation.
I also learned that the Db2 designers and developers who worked on the z/OS product had the toughest jobs because the needs of the enterprise customers were very challenging. There was multi-user access and availability requirements. There was also integrity and performance. Many of the things I wrote about in my earlier Db2 article came up in our break-time conversations.
Let’s Broaden the Scope of Database Management Support
If you want to explore other databases in addition to IMS DB and Db2, you can look to z/OS UNIX and its ability to host applications that utilize database management systems. The two IBM enterprise databases on z/OS, IMS and DB2, set a very high standard. However, UNIX provides a solid foundation for an enterprise-grade database management system (DBMS). Their stability, performance capabilities and robust security features make them a good choice when requiring reliable and scalable database solutions.
Let’s start with a quick z/OS UNIX recap. The z/OS Base Control Program (BCP) includes a UNIX Kernel as shown in Table 1.
Table 1. UNIX Kernel is part of z/OS BCP.
z/OS UNIX System Services (z/OS UNIX) Kernel | You use z/OS UNIX to make it easier to implement or port applications in an open, distributed environment. z/OS UNIX is available to z/OS XL C/C++ application programs using the C/C++ language bindings. These bindings are supplied throughout the Language Environment element. The components, language, bindings and supporting environment work together to provide an application programming interface that supports industry standards. This part of the z/OS Kernel is often labeled USS for UNIX System Services. |
z/OS has base elements and features, too. Table 2, below, lists a selection of base elements that you could categorize as UNIX support.
Table 2. UNIX base elements in z/OS.
Data Set File System (DSFS) | Use this base element with z/OS UNIX applications so they can access data sets by presenting the data sets as a tree-structured file system that is mounted at mount point/DSFS in the z/OS UNIX file system tree. |
z/OS Container Extensions (zCX)—LINUX tool | Use this base element as it provides the runtime support to deploy and run Linux on IBM Z applications that are packaged as Docker Container images on z/OS. |
z/OS File System (zFS) | Use this base element when you want to utilize a UNIX file system. zFS file systems contain files and directories that can be accessed with z/OS UNIX application programming interfaces. |
z/OS UNIX System Services | Use this base element because it provides the standard command interface familiar to interactive UNIX users. This base element is made up of Application Services, which includes the Shell and Utilities, Debugger and Parallel Environment. |
What Database Management Systems Are Designed to Run on POSIX-Compliant UNIX Systems?
Many database management systems (DBMS) are designed to run on POSIX-compliant UNIX systems, including both open-source and commercial options. For example, open-source DBMSs include PostgreSQL, MySQL/MariaDB, SQLite, MongoDB, Redis and Cassandra.
What about commercial DBMS implementations? Examples include Oracle Database, IBM Db2, Informix and Sybase ASE (SAP ASE). Considerations for picking one include workload type (OLTP, OLAP, real time, embedded) and licensing (open-source vs. commercial).
When you focus your research to include the specific platform, UNIX on z/OS versus AIX or Linux, you get into the issue of “official support,” which matters depending on the purpose of the setup (sandbox, educational environment or production implementation).
What Database Management Systems Run on POSIX-Compliant UNIX on z/OS?
On POSIX-compliant UNIX environments within IBM z/OS, the primary database management systems officially supported and widely used are IBM Db2 for z/OS and IBM IMS. Db2 can be accessed from z/OS UNIX System Services (USS), which provides a POSIX-compliant environment. IMS can be accessed from z/OS USS too. Open Database Access (ODBA) provides a callable interface that allows z/OS address spaces, including those running in USS, to interact with IMS databases. This enables applications running in USS to access and manipulate data stored within IMS.
Additionally, there are open-source databases and tools that have been ported or are known to run on the USS environment of IBM z/OS. For PostgreSQL, there have been community efforts to port PostgreSQL to z/OS USS. These ports are not officially supported by IBM and may require custom compilation and configuration. MySQL/MariaDB is like PostgreSQL in that some experimental ports exist but are likely not officially maintained.
Berkeley DB is a lightweight embedded database that has been successfully compiled and run in USS environments. SQLite, due to its minimal dependencies, is often used in z/OS UNIX environments for lightweight data storage.
Additionally, Rocket Software provides a suite of tools and solutions for z/OS USS, including open-source ports and enterprise applications. These tools aim to modernize mainframe development and administration by leveraging familiar open-source technologies and providing robust support for Zowe, an open-source framework for z/OS.
Also, the zos-native GitHub project offers resources and setup guides for building and running open-source software in USS. This project aims to leverage z/OS’s USS to enable modern DevOps pipelines and workflows. It provides a foundation for other projects, like Zowe, to build upon and modernize development on the mainframe.
How Is Linux, a UNIX-Like OS, Implemented on z/OS?
Linux is implemented in different ways on z/OS. One way is through Container Extensions under z/OS (discussed later), and another is alongside z/OS on IBM mainframes like IBM Z and IBM LinuxONE. Let’s start with Linux on IBM Z running in a parallel operating environment which is not a part of z/OS.
Linux can run natively on IBM Z hardware, just like z/OS does. It is compiled specifically for z/Architecture and can run in parallel with z/OS on the same physical machine. This is made possible through IBM’s potent virtualization technologies.
Virtualization has layered options including Processor Resource/System Manager (PR/SM), which is the hardware-level hypervisor that creates logical partitions (LPARs). Each LPAR can run its own operating system—z/OS, Linux, z/VM, etc.
z/VM is software that serves as a second-level hypervisor running within an LPAR. It can host hundreds to thousands of Linux virtual machines. It has been in the marketplace for a long time and is well known for its usefulness. Kernel-based virtual machine (KVM) for IBM Z and LinuxONE is an open-source alternative to the IBM z/VM hypervisor for the virtualization of Linux workloads on IBM Z and IBM LinuxONE systems.
What Is Integrated Facility for Linux (IFL)?
IBM offers special processors called IFLs that are optimized and priced specifically for running Linux workloads. These processors are functionally identical to standard mainframe CPUs but are restricted to Linux and z/VM workloads, making them cost-effective.
How Does Communication Between Linux and z/OS work?
Linux and z/OS can communicate efficiently using HiperSockets, which are high-speed, memory-only TCP/IP connections between LPARs. Communication can also use Shared DASD or SAN storage and middleware like IBM MQ or Db2 Connect.
What Are the Supported Linux Distributions?
The main Linux distributions certified for IBM Z are Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) and Ubuntu Server. These are compiled for the z/Architecture and include support for mainframe-specific features.
At this point in the discussion, I want to return to z/OS USS and discuss a special implementation and use of Linux. Earlier in this article, I wrote, “Linux is implemented on z/OS through Container Extensions under z/OS.” Let me explore that statement by discussing z/OS Container Extensions (zCX)—LINUX tool. You can use this base element of z/OS to provide the runtime support to deploy and run Linux on IBM Z applications that are packaged as Docker Container images on z/OS.
What Is IBM zCX?
IBM zCX is a virtual Docker software appliance that includes all the necessary software components to allow a user to deploy and manage Linux on Z Docker images (for example, z/Architecture) inside z/OS. The software appliance includes a commercial Linux kernel supported and maintained by IBM and provides the Docker command-line interface to implement a fully functional Docker environment. Users log in to the zCX instance through Secure Shell (SSH) and run in a Bash shell as they would on any Linux platform.
So, what are the implications for open-source database management systems on z/OS using zCX?
Can zCX Run Open-Source DBMSs Inside Linux-Based Containers?
Yes, IBM zCX can run open-source DBMSs inside Linux-based containers, provided those DBMSs are compatible with the Linux distributions supported by zCX.
How Does It Work?
zCX allows you to run Linux on Z Docker containers natively on z/OS, without requiring a separate Linux LPAR or z/VM. These containers run in a z/OS-managed environment and can host typical Linux applications, including open-source DBMSs like PostgreSQL, MySQL/MariaDB, MongoDB, Redis and Cassandra. These are examples, not a complete list.
What Do I Have to Consider?
The containerized DBMS must be compiled for the z/Architecture, referred to as s390x in Docker web pages and documents. You need to ensure that the container image you use is either built for IBM Z or built by you from source using a Dockerfile on a compatible z/Architecture system. Keep in mind that performance and integration with z/OS services like RACF and SMF may require additional configuration.
There are some good sources for s390x-compatible Docker images of open-source databases that can run inside IBM z/OS zCX, like Bitnami Docker Images, which are pre-configured, regularly updated and secure container images for many open-source databases, including PostgreSQL, MySQL, MongoDB and Redis.
There are also Docker Hub Official Images, where some official images (like Postgres, MySQL, Mongo and Redis) support multi-architecture builds, including s390x. You can check this by visiting the image page on Docker Hub and looking under the “Supported Architectures” section.
One Additional Figure and Discussion
I really appreciate this figure that I pulled from a Red Hat publication. It has relevance to this database discussion.

Figure 1. Hardware through software and container platforms.
While my focus in this series of articles is IBM Z, I appreciate this figure because it reminds us of IBM LinuxONE, a line of high-end servers designed to run the Linux operating system and built on the IBM z/Architecture. It is important to include Linux as it is a kind of UNIX system that has a strong following in the marketplace.
This chart shows the hypervisors, z/VM and KVM, which I discussed previously. It reminds us that the hypervisors run guests including z/OS, z/TPF (specialized, handles massive volumes of online transactions) and Linux.
Finally, this chart links z/OS to zCX Foundation for Red Hat OpenShift (supporting containerized Linux applications and their databases). As previously discussed, zCX supports containerized Linux on IBM Z applications to run alongside native z/OS workloads by using the powerful quality of service of z/OS.
What Is Next?
Next month, I plan to explore security in a broad architectural and software manner. I will examine z/Architecture security features like hardware-based cryptography and logical partitioning. I’ll also look at Resource Access Control Facility (RACF), a security program that controls access to z/OS resources by granting access only to authorized users. Also, I will discuss auditing and compliance and encryption everywhere, among other topics.