minor modifications for UNIX System V compatibility. File Powerfail Recovery. The HP-UX on the access rates up to ten times faster than a traditional UNIX Model 840 also supports powerfail recovery. On a tempo have been achieved in the fast file system. rary power failure, the CPU state and data stored in the The fast file system partitions the disc into one or more cache are flushed out to memory backed up by battery. If cylinder groups, each of which consists of one or more power is restored within a short time (15 minutes for a consecutive cylinders on a disc. Inodes. which store infor 24M-byte system), all I/O devices are reset, I/O transactions mation such as file types and locations, are allocated in ongoing at the time of the power failure are restarted, CPU each cylinder to reduce disc head movement, rather than and cache states are restored, and a signal is sent to each at the beginning of a file system as in a traditional UNIX informing it of the power failure. A process can operating system. Large data blocks with small fragments then take appropriate recovery actions. are supported to maximize disc transfer rates and minimize file system fragmentation. New data blocks are allocated Asynchronous I/O on the same cylinder as the previous block, whenever pos In a traditional UNIX operating system, a process cannot sible, with rotational latency taken into consideration. Files continue its execution until the completion of the requested belonging to the same directory are placed in the same I/O operation. The delayed write feature in a UNIX operat cylinder group whenever possible. The fast file system user ing system is an attempt to gain more parallelism in the interface is fully compatible with that of a traditional file system. However, many applications in the computer inte system. grated manufacturing market want to start multiple I/O File Locking. File locking has been added to HP-UX and operations, continue their execution, and then wait for implemented on the Model 840. Both advisory and enforce completion of all of the I/O transactions. Other applications ment mode locks are supported. An advisory allows may want to perform multiple asynchronous I/O operations a process to lock a region of a file to achieve exclusive use and be signaled on the completion of any of the I/O trans of the region among cooperating processes. A process can actions. The Berkeley 4.2BSD system supports asynchro still have access to an advisorily locked region if it chooses. nous I/O activities of this type. This capability has been Enforcement lock enforces exclusive access by the locking added to HP-UX and implemented on the Model 840. In process. Other processes that attempt to access the locked particular, a process can request that it be signaled when resource either return an error or sleep until the resource a certain driver state occurs. Alternatively, it can poll a becomes unlocked. The same interface has been accepted driver to determine if the driver is ready for reading or into the SVID and /usr/group standard. writing, or if it has an exceptional condition pending. It Scatter Read and Gather Write. Scatter read allows a user to read from a file and scatter the data into multiple buffers in one system call. Gather write allows a user to gather HP-UX Process Components data from multiple buffers and write it to a file in one system call. It is extremely useful for data acquisition ap plications to minimize the system call overhead. The inter face was first defined in Berkeley 4.2BSD, added to HP-UX, and implemented on the Model 840. User Control of Buffering. In traditional UNIX operating systems, the file systems store the most recently used data in their buffer cache to reduce the file system access time Accessible and improve the file system bandwidth. The buffer cache by a is periodically flushed out to disc to ensure data integrity 32-Bit Address Space in a system crash. UNIX System V supports the capability of flushing out all of its buffer cache. The operation incurs significant overhead to the system and, therefore, is done infrequently. The Berkeley system added the capability of flushing out only the buffer cache of a specified file to Shared Memory 1 allow users better control of the buffering. This interface has been adopted into HP-UX and implemented on the Model 840. In addition to flushing out the buffer cache of Shared Memory 2 the specified file, HP-UX on the Model 840 also flushes out the inode and indirect blocks of the file so that data integrity of the file is guaranteed. Shared Memory N Preallocation of Disc Space. In a traditional UNIX operat ing system, the disc space of a file is allocated as needed on write operations. This implies that performance on write Fig. 8. AT&T's UNIX System V Interface Definition implies is slower since time may be spent allocating space during that processes have the following components: text, data, the write operation. This may be unacceptable to some unitialized data, a user stack, a heap, and zero or more shared critical real-time applications. The capability of preallocat- memory segments. The user stack may grow automatically to suit the procedure call nesting of the process. The heap ing file space has been added to HP-UX and implemented will grow (or shrink) when the process requests more (or less) on the Model 840. memory using the brk or sbrk system calls.

DECEMBER 1986 HEWLETT-PACKARD JOURNAL 1 1

© Copr. 1949-1998 Hewlett-Packard Co.