Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro...

53
© 2016, 2017 IBM Corporation Cognitive Systems Intro to PASE Kevin Adler - [email protected] - @kadler_ibm Session ID: Agenda Key: 170408 21CM

Transcript of Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro...

Page 1: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Intro to PASE

Kevin Adler - [email protected] - @kadler_ibm

Session ID:

Agenda Key:

170408

21CM

Page 2: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

What a UNIX Application Wants● Hierarchical filesystem with traditional layout

– /usr/bin, /bin, /usr/lib, /etc, ...● Bourne-compatible shell available at /bin/sh● ASCII / UTF-8 character set● byte-stream files● Asynchronous Signals● TTY interface

Page 3: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Unix History Lesson

Page 4: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Original Unix Hardware: DEC PDP-7 (1965)

https://en.wikipedia.org/wiki/PDP-7#/media/File:Pdp7-oslo-2005.jpeg

Page 5: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Original Unix Hardware: DEC PDP-11 (1970)

https://commons.wikimedia.org/wiki/File:Digital_PDP11-IMG_1498_cropped.jpg

Page 6: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Unix● Multi-tasking● Multi-user● Hierarchical filesystem● store data in plain-text● “everything is a file”● small simple tools – building blocks to larger functionality

Page 7: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Unix Family Tree

https://commons.wikimedia.org/wiki/File:Unix_history-simple.svg

Page 8: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Standardized “Unix”● “System V Interface Definition” (SVID)● Portable Operating System Interface (POSIX)

– IEEE 1003– ISO/IEC 9945

● Single UNIX Specification (SUS)

Page 9: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

The “Portable OS”● Hierarchical filesystem with a single root “/”● Bourne-compatible shell● Standard Unix commands

– ls, cp, mv, ...● byte-stream files● Asynchronous Signals● TTY interface

Page 10: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

What is PASE?● “Portable Application Solutions Environment”● Provides a runtime environment based off AIX● Uses 32-bit or 64-bit untagged pointers● ASCII/UTF-8 environment, not EBCDIC● Supports fork()/exec() process model● Runs direct POWER/PowerPC instructions (no translation)● Uses AIX system-call interface to access “OS” features

– filesystem & sockets– users & groups– heap and shared memory– signals– ...

Page 11: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Q: When was PASE introduced?

Page 12: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

A: V4R3 (1998)

Page 13: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Q: Why was PASE created?

Page 14: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

A: To allow SmallTalk to be ported with JIT support

Page 15: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Traditional PASE Diagram

Technology Independent Machine InterfaceSystem Call Interface

SLIC

PASE Applications IBM i Applications

Hardware

Page 16: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

PASE Diagram

SLIC

Hardware

PASE SYSCALL TIMI

XPF

IBM i Applications

PASE Runtime Libraries

PASE Applications

Page 17: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

PASE Diagram

SLIC

Hardware

PASE SYSCALL TIMI

XPF

IBM i Applications

PASE Runtime Libraries

PASE Applications

PASE Utilities

QP2 PASE Runtime & APIs

PASE headers

Page 18: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

PASE Diagram● PASE System call interface

– 57xx-999 (SLIC)● PASE QP2 APIs and Runtime

– 57xx-SS1 *BASE (IBM i)● PASE Runtime components

– 57xx-SS1 option 33 (PASE)● PASE headers

– 57xx-SS1 option 13 (System Openness Includes)

Page 19: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Q: How is Windows 10 like IBM i?

Page 20: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

A: They both have BASH!

Page 21: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Bash on Windows● https://msdn.microsoft.com/en-us/commandline/wsl/about● Implements Linux System Call interface● Maps to Windows NT kernel● Same basic concept as PASE except substitute Linux for AIX

https://blogs.msdn.microsoft.com/wsl/2016/06/08/wsl-system-calls

Page 22: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Based Off of AIX...● Mostly unmodified AIX components

– Runtime tools: cp, rm, mv, ...– Runtime Libraries: libc.a, libm.a, libcurses.a, ...– Header files: stdio.h, errno.h, fcntl.h, ...

● System calls: /unix– Uses same system call API/ABI as AIX– No AIX code in SLIC*– Many AIX system calls not implemented

Page 23: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

But it's not 100% AIX...● No /etc/passwd, /etc/groups, /etc/shadow, ...

– getpwnam() etc call through ILE APIs● No AIX filesystem support● Many AIX libraries not included

– libodm– libcfg

● No system management tools– installp– smit

