Skip to main content

IBM Systems  >   z Systems  >   z/VM  >  

Reusable Server Kernel

New! RSK socket library documentation!

Items on this page:

Package Description

This package lets vendors and ambitious application programmers write multithreaded server programs that are heavily exploitive of VM/ESA's best server-related technologies. These servers can be constructed without knowledge of data transport mechanisms (e.g., TCP/IP), multithreading APIs (CMS's ThreadCreate) or I/O performance boosters (e.g., VM Data Spaces) and without reinventing API suites necessary in one server after another (e.g., authorization primitives).

Provided in the PTF are:

  • Line drivers for commonly-used data transport methods
  • A callable DASD I/O engine that hides volume boundaries, presenting a flat, block-oriented, persistent storage model
  • An authorization API relating users, objects, and actions
  • An enrollment API exploitive of VM Data Spaces
  • A file caching API exploitive of VM Data Spaces, including code page translation support
  • An anchor API
  • A storage management facility, including the ability to allocate and release storage in a VM Data Space
  • An API set to manage subordinate (worker) virtual machines
  • A runtime environment manager
  • Administrative command sets of various kinds
  • Language bindings for assembler and PL/X programmers

Experience with assembler or PL/X is required.

RSK is GA!

APAR VM61878 for VM/ESA 2.2.0 and 2.3.0 delivers the RSK. The PTF numbers are UM29139 and UM29140 respectively.

To download the GA-level documentation:

  • Click here for a VMARC of the BOOK and PDF files
  • Click here for the PDF alone

On VM 2.4.0 and later, the RSK is in the base... no PTF is needed.

RSK Service Available Here

The latest service for the RSK fixes all of these problems:

The service is posted on this page in a VMARC archive file. Click here to see file details.

To download the service,

  • Click here to download the archive.
  • FTP the archive to your VM system in binary.
  • Run the file through this CMS Pipeline:
    PIPE < RSKFIX VMARC A | fblock 80 00 | > RSKFIX VMARC A F 80
    
  • Use VMARC UNPK to unpack the service:
    VMARC UNPK RSKFIX VMARC A = = A
    
Then see the README file for further instructions.

If you do not have VMARC, use these links to download VMARC MODULE and VMARC HELPCMS. After downloading them, FTP them to your VM system in binary and then use CMS Pipelines to recover the original CMS files:

PIPE < VMARC MODULE A | deblock cms | > VMARC MODULE A
PIPE < VMARC HELPCMS A | deblock cms | > VMARC HELPCMS A

Socket Library

We've been asked several times to enhance the RSK line drivers to give them a way to originate (not just accept) transport connections.

The quickest way we saw to help people who wanted to originate activity was to document the socket library that's already in the RSK.

This library is a thin layer over the IUCV socket API and is integrated with multitasking CMS and the RSK runtime environment.

Your server can call the socket entry points to conduct either TCP or UDP activity.

For more information, download the latest RSK documentation.

Sample Server Available

The GA level of the RSK does not come with the sample HTTP server or other "extras" that were in the beta package. I've updated those samples and extras so that they'll work with the GA level. Click here to download the VMARC file containing them.

Problem Reporting Facility

I'll appreciate your feedback on this project... use your browser to see a list of open problems or to submit a suggestion, question, or problem report.

S/390 Partners in Development Conference

I had the privilege of presenting an RSK workshop at this conference, held November 3, 1998 in Poughkeepsie, NY. Here are the materials from that conference: