Topics in the following table were collected from the MVS-OE listserv, as mentioned earlier. The first column identifies a task or concept, in platform-independent terms; the second column describes the task or concept in MVS terms, the third column describes the task or concept in terms of AIX (the UNIX that runs on RS/6000), and the fourth column describes the task or concept for OS/390 UNIX. Note that the table is in random order; the disparate nature of the tasks and concepts in the table makes logical ordering and consistent phrasing difficult.
|Task or concept||MVS||AIX||OS/390 UNIX|
|Part of the system that interacts with the processor||Base control program (BCP), including the hardware configuration definition (HCD), and the DFSMSdfp element||The kernel.||BCP, including the HCD, and the DFSMSdfp element|
|Virtual storage the system gives each user||MVS address space; each OS/390 user gets 2 gigabytes of virtual storage; some of that storage contains system code that is common for all users.||Users get whatever virtual storage they need to reference, within the limits of the hardware and operating system.||OS/390 UNIX work runs in MVS address spaces. In IBM manuals, "a UNIX address space" typically refers to an address space created (with WLM managing the initiators) by a fork or spawn function.|
|Data storage||Data sets||Files||Files|
|System configuration data||Parameters in members of SYS1.PARMLIB (also called parmlib) control how the system IPLs and how address spaces behave.||The /etc file system controls characteristics. Also, the Object Data Manager (ODM) stores system configuration information.||The /etc file system contains OS/390-specific configuration files, product defaults, and information that is used during system IPL and at other times, such as when daemons (tasks) are started. Unlike parmlib, it cannot be shared or concatenated, nor can it be shared among systems for searching purposes.|
|Bit bucket||DD DUMMY||/dev/null file||/dev/null file|
|Locating data sets and files||Catalogs (master and user) and PDS directories||Directories||Directories|
|Locating file systems||The volume table of contents (VTOC) lists all data sets, but not members within the data sets.||Because the file system is hierarchical, files can be located by the directories above them; the directories by the directories above them - right up to the root itself.||Because the file system is hierarchical, files can be located by the directories above them; the directories by the directories above them - right up to the root itself.|
|Shared libraries||Every address space can run a single copy of a program in the link pack area (LPA) for common use.||Shared libraries are dynamic. When the first user loads a shared program, it is brought into storage. If no one is using a program, it can be freed.||With OS/390 R9, shared libraries, similar to AIX. An HFS program that has the sticky bit on can invoke a program in the LPA.|
|Text data representation||MVS's use of EBCDIC originated with the holes in punched cards. MVS does not care whether data is EBCDIC or ASCII. The applications themselves must handle the data, whatever the form. However, most MVS programs that work with data expect it in EBCDIC; an example is ISPF edit, which works only on EBCDIC data.
When you use telnet to access TSO/E, the data you enter is converted from ASCII to EBCDIC before TSO/E processes it.
|AIX programs expect data to be in ASCII.||OS/390 UNIX does not care whether data is EBCDIC or ASCII. All IBM-shipped OS/390 UNIX programs that work with data expect it in EBCDIC. Most programs that work with data in other UNIX systems produce it in ASCII. Therefore, if you port a program from another UNIX platform, you might have to convert the data, which you can do through the pax or iconv utilities.
When you use telnet or rlogin to access the shell, the data you enter is converted from ASCII to EBCDIC before the shell processes it. When you use file transfer program (FTP) and do a text transfer on ASCII text, the file automatically converts to EBCDIC.
|Data format||Record and block orientation||Byte orientation; organization of the data is provided by the application||Byte orientation; organization of the data is provided by the application.|
|Data access methods||VSAM, BSAM, QSAM, and others; also HFS||File organization is application's responsibility.||File organization is application's responsibility; see also MVS.|
|Case sensitivity||MVS can require uppercase (as in JCL and data set names); sometimes it folds to uppercase (as in commands and parmlib parameters.)||Commands and file names are case sensitive.||Commands and file names are case sensitive.|
|Programming languages supported||COBOL, HLL Assembler, PL/I, C/C++, Fortran, APL2, and others||C/C++, Java, and Micro Focus COBOL||C/C++, Java, HLL Assembler, PL/I.|
|Scripting language||TSO/E CLISTs and REXX execs||Shell scripts, Perl, TCL or TK, awk||Shell scripts, REXX execs, awk, and Perl|
|Online help||TSO/E HELP, ISPF help (PF1 key)||man (for manual) is a UNIX shell command that provides on-line help (called man pages) for shell commands and functions. Also, there is online help for Graphical User Interfaces and TaskGuides.||man provides on-line help for shell commands and functions. Also, OHELP (an interface to Book Manager) is a UNIX shell command that provides on-line help for the TSO/E UNIX commands.|
|Smallest element that performs work||A task (represented by an MVS control block called a TCB). MVS supports multiple tasks.||A thread. The kernel supports multiple threads. When users start a unit of work, they are executing a process, and functions like exec and fork create new processes. A process can have several threads.||A thread is implemented as a task. The kernel supports multiple threads in an address space. When users start a unit of work, they are executing a process, and functions like exec and fork create new processes. A process can have several threads.|
|A long-running unit of work||A started task; sometimes a long-running job||A daemon||A daemon or a started task.|
|Order in which the system searches for programs to run||The search order for programs in libraries is usually: TASKLIB, STEPLIB, JOBLIB, LPALST, and LNKLST.||Programs are loaded from the file system according to the user's PATH environmental variable (a list of directories to be searched). For dynamic link library (DLL) programs, programs are loaded from LIBPATH.||Programs are loaded from the file system according to the user's PATH environmental variable. If the kernel encounters a program with the sticky bit enabled, the search order reverts to the MVS search order.|
|Backups||Backups are done concurrently in the background on a single instance of the data, while other work continues to run with the required response times and service levels. Data being archived cannot change during the archive process.||An AIX system can mirror at the logical disk volume level. If a disk fails, it can be removed and a new disk added. This method is only available locally.
Another backup technique is to use tools that copy data to another media, usually tape. The tools require that data being archived not change during the archive process.
|Backups are done concurrently in the background on a single instance of the data, while other work continues to run with the required response times and service levels. Data being archived cannot change during the archive process.|
|Backup and recovery utilities||Hierarchical Storage Manager (DFSMShsm) and DFSMSdss elements; IBM product Tivoli Storage Manager (TSM), formerly known as ADSTAR Distributed Storage Manager (ADSM); Non-IBM vendor products also provide this support.||The pax, tar, and cpio utilities; TSM provides backup of AIX data and data located on distributed systems.||The pax, tar, and cpio utilities; DFSMShsm and DFSMSdss are able to back up the file systems. TSM can backup the individual files within these file systems, which can be sent to either an MVS or AIX server.|
|Availability of the system||Unscheduled outages are rare. Systems generally run fully available. When backups, database reorganizations, and other software housekeeping occur, they typically run concurrently alongside diverse production workloads, such as online processing, query, and web-serving.||Unscheduled outages tend to be more frequent on UNIX systems; an outage is tolerable if a reboot takes a short time and if a recovery procedure is not required to ensure the integrity of data. Reorganizations of databases might require a scheduled outage.||Unscheduled outages are rare. Systems generally run fully available. When backups, database reorganizations, and other software housekeeping occur, they typically run concurrently alongside diverse production workloads, such as online processing, query, and web-serving.|
|Assigning physical storage||Allocate storage using dynamic allocation (through ISPF), the TSO/E ALLOCATE command, and the DD statement in JCL.||A system administrator assigns file systems to logical volumes that are mapped to physical storage.||A system administrator allocates HFS data sets associated with file systems.|
|Accounting for use of system resources||SMF (system measurement facility) or a non-IBM product, at an address space level||AIX provides system accounting utilities.||SMF, at an address space level|
|Balancing workload||Workload manager (WLM) policy or settings in parmlib members IEAICSxx, IEAOPTxx, and IEAIPSxx.||AIX uses process priorities that can be assigned by the nice command.||A WLM policy or settings in IEAIPSxx.|
|Monitoring performance||The RMF element.||Performance tools check the hardware resources, CPU utilization, memory, I/O throughput, and disks.||Non-IBM vendor products provide monitoring tools that allow you to see what is going on and take actions against user processes. RMF only provides operator commands that allow you to view output on the system console.|
|Determining problems||TSO TEST or the IBM Debug Tool that comes with the C/C++ element. MVS has console messages, a hardcopy log, dumps, and abend codes. You can set SLIP traps; also, you can use generalized trace facility (GTF) and component trace.
With JES2, use SDSF to view the system log.
|Errnos, visual source-level debuggers, syslog, core dumps; also dbx symbolic debugger and errpt for system errors, and core dumps.||Errnos and errnojrs, which are return codes and reason codes, the dbx debugger, or VA Debugger for C/C++ and Java.
The syslog daemon SYSLOGD creates the UNIX log, which you can browse; SYSLOGD stores log output in HFS files.
Set SLIP traps to get dumps, identifying which jobname to set the trap for; component trace and LE dumps and utilities.
|Managing product installation and service||The SMP/E element manages product installation and service.||AIX system commands manage administrative operations. The system management interface tool (SMIT) is a menu interface to some of these commands.||SMP/E manages product installation and service|
|Using the system interactively||Users log on to the system through TSO/E; the ISPF element provides a panel-driven interface to TSO/E. A userid can have only one logon session active at a time, either in this copy of OS/390 or across the sysplex.||Users login to systems and execute shell sessions in the shell environment. They can issue rlogin and telnet commands to connect to an operating system. Additionally, AIX users have a graphical interface called aixterm. AIX users can have many logins open at once.||OS/390 userids can use the rlogin and telnet commands and have multiple login sessions. Additionally, they can log on to TSO/E and enter the OMVS command.|
|Starting a program to run in the background||Submit a batch job through the job's JCL.||Shell commands that use the "&" parameter; cron command||Shell commands that use the "&" parameter, cron, and the BPXBATCH interface to submit shell commands and utilities.|
|Scheduling a program||JES2, JES3, System Automation for OS/390.||cron, programs (typically daemons) started at boot time, which are listed in /etc/inittab; also, the System Resource Controller (SRC) starts and restarts daemons.||cron or /etc/rc or another facility for starting and restarting daemons.|
|Starting a program to run in the foreground||You can use ISPF or TSO/E to run a job in the foreground.||Issue the name of the shell script or program.||Issue the name of the shell script or program.|
|Starting a process||Use an ATTACH or XCTL macro, invoke a CALL from an already-running program, EXECUTE in TSO/E, or submit a batch job.||fork/exec functions and p_thread create||fork/exec functions and p_thread create|
|Creating a new address space||ASCRE macro, logging on to TSO/E, issuing the START command, submitting a batch job, APPC, the scheduler, and WLM.||AIX does not have the same concept of address spaces as MVS does.||fork, sometimes spawn functions, or a login command start an address space.|
|Creating an executable program||Link editor, program binder and compilers||makefiles, program binders, compliers, gnu, emacs, lexx, yacc, make||makefiles, program binders, compilers, lexx, yacc|
|Editing data or code||ISPF editor||Many editors exist, such as vi, ed, sed, and emacs.||vi, ed, oedit (an ISPF editor), and sed:
To convert ASCII/EBCDIC, download and use nedit, an X Windows-based editor with a GUI interface. Emacs and Visual SlickEdit are available from vendors.
|Managing programs||For JES2 users, the SDSF element allows you to view jobs and purge or cancel jobs.||The ps shell command allows you to view processes and threads, and kill jobs. The kill command terminates a process. To terminate an interactive process, use ctrl-C to send a SIGKILL interrupt to the process.||The ps shell command allows you to view processes and threads, and kill jobs. The kill command terminates a process. To terminate an interactive process, use ctrl-C to send a SIGKILL interrupt to the process. Also, SDSF.|
|Authorizing access to do certain functions||FACILITY classes, in RACF||Through the execute permission bit with UID and GID definitions. Also, access control lists through security mechanisms, such as Kerberos and DCE.||Through permission bits, UIDs, and GIDs. Use of UNIXPRIV FACILITY class grants certain privileges. There are no access control lists.|
|Serializing use of data||Global resource serialization (GRS), which processes RESERVE or ENQ/DEQ macros; latches and locks; compare and swap operations. These operate across multiple physical boxes in a parallel sysplex.||byte-range locking of files||byte-range locking of files|
|Changing from unauthorized to authorized||supervisor call (SVC), PC instruction, or MODESET macro||setuid bit||setuid bit|