● uname says OS400, not AIX● not all syscalls implemented :(● ... and more

Page 24: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

AIX Support in PASE● PASE 7.3 AIX 7.1≅● PASE 7.2 AIX 7.1≅● PASE 7.1 AIX 6.1≅● PASE 6.1 AIX 5.3≅● ...

Page 25: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Cue Open Sesame● PASE lives under /QOpenSys – Why?

Page 26: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Cue Open Sesame● PASE lives under /QOpenSys because it's case-sensitive● Standard Unix layout gets mapped:

– /usr/lib → /QOpenSys/usr/lib– /usr/bin → /QOpenSys/usr/bin– /usr/sbin → /QOpenSys/usr/sbin– /usr/share → /QOpenSys/usr/share

● Some links from / exist:– /lib → /usr/lib → /QOpenSys/usr/lib– /usr/ccs → /QOpenSys/usr/ccs– /usr/sbin → /QOpenSys/usr/sbin– /usr/share → /QOpenSys/usr/share

● Conspicuously missing symlinks– /bin & /usr/bin don't point to /QOpenSys– QSH got there first :(

Page 27: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Cue Open Sesame-bash-4.3$ ls -l /usr/bin/ls lrwxrwxrwx 1 qsys 0 54 Dec 22 2015 /usr/bin/ls -> /QSYS.LIB/QSHELL.LIB/LS.PGM

-bash-4.3$ /QSYS.LIB/QSHELL.LIB/LS.PGM -h-bash-4.3: /QSYS.LIB/QSHELL.LIB/LS.PGM: Permission denied

-bash-4.3$ /usr/bin/ls -h/usr/bin/ls: illegal option -- husage: ls [-1ACFHLNRSabcdefgiklmnopqrstuxEUX] [File...]

● How???– If /path/to/binary not executable, PASE automatically tries

executing /QOpenSys/path/to/binary instead

Page 28: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

MI Model● Single-level Store addressing

– 16-byte (128-bit) tagged pointers– Segmented storage (16M per segment)– Only SLIC can create or modify pointers via pointer MI instructions

● Any other manipulation invalidates a pointer● Jobs are “spawned” from scratch

– spawnp()– SBMJOB

● Calling a program– Program is loaded in same job– Static program storage is allocated in the program's “activation group”– ILE programs can call functions in service programs– All programs share the same SLS address space

● can pass pointers back and forth

Page 29: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

MI Model

PGMAPGMA foo()

PGMB bar()

SRVPGM1 baz()

PGMAPGMC main()

SBMJOB

123456/QUSER/TEST 654321/QUSER/TEST

Page 30: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

PASE Model● Private address space (virtual addressing)

– 32-bit or 64-bit pointers– Linear addressing (not segmented*)– Pointers can be converted between integers and back (untagged)

● Processes are forked– fork() creates a clone of a itself

● memory is shared “copy-on-write” - only split when it's modified– New program can be called via exec()

● replaces existing process image with new program● Calling a program

– Calling a program always* results in a new process– Each program gets its own address space

Page 31: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

PASE Model

PGMAmypgm main()

libfoo.so foo()

mypgm bar()

fork()

12345(123456/QUSER/TEST)

12346(654321/QUSER/TEST)

PGMAmypgm main()

libfoo.so foo()

mypgm bar()

Page 32: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

PASE Model

PGMAmypgm main()

libfoo.so foo()

mypgm bar()

12345(123456/QUSER/TEST)

12346(654321/QUSER/TEST)

PGMAmypgm2 main()

exec(mypgm2)

Page 33: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Process ID Mapping● Each PASE process has a numeric ID (pid)● Each PASE process also has a Job ID● Most non-PASE processes only have Job ID● Use getjobid to get the Job ID for a given pid

-bash-4.3$ getjobid 14Process identifier 14 is 904525/KADLER/QPADEV0002

Page 34: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Process ID Mapping-bash-4.3$ ps -e PID TTY TIME CMD 8 - 3:31 jvmStartPase 24 - 3:11 jvmStartPase 352 - 6:17 lslp-kernel 354 - 4:16 jvmStartPase 355 - 3:51 jvmStartPase 361 - 3:53 jvmStartPase 371 - 3:43 jvmStartPase 14532 - 0:00 sh 14539 - 0:00 bash 9973062 - 0:00 sshd 9973488 - 0:00 sshd 9973489 p0 0:00 bash 9973494 - 0:00 sshd 9973495 p1 0:00 bash 9973501 p1 0:00 ps

-bash-4.3$ system "WRKACTJOB" | grep 'Active jobs' | awk '{ print $NF }'229

Page 35: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Everyone is a Winner!● PASE runs inside an MI job● PASE memory is mapped in to Teraspace

– Any Teraspace-aware application can talk directly to PASE!– A PASE application can call any Teraspace-aware Program

Page 36: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

PASE Memory

00000000000000010000000200000003

....

FFFFFFFDFFFFFFFEFFFFFFFF

SPP:

SPP:

SPP:

SPP:

PASE Memory

Teraspace

SPP:

SPP:

Page 37: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Managing PASE MI Memory Mapping↔● In PASE

– _CVTSPP – convert space pointer to PASE pointer– _CVTTS64 – convert 64-bit Teraspace pointer to PASE pointer– _GETTS64_SPP – convert PASE pointer to Teraspace space pointer– _GETTS64 – convert PASE pointer to 64-bit Teraspace pointer

● In ILE– Qp2malloc() - allocate PASE memory– no direct way to convert PASE pointer to MI pointer

Page 38: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Interactive Applications

Page 39: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

https://commons.wikimedia.org/wiki/File:Teletype-IMG_7287.jpg

Page 40: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

https://commons.wikimedia.org/wiki/File:DEC_VT100_terminal.jpg

Page 41: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Page 42: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

https://commons.wikimedia.org/wiki/File:Terminal-ibm3486.jpg

Page 43: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Page 44: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Unix TTY Legacy● Things you can do enable or disable on a TTY

– “canonical” mode, buffering each line and allowing line-editing– echoing of input to the screen– whether ^C, ^Z, ... should send signals– whether output should be upper-cased

● You can also set which byte sends which signals● Change the size of the terminals

– how many rows/columns of characters– how many pixels wide/tall it is

Page 45: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

TTY in a 5250?● Sort of works (QP2TERM/QSH)● isatty lies!

– PASE_STDIO_ISATTY=N shows the truth● 5250 is block/record/field/window oriented

– Fundamentally incompatible● SSH provides access to true TTY

Page 46: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Page 47: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Exceptions● MI uses messages: CPF1234, MCH4321, ...● Unix uses signals● MI messages automatically converted to signals● Possible to get message id from signal handler

Page 48: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Integrated but not Identical● Separate file descriptor numbers between ILE and PASE

– Special code for CCSID conversion of stdin/stdout/stderr● Separate environment variables

– Mapping done at PASE startup● Different CCSIDs

– PASE CCSID separate from Job CCSID

Page 49: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

Questions?

Page 50: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

https://facebook.com/IBMPowerSystems

https://twitter.com/IBMPowerSystems

https://www.linkedin.com/company/ibm-power-systems

http://www.youtube.com/c/ibmpowersystems 

https://www.ibm.com/blogs/systems/topics/servers/power-systems/

Power Systems Social MediaIBM Power Systems Official Channels:

Page 51: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

51

Blogs Twitter #Hashtags

IBM Systems Magazine You and i (Steve Will)

IBM Systems Magazine i-Can (Dawn May)

IBM Systems Magazine: iDevelop (Jon Paris and Susan Gantner)

IBM Systems Magazine: iTalk with Tuohy

IBM Systems Magazine: Open your i (Jesse Gorzinski)

Trevor Perry Blog

IBM DB2 for i (Mike Cain)

IBM DB2 Web Query for i (Doug Mack)

Modern-i-zation (Tim Rowe)

@IBMSystems @COMMONug

@IBMChampions@IBMSystemsISVs

@LinuxIBMMag@OpenPOWERorg

@AIXMag @IBMiMag

@ITJungleNews @SAPonIBMi @SiDforIBMi

@IBMAIXeSupp@IBMAIXdoc 

#PowerSystems

#IBMi

#IBMAIX

#POWER8

#LinuxonPower

#OpenPOWER

#HANAonPower

#ITinfrastructure

#OpenSource

#HybridCloud

#BigData

#IBMiOSS

More to Follow:

Page 52: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

52

Revised September 26, 2006

Special noticesThis document was developed for IBM offerings in the United States as of the date of publication. IBM may not make these offerings available in other countries, and the information is subject to change without notice. Consult your local IBM business contact for information on the IBM offerings available in your area.Information in this document concerning non-IBM products was obtained from the suppliers of these products or other public sources. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. Send license inquires, in writing, to IBM Director of Licensing, IBM Corporation, New Castle Drive, Armonk, NY 10504-1785 USA. All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. The information contained in this document has not been submitted to any formal IBM test and is provided "AS IS" with no warranties or guarantees either expressed or implied.All examples cited or described in this document are presented as illustrations of the manner in which some IBM products can be used and the results that may be achieved. Actual environmental costs and performance characteristics will vary depending on individual client configurations and conditions.IBM Global Financing offerings are provided through IBM Credit Corporation in the United States and other IBM subsidiaries and divisions worldwide to qualified commercial and government clients. Rates are based on a client's credit rating, financing terms, offering type, equipment type and options, and may vary by country. Other restrictions may apply. Rates and offerings are subject to change, extension or withdrawal without notice.IBM is not responsible for printing errors in this document that result in pricing or information inaccuracies.All prices shown are IBM's United States suggested list prices and are subject to change without notice; reseller prices may vary.IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.Any performance data contained in this document was determined in a controlled environment. Actual results may vary significantly and are dependent on many factors including system hardware configuration and software design and configuration. Some measurements quoted in this document may have been made on development-level systems. There is no guarantee these measurements will be the same on generally-available systems. Some measurements quoted in this document may have been estimated through extrapolation. Users of this document should verify the applicable data for their specific environment.

Page 53: Intro to PASE - Event Schedule & Agenda Builder App | Schedschd.ws/hosted_files/commons17/30/intro to pase.pdf ·  · 2017-05-09Uses 32-bit or 64-bit untagged pointers ... //msdn.microsoft.com/en-us/commandline/wsl/about

© 2016, 2017 IBM Corporation

Cognitive Systems

53

Revised December 2, 2010

Special notices (cont.)IBM, the IBM logo, ibm.com AIX, AIX (logo), AIX 5L, AIX 6 (logo), AS/400, BladeCenter, Blue Gene, ClusterProven, DB2, ESCON, i5/OS, i5/OS (logo), IBM Business Partner (logo), IntelliStation, LoadLeveler, Lotus, Lotus Notes, Notes, Operating System/400, OS/400, PartnerLink, PartnerWorld, PowerPC, pSeries, Rational, RISC System/6000, RS/6000, THINK, Tivoli, Tivoli (logo), Tivoli Management Environment, WebSphere, xSeries, z/OS, zSeries, Active Memory, Balanced Warehouse, CacheFlow, Cool Blue, IBM Systems Director VMControl, pureScale, TurboCore, Chiphopper, Cloudscape, DB2 Universal Database, DS4000, DS6000, DS8000, EnergyScale, Enterprise Workload Manager, General Parallel File System, , GPFS, HACMP, HACMP/6000, HASM, IBM Systems Director Active Energy Manager, iSeries, Micro-Partitioning, POWER, PowerExecutive, PowerVM, PowerVM (logo), PowerHA, Power Architecture, Power Everywhere, Power Family, POWER Hypervisor, Power Systems, Power Systems (logo), Power Systems Software, Power Systems Software (logo), POWER2, POWER3, POWER4, POWER4+, POWER5, POWER5+, POWER6, POWER6+, POWER7, System i, System p, System p5, System Storage, System z, TME 10, Workload Partitions Manager and X-Architecture are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries.

A full list of U.S. trademarks owned by IBM may be found at: http://www.ibm.com/legal/copytrade.shtml.

Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.AltiVec is a trademark of Freescale Semiconductor, Inc.AMD Opteron is a trademark of Advanced Micro Devices, Inc.InfiniBand, InfiniBand Trade Association and the InfiniBand design marks are trademarks and/or service marks of the InfiniBand Trade Association. Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce.Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.Linear Tape-Open, LTO, the LTO Logo, Ultrium, and the Ultrium logo are trademarks of HP, IBM Corp. and Quantum in the U.S. and other countries.Linux is a registered trademark of Linus Torvalds in the United States, other countries or both.Microsoft, Windows and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries or both.NetBench is a registered trademark of Ziff Davis Media in the United States, other countries or both.SPECint, SPECfp, SPECjbb, SPECweb, SPECjAppServer, SPEC OMP, SPECviewperf, SPECapc, SPEChpc, SPECjvm, SPECmail, SPECimap and SPECsfs are trademarks of the Standard Performance Evaluation Corp (SPEC).The Power Architecture and Power.org wordmarks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org.TPC-C and TPC-H are trademarks of the Transaction Performance Processing Council (TPPC).UNIX is a registered trademark of The Open Group in the United States, other countries or both.

Other company, product and service names may be trademarks or service marks of others.