home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 14 Text / 14-Text.zip / techsem2.zip / TECHSEM2.TXT
Text File  |  1991-06-20  |  34KB  |  746 lines

  1.   This text was written by Peter Fitzsimmons on June 16, 1991 and
  2.   posted as a series of seven messages in the Fidonet OS2PROG echo
  3.   conference.  The text is collected and posted here in this text
  4.   file for a wider distribution.  Pete Norloff 6/19/91
  5.  
  6. _____________________________________________________________________
  7.  
  8.   What follows is a summary of the IBM OS/2 1991 Technical Seminar,
  9.   for an audience I define as  "myself"  (what I would want to read
  10.   if someone else attended in my place).
  11.  
  12.   This  seminar  is  to be repeated two more times (I think) in the
  13.   USA,   so you can sign up for it yourself if you want.   Included
  14.   with the seminar (to follow later in the summer) is a pre-release
  15.   version of OS/2 2.00,   the IBM Programmer's Workbench,  SoftTerm
  16.   (an asynch terminal program),    and  a  set of 32bit programming
  17.   tools (including IBMs 32bit  C  compiler).    The price is approx
  18.   $1595US.
  19.  
  20.   If your company will pick up the tab,  go for it.  If you're like
  21.   me and have to fork out these dollars yourself (and  perhaps even
  22.   more significantly: take time off of your current job to attend),
  23.   I'm not sure I would recommend you attend.
  24.  
  25.   Notes
  26.   -----
  27.  
  28.   Novel (3.2?) on AIX & OS/2 2.00 will ship sometime late 1992.
  29.  
  30.   ES/LS (Extended Services/Lan Server) will  run  on  other vendors
  31.   OS/2 1.3/2.0.
  32.  
  33.   A new copy of OS/2 1.3 is US$150.  To upgrade  from  IBM  PC DOS,
  34.   the cost is US$127 (and you KEEP your DOS license).
  35.  
  36.   The version of OS/2 2.00 they  had  at the seminar (for demos and
  37.   for us to play with) was 6.140,  released 91/06/02.  It no longer
  38.   has a Microsoft (c) copyright.
  39.  
  40.   OS/2  2.00  (hereafter  called  "V2")  will  "boot"  an arbitrary
  41.   version of DOS  (such  as  DR  DOS  5.00 or CP/M) from a diskette
  42.   image stored on your hard disk.  The VM (virtual machine) created
  43.   for it thinks  it is booting from drive A:,  so you loose the use
  44.   of physical A: for that session.
  45.  
  46.   If  you use the supplied DOS,  you get in excess of 647,000 bytes
  47.   of free ram,   with XMS/EMS/MOUSE/NETWORK/CACHE/VDISK all drivers
  48.   present.
  49.  
  50.   The current release TARGET for V2 is October.    This  is  only a
  51.   target and is not an official release date.
  52.  
  53.   The ICON Editor comes with the base operating system.
  54.  
  55.   The FAT file system has been improved (coined "Super FAT"  by the
  56.   presenter):
  57.         - Lazy Writes.
  58.         - Read Ahead Caching.
  59.  
  60.   V2  can  be  configured with "sticky keys",  so that a one handed
  61.   operator can simulate multiple simultaneous key presses.
  62.  
  63.   The  session  manager  API is completely documented,  so that you
  64.   can write your own shell program if you want.  You'll be told how
  65.   to init PM and SPOOL.  The  example  given  for  this  was  for a
  66.   customer wishing  to have a very controlled user workstation (one
  67.   where users could not launch applications themselves).  I was not
  68.   able to get the microphone to ask,  but this sounds like it might
  69.   be a way to  boot  V2  without  PM  (I'm  not  sure  if  this  is
  70.   desirable;    since  there is no such thing as a pure 32bit "full
  71.   screen" program. ie: pure 32bit apps are always PM apps.).
  72.  
  73.   DosQProcStatus() will not be documented.   Mike Kogan (one of the
  74.   better  speakers  at  the  seminar)  was quite amused that I  and
  75.   others were able  to  find  and  use this undocumented API.  He's
  76.   going to take the thought back with him as a user requirement. He
  77.   said DosQProcStatus()  itself  will  never  be  documented,   but
  78.   clearly we do want an API in there so that  we  can enumerate the
  79.   running  processes.       He  told  me  to  use  DosQProcStatus()
  80.   carefully, since it basically  stops  OS/2  while it collects the
  81.   info it returns.   I brought the whole topic up when I discovered
  82.   that the info  returned  from  it  is different from OS/2 1.3 ---
  83.   another very good reason not to use it.
  84.  
  85.   WinAllocMem(), etc,  are  gone.   You're supposed to use the base
  86.   OS memory functions,  such as DosAllocMem().
  87.  
  88.   There are some new PM Controls.  A CONTAINER control looks like a
  89.   Windows 3.00 "Program group".   It supports icons,  bitmaps, text
  90.   and date/time.
  91.  
  92.   A NOTEBOOK control looks like a spiral-binder with little plastic
  93.   tabs  sticking out as bookmarks;  except that  the  tabs  can  be
  94.   sticking out of any edge of the binder.
  95.  
  96.   The  SLIDER Control looks like something you'd  find  used  as  a
  97.   "balance  control"  on your home stereo.   It is to  be  used  in
  98.   place of a scroll bar which some people were using as a selection
  99.   control,  rather than a scroll control.
  100.  
  101.   Palette Manager:  This new GPI feature allows a PM application to
  102.   change the PM palette.  PM decides when to  change  the  palette,
  103.   based on which application has the largest portion visible on the
  104.   desktop,  and on which app is in the foreground.     Dithering is
  105.   done for apps farther down in the z-order.  Simple  animation can
  106.   be done by changing the palette.
  107.  
  108.  
  109.   Popup Menus are menus that are not  tied  to  a  menu  bar.   For
  110.   example,    a  user can go up to a menu bar,  and "drag" the Edit
  111.   menu down to the middle of  their  document,  where it will stay,
  112.   so that it is "within reach".
  113.  
  114.   The Font Driver Interface is documented.  This  is  the interface
  115.   that  ATM  (Adobe  Type Manager; included with V2 and V1.3) uses.
  116.   Therefore,  new font  engines  (such as TrueType) can be added to
  117.   work with the font drivers supplied with V2.
  118.  
  119.   You can change the default font.
  120.  
  121.   There is a GpiQueryLocicalFont() API  (thank God!  You could only
  122.   GpiSet...() it before).
  123.  
  124.   More VIO fonts.   128  character  wide  host session supported on
  125.   VGA.
  126.  
  127.   Future Directions for PM:
  128.        - 32bit PMWIN.DLL.
  129.        - Distributed PM apps (32bit PM apps available  to  286 dos-
  130.        windows workstations,  or non-intel platforms  such  as unix
  131.        via X.11 protocol).
  132.  
  133.   If OS/2 and/or PM is ported to a new platform or technology (such
  134.   as "NT"),  the 32bit API will remain the same.
  135.  
  136.   The  toolkit is going to come with  more  (and  better)  samples.
  137.   (I'll believe  it  when  I  see it <g>).  The source code for the
  138.   games included with V2 (for  example, an IBM developed version of
  139.   Solitaire) will come with the toolkit.
  140.  
  141.   The 32bit C compiler was developed in house by IBM (in Toronto):
  142.  
  143.        - Full ANSI C compiler.
  144.        - Re-entrant libraries.
  145.        - Consistent across SAA platforms.
  146.        - "lint like" options.
  147.        - DLL support.
  148.        - Optimizing.
  149.        - Asynchronous and in-memory file i/o.
  150.        - floating point libs.
  151.        - Improved memory management.
  152.  
  153.        After I get  it  (Mid-July  time  frame) I'll tell you if it
  154.        works or not <g>.
  155.  
  156.   V2 supports 16 bit apps using "LDT Tiling",  where  the 286-style
  157.   pmode segments are mapped onto 386-style flat pages.  Thus the 16
  158.   bit  apps are (ultimately) paging,  not  swapping.    The  entire
  159.   16bit API is present in V2,  and is mapped onto the new 32bit API
  160.   on the fly.
  161.  
  162.   Much of V2  is  still  written  in  16 bits (more on this later),
  163.   even though the interface to it is the new 32 bit api.
  164.  
  165.   These  last two points lead to a discussion  of  "THUNKING".    A
  166.   Thunk is a routine that translates a 16  bit  segment:offset pair
  167.   into a 32bit flat offset,  or vice versa.   V2  relies heavily on
  168.   thunking to support the old 16 bit apps,  and to interface 32 bit
  169.   apps  with the portions of V2 which are  still  16  bits  (device
  170.   drivers,  for example).
  171.  
  172.   Much thought was  put  into  this,   and thunking has very little
  173.   overhead.  The 16bit selectors are assigned so that  a  simple  4
  174.   instruction algorithm can be used to convert it to 32 bits,   and
  175.   back again.  The  conversion  happens at ring 3 (ie: no privilege
  176.   switch is req'd).
  177.  
  178.   Each  application  space  is 512MB.  This limit is not arbitrary;
  179.   the LDT tiling and Thunking techniques limit it.
  180.  
  181.   Some Mixed model programs (programs that use both 32bit and 16bit
  182.   APIS) may have to supply their own Thunks.  For  example,   a set
  183.   of PM apps (one 16bit,  the other 32bit) that  want  to send each
  184.   other      WM_USER     messages     will     have     to      use
  185.   WinSetWindowThunkProc(hwnd,  pThunkProc)  to  establish  a  thunk
  186.   procedure to covert any pointers  that are passed back and forth.
  187.   (All system WM_* messages are autoThunked).
  188.  
  189.  
  190.   I mentioned that V2 is still  made  up  of some 16bit code.  Here
  191.   are some particulars,  as Mike Kogan told us:
  192.  
  193.        - The entire kernel is 32bits,  except for the file system.
  194.        - There is  no  32bit DDI (device driver interface) defined,
  195.        therefore all of the  device  drivers  use a 16bit interface
  196.        (but may use 32bit logic internally).
  197.        - Queues are still 16bit.
  198.        - Window Manager (Win...() is still 16bit).
  199.        - GPI/GRE is currently 16bit,  but will be 32bit by the time
  200.        V2 ships.  (This is the  workhorse  of PM,  not the Win...()
  201.        calls).
  202.  
  203.   GPI is currently coded in 286 asm,  and is being coded in 32bit C
  204.   for portability (and performance).
  205.  
  206.   The XGA  driver  is  32bit,    exploits  bus mastering,  built in
  207.   windowing support,  hardware managed pointer,  and can operate on
  208.   system memory bitmaps.  (wow -- I can hardly wait  to  see one of
  209.   those new 50MHZ 486 PS/2's running V2).
  210.  
  211.  
  212.   Every  thread  now  has an exception handler  (something  like  a
  213.   signal handler).  Thread 1 is a special case;  it handles process
  214.   signals  and  the  Exit  List.     Killing  thread  1  kills  the
  215.   application.
  216.  
  217.   Only two rings are used now,  ring 0 and ring 3.
  218.  
  219.   32bit apps can (optionally) let the operating  system dynamically
  220.   grow  the  stack  of a thread,  thus very large  stacks  (in  the
  221.   megabytes) are supported.
  222.  
  223.   Each VDM (virtual dos machine)  uses 4MB of linear address space.
  224.   A  task switch from one to another is as simple as a register set
  225.   switch, and a page-context switch (ie: it is very fast,  and does
  226.   not require switching the CPU to real mode  as  is  done  in OS/2
  227.   1.x).   The upper 3MB is defined as the "VDM workspace";  I don't
  228.   specifically know what  it  is  used  for;  screen images and the
  229.   like, I would guess.
  230.  
  231.   Each  VDM  has  access to 16MB of XMS memory, 32MB of EMS memory,
  232.   and 512MB (508 actually) if it is a DPMI app (such as the Windows
  233.   3.0 kernel that is included with V2).
  234.  
  235.   They assured me that the new semaphore API (for private/anonymous
  236.   semaphores)  are  just  as fast (if  not  faster)  than  the  RAM
  237.   SEMAPHORES that OS/2 1.x supplied.  The reason why  they  can  be
  238.   (sometimes significantly) faster than the old RAM sems is because
  239.   of a brain-damaged  DosClearSem()  in  OS/2  1.x.    I'll  try to
  240.   explain;    if  several threads were blocked on a mutex semaphore
  241.   under 1.x,  DosClearSem() would release ALL of the threads,   the
  242.   scheduler  would  post  them all for execution,  figure out which
  243.   thread had the highest priority,  then re-freeze all of the other
  244.   threads.    OS/2  2.00 will only unblock one thread when a sem is
  245.   cleared.     Apologies  to  Kent  Cedola  who  figured  out  that
  246.   DosEnterCritSec(),  although not  as  elegant,  was,  much of the
  247.   time,  faster than RAM sems.  Now we know why.
  248.  
  249.   16bit system semaphores are not compatible with any of the new 32
  250.   bit  semaphores.    If a 32bit semaphore needs to use an app that
  251.   uses  an  old  syssem,   it will have to be a mixed 32/16 bit app
  252.   that uses the old API to access that particular sem.
  253.  
  254.   Named-shared  memory,    because  of  the 386 hardware,  is  much
  255.   faster  than  OS/2  1.x,  since the kernel does not  need  to  be
  256.   involved with memory transfers.
  257.  
  258.   Standard Dialogs are now  supplied  (thank  God!).  They actually
  259.   look good too.  File Open,  File  Save,  and  Font  Selection are
  260.   supplied.  They are customizable (no details given).
  261.  
  262.   OS/2 1.x had a separate thread (and process) for swapping;   thus
  263.   swapping required a task switch.  V2 does not.
  264.  
  265.   There are four types of programs:
  266.  
  267.    link16-|      Pure 16 bit   |
  268.    link32---|    Mixed 16 bit  |--- 16 bit runtime
  269.             |    Mixed 32 bit   |
  270.             |    Pure 32 bit    |--- 32 bit runtime
  271.  
  272.   If  you  take  a 16bit application,  and do nothing more than re-
  273.   link  it,    it will become a "mixed 16 bit" EXE,  and will see a
  274.   performance will increase.
  275.  
  276.   The new 32bit API is "c like" in  the  sense  that  arguments are
  277.   placed on the  stack  from  right  to  left,  and the caller (not
  278.   callee) cleans up the stack.   This  allows the api to be changed
  279.   in the future  (by  adding  new  arguments  at  the  end) without
  280.   breaking existing code (source or binary).
  281.  
  282.   MOSS  (I  think  this  stands  for   Multiple   Operating  System
  283.   Selection) allows you to boot several operating systems from your
  284.   hard disk.   It is an integral part of FDISK (FDISK,  by the way,
  285.   now has a full screen version  as  well  as a PM version).  There
  286.   are two ways  you  can use it:  1)  have more than one drive "C:"
  287.   on your hard disk,  such that booting  one  of  them  "hides" the
  288.   others.  This is  useful  for  something  that insists on booting
  289.   from C:.  2) Boot from another partition,  such as D:.  OS/2 2.00
  290.   will boot from D: (yiiiiiiippppppppeeeeeeee).  This  later method
  291.   lets  you access the partitions (such as  C:)  that  may  contain
  292.   other bootable operating systems.
  293.  
  294.   V2 install allows arbitrary source and destination drives.
  295.   It will install over a LAN.
  296.   It has a graphical install program.
  297.   It uses PKZIP technology to speed up installation.
  298.   You can jump to a command prompt at any time during Install.
  299.  
  300.   CSDs:  Graphical interface,   Lan  support,  Progress indicators,
  301.   Backout procedure.
  302.  
  303.   Recommended Minimum Configuration:
  304.  
  305.                       1.2       1.3       2.0
  306.                       -----------------------
  307.        SE             3-5mb     2-4mb     3-5mb
  308.        LAN Requestor  4-7mb     3-6mb     4-7mb
  309.  
  310.   Applets: Calender and Diary,  Address Book,  Mini-spreadsheet and
  311.   Database,  Calculator,  Alarm Clock,  Business Graphics charting.
  312.  
  313.   The next beta will have "32bit protected DLLs".  Currently (under
  314.   1.x),   a DLL that has SHARED data per instance can have parts of
  315.   its  dataspace corrupted by a separate  processes.  (It  may  not
  316.   happen often,  but it IS possible).   This  can  even  crash OS/2
  317.   itself.   These new 32bit protected DLLs  will  be  able  to have
  318.   shared data (and/or  be  of  the  "init  global"  flavor)  and be
  319.   uncorruptable.
  320.  
  321.  
  322.   A little more about MVDMs
  323.   -------------------------
  324.  
  325.   Migrate data to/from via  PM  clipboard  (for  win and normal dos
  326.   text apps).
  327.  
  328.   Named pipe support.
  329.  
  330.   Bimodal device drivers (real/protected)  are  no  longer required
  331.   (This makes the job of writing an OS/2 DD a lot easier).
  332.  
  333.   All but 10k of the  640k is available for a DOS app.  This 10k is
  334.   primarily used to support many of  DOS's  undocumented structures
  335.   and features.  (note: The device driver chain  is  not supported;
  336.   not many programs use this --  some  network programs do.  If you
  337.   want this level of compatibility,  simply boot a real  version of
  338.   dos in a VDM).
  339.  
  340.   Hardware  is  simulated.    The  following  VDDs  (Virtual Device
  341.   Drivers) are supplied:
  342.        - BIOS
  343.        - PIC (interrupt controller)
  344.        - EMS
  345.        - XMS
  346.        - DMA (allows copy protected programs with a  "key  disk" to
  347.        work,  as well as programs like FASTBACK).
  348.        - Virtual CMOS
  349.        - NPX (80x87).
  350.  
  351.   Some  of  us  speculated that V2  would  contain  a  BCL  (Binary
  352.   compatibility layer).  Apparently  this  was  coded,   but it ran
  353.   like a dog.  Since IBM has a full cross-license for  Windows 3.00
  354.   source,   they simply included it with V2.    They  have  removed
  355.   large chunks of it  (dealing  with  "386  enhanced mode"),  since
  356.   these features are now supplied by V2 itself.   They  also turned
  357.   Windows 3 into a  DPMI  (Dos Protect Mode Interface) client,  and
  358.   it is run  as any other DPMI client is under V2;  except there is
  359.   a few hooks in there to support cut/paste for the clipboard.
  360.  
  361.   Win 3 runs in "standard mode" under V2.  You can  therefore start
  362.   more than one winapp in a win  3  session,    and  they  will use
  363.   "cooperative muktitasking" <giggle>,  and crash  each  other just
  364.   like they do under real Windows  today.    Or,  you can start one
  365.   winapp per Windows 3 MVDM,   and get pre-emptive multitasking and
  366.   full memory protection.
  367.  
  368.   Ron Cadima did a side by side V2/Win3 demo for  us.   The Windows
  369.   machine had twice as much memory installed (16mb vs  8mb  on  the
  370.   OS/2 2.00 machine).    The  Win3  machine was configured to be as
  371.   fast as possible (large  smartdrv,  himem,  enhanced  mode, etc).
  372.   The V2 machine  was  using  the  new  SUPER FAT (not hpfs or lazy
  373.   write),  so  as  not to make Win look too bad <g>.   Two programs
  374.   were used for this demo;  a Win3 "disk write" program that writes
  375.   data out to disk a few  hundred  times,   and a Win3 program that
  376.   draws a MAP about a dozen times.   Both  programs  time their own
  377.   execution.
  378.  
  379.                                 Windows   OS/2
  380.                                 --------------
  381.        DISK WRITE               28        10
  382.        DRAW MAP                 4         8
  383.        DRAW MAP/DISK WRITE      26        8   (time for map)
  384.  
  385.   (time in seconds).
  386.  
  387.   You'll notice that the win machine did one thing  faster  --  the
  388.   drawing of the  map  while  no  other programs were running.  But
  389.   look  at  the  difference when the same program was running while
  390.   the disk write program was running!.
  391.  
  392.   REXX
  393.   ----
  394.  
  395.   Not much new here,    except for performance.  When they coverted
  396.   it to 32bit,  they saw a significant (60%?) performance increase.
  397.  
  398.   There will be an online REXX reference.
  399.  
  400.   IBM  really  wants  this to be the next "basica",  and spent more
  401.   time talking about it than I wanted to hear. <g>.
  402.  
  403.   Programmer's Workbench
  404.   ----------------------
  405.  
  406.   This is a PM program that is extensible.  It reminds me very much
  407.   of Microsoft's PWB program  (which  is NOT a PM program),  except
  408.   that it  does  not  have  a  built  in editor.   There was a demo
  409.   given,  but  it  is  hard  to  judge such things without using it
  410.   yourself.   I saw nothing revolutionary about it.
  411.  
  412.   Actually,  I found IBMs hyping of this tool  a  little  arrogant.
  413.   They  describe  it  as  the  last  IDE   (integrated  development
  414.   environment)  you'll  ever  use,    and  "of  course" all  future
  415.   compiler vendors will  support  it.      Ten  minutes  later they
  416.   touched on Borland C++,    which will ship with it's own Borland-
  417.   standard  IDE  (but  will probably plug into IBMs workbench as an
  418.   option).
  419.  
  420.   Except for the  possible  interface to IBMs workbench,  Borland's
  421.   C++/TASM for  OS/2  has  nothing  to do with IBM.  It will not be
  422.   licensed or marketed by IBM.
  423.  
  424.   Oddly enough,  Zortech  was  one of the guest participants at the
  425.   seminar,  yet they  were  not mentioned in the slides during this
  426.   presentation.  One  of  the attendees (obviously an angry Zortech
  427.   C++ fan) pointed this  out  to the presenter during Q&A.  Zortech
  428.   ships a C++  compiler  for  OS/2  today.  Borland's has a planned
  429.   (but not announced) ship date of 2H92.   Go figure.
  430.  
  431.   The Borland slide  had  "PM Debugger, PM Profiler, OOP Assembler,
  432.   Resource editor and compiler" listed as features.  Could be good!
  433.  
  434.   IBM, by the way, will be shipping a PM debugger with  their 32bit
  435.   C compiler.      It  will have a built in PM queue debugger (like
  436.   PMSPY).
  437.  
  438.  
  439.   IPF
  440.   ---
  441.   The Information Presentation Facility will have author-controlled
  442.   fonts and horizontal scroll bars.
  443.  
  444.   Multi-view  support  (for mixed text/graphics  and  motion  video
  445.   support, etc.).
  446.  
  447.   Extended Services.
  448.   ------------------
  449.  
  450.   A lot of time  was  spent  talking  about DBM (database manager).
  451.   The most significant new feature is "roll forward".  All and all,
  452.   DBM is still not as good as SQL Server in  my  opinion --- unless
  453.   you are planning to interface to other SAA platforms.  (There are
  454.   ways to do  this  with  SQL  Server  too,    though.  Not all SAA
  455.   platforms,  but you never know).
  456.  
  457.   There are no plans for an SQL API; we're stuck with  the embedded
  458.   sql  ---  although  the presenter I  asked  about  this  said  he
  459.   recognized the requirement and  the  "mind  set" (like mine) that
  460.   wanted a clean C api.
  461.  
  462.   A few interesting things  about  CM  (communications manager).  A
  463.   new  feature,    called  LOC  (Lan  Over  Coax)  is a very clever
  464.   feature.      As a result of  embracing  NDIS  (Microsoft/3comm's
  465.   Network Device Interface Standard),   CM/LS  have  gained  a lot.
  466.   This new LOC  feature  allows  you  to  run a LAN using your 3270
  467.   connection card,  over standard coax cabling.  It is not  as fast
  468.   as  a 4mbps token ring,  but it is very good news to people  that
  469.   have a lot of this cable buried in the walls.
  470.  
  471.   CM  now comes with a real ASCII terminal program.  It is a subset
  472.   of  Softerm  Modular,   from Softronics.  It has a whole bunch of
  473.   terminal emulation modes and file transfer protocols,   including
  474.   IND$FILE (zmodem to arrive  in  late  91).   Softronics has look-
  475.   alike programs for DOS/Windows.  It is not a PM program.
  476.  
  477.   It looks like we are  still  stuck  with  C:\MUGLIB,    so  it is
  478.   possible that MS Lan Manager will not coexist with ES.
  479.  
  480.   Network Services/2
  481.   ------------------
  482.   This  is  a new product that will  probably  be  merged  into  ES
  483.   (Extended services).  It may  even  be  part  of  ES  when  it is
  484.   released later this year.  However,  NS/2 is  available  now  (it
  485.   was  just announced recently) for about us$200  (for  EE  1.2  or
  486.   1.3).
  487.  
  488.   NS/2 is a complete rewrite of APPC,  and much more.
  489.  
  490.   Bob Trower and I bumped into the presenter,  Steve Joyce,  in the
  491.   demo room the day before his presentation.   As  soon  as he said
  492.   "I've  got  a better APPC",  an alarm went off in  my  head  (Run
  493.   away!    Run  Away!  Run Away!),  and I ditched him as quick as I
  494.   could.   Anyone who has used APPC under EE OS/2 knows how I feel.
  495.   Just configuring it can turn your hair gray.  From  a programming
  496.   viewpoint,    a  mature man can be brought to tears trying to get
  497.   those first few bytes across the  lan.   Named pipes look so much
  498.   better you'll consider  waiting  for them to implement them under
  499.   TSO and/or VM <g>.
  500.  
  501.   After  Steve's  presentation,    I  had to go back and  apologize
  502.   profusely.    Besides  encapsulating an exciting idea called APPN
  503.   (Advanced Peer to Peer Networking),  NS/2  will install/configure
  504.   over top of CM with three parameters --- you never have to wander
  505.   aimlessly around the CM config screens.
  506.  
  507.   APPN  is  a  concept  where  you  don't  have to  rigidly  define
  508.   everything.  It is part of SNA/SAA.  It dynamically finds  LUs on
  509.   the  network  and picks the best route,    rather  than  the  way
  510.   something like VTAM works today.
  511.  
  512.   NS/2  also  has  a new APPC programming  interface  called  CPI-C
  513.   (Common programming interface),   which  supplies  a  100% source
  514.   compatible  APPC  interface   across  all  SAA  platforms  (3090,
  515.   AS/400,etc).   CPI-C is still  not  as  nice as Named Pipes,  but
  516.   Steve  said  they  were  working  in  an   Open/Close  Read/Write
  517.   interface that  most  micro  programmers  can  wrap  their brains
  518.   around.
  519.  
  520.   APPC has DRASTICALLY improved performance (double),  with reduced
  521.   CPU  usage (50%).  All current OS/2 APPC  apps  gain  from  these
  522.   benefits.    Faster  than Named pipes.  Sends at about 7mbps on a
  523.   16mpbs TRN (under os/2 1.3).
  524.  
  525.   NS/2 comes with REAL sample programs.
  526.  
  527.   Besides the simple config (you don't even have to define  the TPs
  528.   if you don't want to!) NS/2 makes the APPC programmer's life much
  529.   easier with better  error  codes.    Before,    if  your ALLOCATE
  530.   failed,  you weren't told WHY.  (It could have been any number of
  531.   things,  like  a  screwed  up  CM config,  bad wiring, programmer
  532.   error,  etc).  NS/2 will tell you why your ALLOCATE failed.  This
  533.   one little  feature  can  potentially  save  days  of programming
  534.   hours.
  535.  
  536.   NS/2   has  "local-remote  transparency".    This  improves   its
  537.   performance,    but  more  importantly,   lets you write an  APPC
  538.   program with only one computer (one machine debug).
  539.  
  540.   NS/2 comes with some  utilities  that you may have seen before as
  541.   IBM IUO (Internal  Use  Only)  utilities,   such as an APPC TRACE
  542.   file analyzer.
  543.  
  544.   I don't plan on rushing out and writing  a  bunch  of  APPC apps,
  545.   but you can tell I liked  NS/2.   I'll perfectly happy with Named
  546.   Pipes most of the time,  and as long as the app is running solely
  547.   on  a lan (no host interaction) I'll continue to use them.  But I
  548.   think NS/2 has drastically  removed  my  fear of programming APPC
  549.   again --- especially when the host programmers and I will be able
  550.   to talk the same language (CPI-C).
  551.  
  552.  
  553.   NDIS
  554.   ----
  555.   They went on and on about this.  It was not why I went to an OS/2
  556.   seminar.  If I plan on writing an NDIS driver,  I'll download the
  557.   spec and read it,  thank you very much.
  558.  
  559.   It was nice to know that 100mbps token ring lans are on their way
  560.   though.
  561.  
  562.   Further to a  Ethernet/Token  ring argument I've been having with
  563.   some people,  IBM  had  a good real-world example where TR shines
  564.   over  Ethernet.  In their full motion video  (DVI)  work,    they
  565.   found that they could only  have one station running video across
  566.   a  10mbps  Ethernet,   since Ethernet is  a  collision-based  bus
  567.   network.  If they added another workstation,  the video and audio
  568.   would go  out  of  sync,    or  become too choppy to watch.  A 15
  569.   station TR (16mbps) lan had no problem running the same s/w.
  570.  
  571.   Lan Server (LS) 2.00
  572.   --------------------
  573.  
  574.   Almost the same as Lan Manager 2.00 <g>.
  575.  
  576.   The  largest  differences  are in the user  interface  (not  even
  577.   remotely similar) and the fact that LS 2.00 does  NOT  HAVE  PEER
  578.   SERVICES.  (You should have seen me standing there with  my mouth
  579.   open  in disbelief).   They did not even mention it --- I had  to
  580.   ask them the question point blank during Q&A.   They said the way
  581.   MS  implemented  peer  services  was  not  good  enough  for  IBM
  582.   customers.  (So IBM customers get nothing --- go figure).
  583.  
  584.   For  those  who  don't  know,    Peer  Services  allows  an  OS/2
  585.   workstation  to  become  a  limited  server.  It can server  disk
  586.   resources (one user at a time),  or print  resources  (more  than
  587.   one person at  a  time).  You can't do this with LS 2.00,  so you
  588.   will have to buy the full  blown  server software just to share a
  589.   printer.
  590.  
  591.   There are some good things to say  about  LS.    The  Net  API is
  592.   allegedly 100% compatible with Lan Manager 2.00 now.
  593.  
  594.   Since it uses NDIS drivers,  dozens of third party  network cards
  595.   will work with LS now.
  596.  
  597.   LS has HPFS386 (available with LM about a year ago).   This gives
  598.   much better remote performance,   and has new features like Local
  599.   Security.
  600.  
  601.   HPFS386, CACHE.EXE,   and the "ring 0 server" (netwksta.sys) have
  602.   an  intimate  relationship.      When  a  request  comes  from  a
  603.   workstation,    the  request has a good chance of being satisfied
  604.   completely in ring 0.  This can drastically improves performance,
  605.   because before it would have taken a round-about route up to ring
  606.   3 (to the main server code)  and  than through the OS/2 kernel to
  607.   the  file  system (at ring 0) and then back up to  ring  3,  etc.
  608.   HPFS386 never even goes through the OS/2 kernel.     Since  local
  609.   applications  run  at  ring 3,  and go though the kernel for file
  610.   system access,  running HPFS386 has no (or very little) effect on
  611.   local application performance.
  612.  
  613.   Unfortunately,  this  makes  LS 2.00 incompatible with OS/2 2.00!
  614.   After drilling the speaker about it,  she finally agreed  that if
  615.   I used the default HPFS.IFS that  ships  with V2,  there would be
  616.   a  good chance that it will work;  but I'll have to wait till  LS
  617.   2.00 is released to know for sure.
  618.  
  619.   MS shipped a mutli-processor version of Lan Man to Compaq,  which
  620.   will run on their SystemPro (I'm not sure if it is released yet).
  621.   IBM's multi-processor  version looks better.  Not only is HPFS386
  622.   on the second CPU (as with  the  Compaq  version),  but so is the
  623.   ring  0 server, netbois and the NDIS drivers.    Coupled  with  a
  624.   busmaster Token Ring  card,    it  is possible that a remote data
  625.   request could be satisfied  without  ever using the main cpu.  If
  626.   the data is located on disk (not cached),  then the main CPU will
  627.   be  needed.    However,    since  Microchanel  supports  peer-bus
  628.   masters,  it would be possible  for  the TR card to talk directly
  629.   to something like a bus master SCSI card for the data --- this is
  630.   in the future though.  (is  this  sort  of thing even in the EISA
  631.   spec?).
  632.  
  633.   LS 2.00 comes  with  all of the disk mirroring/duplexing software
  634.   than LM 2.00 has.  UPS support too.
  635.  
  636.   One unique feature to LS is "dynamic sharing".  A server does not
  637.   SHARE a device until the first user tries to USE it.
  638.  
  639.   LS will run on OS/2 SE,  including OEM OS/2 and hardware (Compaq,
  640.   Olivetti, Siemens, Tandy and Zenith were given as examples).
  641.  
  642.   RIPL (Remote Initial Program Load) is supported for  OS/2.   Each
  643.   RIPL client can have a separate subset of files (config.sys,  for
  644.   example).
  645.  
  646.   Novel support to be released in  3  phases.  Even after the final
  647.   phase,  netware clients  will  not  have  access to LS/LM servers
  648.   (unless they load two requestors).
  649.  
  650.   IBM is setting up  a  LS  application certification program (like
  651.   Novel has,  except that IBMs is free).
  652.  
  653.   A busmaster TR driver will be available for OS/2.    A  benchtest
  654.   showed that with this driver the CPU utilization dropped from 70%
  655.   to 15% on a particular test.
  656.  
  657.  
  658.   SPM/2 (System Performance Monitor/2)
  659.   ====================================
  660.  
  661.   This tool is available now in the US,  and on June 28 in Canada.
  662.  
  663.  
  664.   SPM/2 is a combination  of  some separate tools we have seen from
  665.   IBM and elsewhere.   It has a CPU Usage  Monitor,   Physical Disk
  666.   Access meter (by  monitoring  the  disk  DD),  and a Memory Usage
  667.   Monitor.  These three  run  as separate child windows in the same
  668.   PM app.
  669.  
  670.   The  last  one  looked the most interesting (since we've all seen
  671.   many CPU monitors).   The  Memory  monitor shows many things in a
  672.   combined graph,  so you can clearly see the relationship each has
  673.   with each other.  For example,  the system  will  start  swapping
  674.   the  moment the "working set" of  memory  exceeds  your  physical
  675.   storage.
  676.  
  677.   SPM/2 receives  its  data  via  a  named  pipe from the DCF (Data
  678.   Collection Facility).  Since it uses a named pipe,   the computer
  679.   you are monitoring can be a remote computer.  The pieces are sold
  680.   separately (SPM/2 with DCF is us$245,  and DCF alone is $75).
  681.  
  682.   THESEUS is included too (They plan to clean up the user interface
  683.   of it soon).
  684.  
  685.   The data  can  also  be  dumped to a log or spreadsheet file,  so
  686.   that a remote operator (using something like Netview/DM) can grab
  687.   the data off of the remote servers and analyze it centrally.
  688.  
  689.   The named pipe data  is  completely documented;  so you can write
  690.   your own real-time apps using the data if you want.
  691.  
  692.   Since the Disk Activity monitor has a close relationship with the
  693.   disk device driver (disk0?.sys/base0?.sys),  this feature may not
  694.   work with OEM versions of OS/2,    if  the OEM changes the DD and
  695.   does not leave the proper hooks  in.    IBM OS/2 1.2 and 1.3 have
  696.   these hooks today;  someone like Compaq may not have them.
  697.  
  698.   Multimedia (MM)
  699.   ---------------
  700.  
  701.   IBM will be shipping beta OS/2 Multimedia extensions this year.
  702.  
  703.   IBM does not see DOS as a good environment for MM,    so  it will
  704.   not be supported very much.  They will be concentrating on OS/2.
  705.  
  706.   Since 1991 seems to be the  year  everyone is defining MM,  there
  707.   is  not too much to tell you.  The demonstrations IBM did for use
  708.   were impressive though.
  709.  
  710.   One thing that caught  my  attention was a 16bit ACPA card (Audio
  711.   Capture and  Playback  Adapter)  which  will  be  compatible with
  712.   SoundBlaster cards.  (Isn't  Compact Disk technology  based  on a
  713.   16bit DAC?  This card will sound awesome).
  714.  
  715.   MISC
  716.   ----
  717.  
  718.   OS/2 1.3 contains 1500 source code changes to fix problems in 1.2
  719.   (the last 1.2 CSD fixed 1000 of them).
  720.  
  721.   IBM is working with the following companies to test ES and/or V2:
  722.  
  723.  
  724.        AST      Siemens  Acer          Everex
  725.        Netframe CompuAdd Hewlett       Packard
  726.        Dell     Olivetti Tandy/Grid    Compaq
  727.        AT&T     Epson    Tandon        Reply
  728.        Trichord NEC      NCR           Apricot
  729.  
  730.   Some new toys were recently announced by IBM:
  731.  
  732.        - 128MB optical diskette.
  733.        - 8516 Touch screen.    This  monitor  uses a new technology
  734.        called a "Strain Gage" which is built right into the monitor
  735.        glass.  If you look at  an  8516,   it looks EXACTLY like an
  736.        8515.     The  strain  gage  is  NOT based on capacitance or
  737.        resistance,   therefore you can press  on  the  screen  with
  738.        anything you want (pen, gloves,  hammer <g>, etc),  not just
  739.        a human finger.  There are 256 pressure levels.
  740.  
  741.  
  742. --- Maximus-CBCS v1.02-OS/2-R5
  743.  * Origin: Fellow with closed mind often has open mouth. (1:250/628.1)
  744.  
  745.  
  746.