.. vim: set smarttab expandtab tabstop=2 shiftwidth=2 softtabstop=0 ft=rst: ============================================= Modern Mainframes and Linux Running on Them ============================================= :Author: Benjamin Block :Date: 2018-12-19 15:55:00 +0100 :Version: 2 Extended Abstract / Short Paper =============================== The term Mainframe is well-known in the IT world and even in other areas like entertainment [1]_. These machines are now around for more than half a century [2]_, and today they compete with a wide range of commodity platforms. Nevertheless, businesses around the world still use them, and many of our day-to-day transactions are handled by a mainframe at some point. In many cases it represents the central system of records for institutions like banks, credit card issuers, insurance companies, airlines, and others. But even though that is the case, few outside of these institutions have a specific understanding what a mainframe is [3]_, how they are built [4]_, and what operating systems run on them. .. [1] An Ode to Movie Mainframes: https://www.youtube.com/watch?v=Hcywf9mwF5U .. [2] IBM System/360: https://en.wikipedia.org/w/index.php?title=IBM_System/360&oldid=873775878 .. [3] Try at a Definition: https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_whatismainframe.htm .. [4] Assembling a IBM Z mainframe: https://www.youtube.com/watch?v=RnpvyJaX4Q4 In the past it was mostly only proprietary operating systems like z/OS (previously known as OS/390 or MVS) or z/TPF (a real time operating system specialized in fast transaction processing), that were used to operate mainframe computers. And while these undoubtedly are still used, today mainframes also run Linux; some are even built to only run Linux as general purpose OS. This talk focuses on IBM Mainframes (IBM Z) and on the Linux operating system running on them. It is not a sales-pitch, it is aimed at giving an idea of what technology we use today, how it can be operated, and what makes it different from other types of server computers. The first part provides an overview of the hardware that a modern mainframe is built with. This covers detailed pictures and descriptions of the main components, such as the Central Processing Complex (CPC) including the used Processor Units (PUs), how I/O extension cards are connected to the CPC, and some specialized RAS features like RAIM (a memory technology used in IBM Z). The second part gives a more detailed description of how Linux is used as a operating system on IBM Z. This covers in what ways these big computers are usually operated, how their resources are split up, and how Linux comes into play. The third and last part of the talk dives a bit deeper into Linux internals and shows some things that make the mainframe architecture (s390x) different from other Linux architectures like x86 or arm. It covers things like: - how the user interface looks like in absence of any frame buffer or serial console, - how central processor features like registers or the memory layout look like, - some specialties of the architecture, like Channel Programs for I/O operations, and - how we can debug Linux on these machines. Needed Knowledge ================ General knowledge of computer architecture, Linux, and the Linux kernel are helpful to follow the talk. Prior knowledge of IBM Mainframes and Linux on Z are not required. More Links ========== - IBM Developer Works - Linux on Z and LinuxONE: https://www.ibm.com/developerworks/linux/linux390/index.html - IBM z14 Technical Introduction (IBM Redbook): http://www.redbooks.ibm.com/redbooks/pdfs/sg248450.pdf - IBM Z Connectivity Handbook (IBM Redbook): http://www.redbooks.ibm.com/redbooks/pdfs/sg245444.pdf - Device Drivers, Features, and Commands (Kernel 4.18): http://public.dhe.ibm.com/software/dw/linux390/docu/l418dd35.pdf - IBM z14 Design and Technology (IBM Journal of Research and Development): https://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=8353167&punumber=5288520 - IBM z13 Technology and Design (IBM Journal of Research and Development): https://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=7175088&punumber=5288520