Good comparison of MVS and Unix terms

Comparing MVS and UNIX Concepts and Terms

Topics in the following table were collected from the MVS-OE mailing list. 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 Interact with

the processor

BCP (including the hardware configuration definition – HCD) and the DFSMSdfp element

The kernel

BCP (including the hardware configuration definition – 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 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 orientation, often an 80-byte record, reflecting the traditional punched card image.

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.

Program language

supported

COBOL, HLL Assembler, PL/I, C/C++, Fortran, APL2, and others

C/C++, Java, and MicroFocus 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-run 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 and recoveries 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 Automated Data Storage Management (ADSM).

The pax, tar, and cpio utilities.

The pax, tar, and cpio utilities, and ADSM.

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; the outages are tolerable if a reboot takes a short time and if backup and recovery procedures are 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

resource

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 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 iinstallation 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.

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

Program binder and compilers

makefiles, program binders, compilers, 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:

- Those coming from TSO/E would probably use oedit (in OMVS under TSO/E and ISPF).

- Those coming from UNIX could use vi (only from rlogin or telnet sessions).

To convert ASCII/EBCDIC, download and use nedit, an X Windows-based editor with a GUI interface. Emacs and Visula slickedit are available from vendors.

Managing programs

For JES2 users, the SDSF element allows you to view jobs and purge 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 function

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, which processes RESERVE or ENQ/DEQ macros; latches and locks; compare and swap operations

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

Post a Comment