Terminology

From LinuxVM
Jump to: navigation, search

Mainframe/Linux Terminology Cross Reference

A lot of long-time mainframe technicians find talking to distributed technicians difficult, and vice versa. Although we're talking about the same things, it often doesn't seem that way, because a lot of terms that are used are different. This page is an attempt to help with some of that.

These comparisons could certainly stand some scrutiny from people with backgrounds in both mainframes and distributed systems. While I've been using them for quite some time that doesn't mean they're the best they could be. Additional entries that people might find useful are also welcome.

MainframeDistributedDiscussion
IPLbootBeing strictly pedantic, an IPL is complete when the bootstrap program is loaded. In real life, most systems programmers don't consider an IPL to be finished until the system is completely up. I.e., JES is up, TSO is running, and real work is getting done. That corresponds quite well to what a Linux system administrator considers to be the end of the boot process.

nucleuskernelThe Linux kernel is responsible for hardware management, virtual memory management, I/O, etc. Technically speaking, "Linux" is the kernel and only the kernel. Loose usage over the years has led to Linux kernel-based operating systems being called "Linux" generally.

PLPA / LINKLISTkernel modules, PATHCommands that users issue, or that are executed from scripts, can be executed implicitly, or by specifying the fully-qualified file name, starting at the root directory "/". Implicity executed commands must be marked as being executable, and reside in a directory listed in the PATH environment variable, or a "command not found" error is received. Unlike the linklist or PLPA, a user can modify their PATH variable dynanmically.

TSO / CMSshellA shell is how a user interacts with the computer. Unlike TSO or CMS, there can be multiple different shells installed on a Linux system, and in use by different users. The most commonly used one on Linux is bash, the Bourne-Again SHell. This is typical UNIX/Linux humor in that the Bourne Shell was one of the earliest shells, and bash has certain extensions or improvements over it.

OSANICMany people refer to Open Systems Adapters as OSAs, but some use of the NIC (Network Interface Card) is being seen as well. Most notably in z/VM, such as when defining virtual network devices via "DEFINE NIC" commands, or the CP directory NICDEF statement.

DASDhard disk, hard driveWhen Direct Access Storage Devices were first created, the important aspect was that you didn't have to read trhough the whole volume to get to the one piece of data you needed. Hence, direct access versus sequential access such as you have with magnetic tape. Although floppy disks were known before the personal computer was first marketed, it was the first time a lot of people were exposed to them, and the terminology to distinguish between them and the non-floppy or hard drive arrived.

Real storageRAM, memory

PTF / APARpatchThe terms patch and diff are frequently used very loosely. Technically, they are both commands. The diff command compares two files, and generates a listing of the differences between them. (This output can be in a number of various formats.) The patch command accepts as input "commands" and makes changes to the specified file. Typically, the output from the diff command is written to a file. That file is then used as input by the patch command on another file, to make the same change there. The ambiguity arises when people say things like "put on this patch" when referring to a file that was created by the diff command. When in doubt, ask for clarification.
IEBUPDTEpatch
IEBUPDTE inputdiff
SuperC / COMPAREdiff
xedit update modediff

SMP/E
SES/E
RPM (Red Hat Package ManagerAlthough created by and named after Red Hat Linux, it is not unique to Red Hat. When it was first released, Red Hat encouraged anyone and everyone to use it, and many did. Other Linux distributions, such as Slackware and Debian and their derivatives use other package management tools.

FCP AdapterHBA (Host Bus Adapter)

paging dataset
paging space
swap partition/volume/fileThe odd thing about this term is that Linux doesn't swap. It does demand paging, just like z/OS and z/VM. Obviously the algorithms used to determine what gets paged in or out is different, but the underlying concept is the same.

multi-processorSMPSMP stands for Symmetric Multi-Processing

systems programmersystem administratorAlso referred to as a sysadmin or SA.

GUIX / X-WindowDon't refer to this as Windows or X-Windows. You're likely to get flamed for it. Just say "X" to be safe.

pattern matchingregular expressionRegular expressions are an extremely powerful tool for pattern matching. They put simple filename masking, such as "*" or "*.*" to shame. Conversely, they can be difficult to learn to use well, when the searches get complex.

help filesman pagesMan pages (manual pages) are not intended to be tutorials. They're largely written as technical documentation for experts. Being able to extract useful information from them can take some time and experience, along with trial and error.

STC / SVMdaemonPronunciation of this can vary, depending on who you're talking to. Some people say "day-mon" while others say "dee-mon." Strictly speaking, daemons run disconnected from the console ("in the background"), listen for requests over the network and spawn child processes to handle the incoming requests. The classic example is the Internet Super Daemon, inetd, and now xinetd. inetd or xinetd listen on a number of different network ports for things like FTP, telnet, etc. Sometimes people use daemon to describe any system-initiated process that runs in the background.

address spaceprocessWhile not exact, the analogy is pretty close.

task (tcb)threadAlso a close but not exact analogy. You'll sometimes hear people taking about whether or not something is "thread safe." Thread safety in the Unix world is the question of whether the semantics of a multithreaded program are fulfilled in any plausible sequence of thread execution, an issue grown ever so more pressing since multicore desktop machines started exposing parallel programming defects in multithreaded programs which used to execute fine on single cores.