z/OS UNIX System Services File System Interface Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using daemon tasks within a PFS

z/OS UNIX System Services File System Interface Reference
SA23-2285-00

If the PFS needs to invoke functions that cannot be performed in a cross-memory environment, it must make use of other tasks to perform these functions. To use these daemon tasks the PFS must, at a minimum:
  1. Attach these tasks and
  2. Communicate with them
Several services are provided to make this easier. They are:
  • osi_kmsgctl
  • osi_kmsgget
  • osi_kmsgrcv
  • osi_kmsgsnd
  • osi_thread

The osi_thread service is available only to PFSs that are running in a colony address space.

The PFS can attach these tasks via the MVS™ ATTACH service from its initialization task, or it can use the osi_thread service. The osi_thread service attaches a task in the PFS's address space that runs in primary mode. The initial module on this task is a C Main function that fetches the module that is specified by the invoker using the C/C++ fetch() function, and then calls it. When called on this task, or thread, the specified module can perform a single function and return; or it can service work requests by the PFS until the PFS terminates. In the latter case, the osi_thread service is used to attach a PFS daemon task.

When attached, these tasks need to communicate with the PFS functions that are invoked by the LFS. One way these processes can communicate is through message queue functions that are provided by the osi_kmsg services in the previous list. For descriptions of these services, see OSI services.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014