Communicator e3000 MPE/iX Release 7.5 (Software Release C.75.00) (30216-90336)
Chapter 5
Technical Articles
More Opened Files in MPE/iX Programs
125
The second table is the Process Local File Access State Table (PLFAST) which is used primarily for
unblocked input/output to files. In this table, a series of bitmaps are kept in which each bit represents the
state of one of the possible files that a process may have opened. This table is always memory resident. This
table also exists in the system global space and is expanded there itself. The PLFAST table is implemented as
a single table and all processes will get a table with the enhanced size.
The third table, the File Access Rights (FAR) table is used by the file system and virtual space management
to keep track of which files a process has a legitimate right to access. This table is hash indexed using the
interval timer present in the unique file identifier. At present, this table exists as part of the process
information block extension in the system global space. This table is accessed by a very small and localized
set of routines, which makes it ideal for moving it out of the system global space. In this enhancement, the
size of the table is increased and moved to the process local address space. A pointer to this table is kept in the
process information block. No separate locking mechanism is provided for accessing this new table. It is
considered as an extension of the process information block in the process local address space.
Performance
With this enhancement, there is not any adverse effect on performance. On the other hand, there are
improvements in performance if the program is opening more than 512 files. Prior to this enhancement, only
the first 512 entries in the FAR table were hash addressable. Now the entire 4096 entries are made hash
addressable and this speeds up the search operation in the FAR table which in turn reduces the time spent in
locating an entry.
Compatibility Issues
There are not any compatibility issues for the existing applications. All the intrinsics interface remain
without change. An application running on the previous versions runs on the enhanced 7.5 release without
any problem.
Limitations of Current Expansion
This enhancement affects only the number of file like resources. The current limits on sockets, pipes and
streams are not increased individually. However, this enhancement helps users in using more number of
these resources in presence of large number of regular files. Note that a program making use of these
enhancements does not run on the earlier versions of MPE/iX.
Conclusion
With this enhancement, users are able to concurrently open more files, sockets, pipes and streams. The
current limit of 1024 is increased to 4096. This enables users to develop programs to handle a large number of
files in conventional OLTP applications and in Web applications.