| Page: | 1 | 2 | 3 | 4 | 5 | 6 |
|---|
SUPER-UX is based on the UNIX System V operating system and incorporates features from BSD and SVR4.2MP. SUPER-UX offers the numerous functional extensions necessary to support the needs of a high performance computer maintaining compatibility with UNIX. SUPER-UX is also conforms to both POSIX 1003.1 and POSIX 1003.2 and incorporates the threading feature of POSIX 1003.1C (Threads).
SUPER-UX supports multi-processor and multi-node SX-4 Series models. The following extensions are added to support the needs of a modern high performance system:
SUPER-UX enables users to manage system operations efficiently. Further, the adoption of standard networking services enhanced by the inclusion of many BSD and SVR4.2MP commands makes SUPER-UX a fully functional, user-friendly operating system.
| Home |
|---|
Figure 3-1 shows the software system for SUPER-UX.
Figure 3-1 SUPER-UX Software System (1)
Figure 3-1 SUPER-UX Software System (2)
| Home |
|---|
An Input-Output Multiplexer (IOX) is connected to an SX-4 through HIPPI channels. The IOX multiplexes high speed HIPPI channels into lower speed SCSI-2 channels; it includes control of low speed peripherals such as SCSI-2 disk drives, tape drives, and ethernet. There are two types of IOX software.
In a multi-node system, one system control IOX services the entire single system image.
| Home |
|---|
The Initial System Loader (ISL) is activated by the system control IOX and loads SUPER-UX into main memory. The ISL also works in tandem with the kernel RAS features to enhance reliability, dump information from the main memory unit in the event of a system error, and restarts the system when necessary.
| Home |
|---|
This section describes the SUPER-UX kernel for a single-node system.
Based on System V, the basic kernel services provide significant functional enhancements for the SX-4 Series systems.
The basic kernel services consist of memory management, process management, and execution management.
Memory management provides services which manage virtual space, controls the assignment of data in virtual space, and performs swap services.
SUPER-UX manages memory in the following ways:
Process management provides process concept services, process management services, and user services functions.
SUPER-UX provides the following process management features:
Execution management resides in the kernel and has a direct interface with hardware components such as processors. Execution management provides the following services:
Parallel processing services include macrotasking library support, a microtasking scheduler, and an MPI message-passing interface.
The fundamental system support for parallel processing lies in a threading function and a thread-safe library.
The threading function is equivalent to POSIX 1003.1C. The thread-safe library contains system calls; and reentrant 3C, 3S, and 3M libraries to support a parallel processing environment.
Implementing high-speed I/O services that are balanced with the SX-4 high performance processors is essential to provide the full extent of the hardware capabilities to applications programs. Toward this goal, the SUPER-UX file system extends the standard UNIX file system for improved performance.
The objectives of the SUPER-UX file system are as follows:
The services listed below are difficult to implement in the standard UNIX file system and are essential to a high performance environment. The SUPER-UX file system includes features such as SFS, SFS/H, and IAS to address these requirements.
The SUPER-UX file system offers the following advantages and plays a significant role in providing a flexible, user-friendly computing environment:
The incorporation of the Network File System (NFS) Version 3 enables SUPER-UX to support transparent file access between a SUPER-UX file system and those on other host systems.
SUPER-UX also supports a packet size for NFS that can be expanded to 64 Kbytes. This feature significantly improves network performance between systems that support this advanced capability.
Figure 3-2 shows the organization of the SUPER-UX file system, which contains three file system types: SFS, SFS/H, and NFS. The IAS provides basic services for the SFS file system types and provides the basis for their extended features and high performance.
Following is an description of the services of the SUPER-UX file system, in sequential order.
Figure 3-2 Organization of the SUPER-UX File System
The SFS is designed to enhance I/O operations. SFS uses two techniques to achieve high-speed, large-volume data transfers to and from high-speed memory mapped virtual volume devices provided by IAS (see Section 3.4.2.5).
UNIX allocates a buffer cache area in memory to minimize the number of I/O operations that are performed on physical disk devices. However, as a rule, the buffer cache area is limited in size and inadequate for the transfer of large-volume data. To address this problem, SFS provides automatic bufferless data-transfer directly between the data area for an application program and the virtual volume device.
UNIX allocates files to disks and other storage devices in units of blocks; consequently I/O operations are performed by the block. However, block sizes are often small (i.e. 512 bytes or 4096 bytes per block) and inefficient when used for large volume data transfers.
To correct this problem, SFS uses file allocation units called clusters. By defining large clusters (i.e. for a disk drive one cluster=one cylinder) file space can be allocated in large contiguous pieces. The result is that I/O operations can be efficiently performed in units of multiple blocks at a time, resulting in substantially higher performance.
SUPER-UX also supports a hybrid special file system (SFS/H) that fully exploits the system's extensive hardware capabilities. The file management information for SFS/H, such as nodes and directories, is compatible with the SFS and NFS file systems. However, the SFS/H features a special file area. This area (hereafter referred to as "data area") is defined when an SFS/H file system is built. All SFS/H data is stored in the data area.
Up to eight virtual disks of the same drive type and the same size can be specified for SFS/H data area. By specifying a striping size, the SUPER-UX file striping service can also be applied across units of virtual disks.
The data area of the SFS/H offers the following additional features:
SUPER-UX files are extremely easy to use because the user need not consider the file organization, record length, block length, or file capacity. A SUPER-UX file is managed as a simple collection of character strings and handled as a memory image.
The SUPER-UX file system supports ordinary files, directory files, and special files.
Ordinary files are those positioned at the lowest level of a directory tree structure. They include files containing text, executable object modules, and data files.
Directory files are lists of other files which are associated by logical location. Directories are handled in the same way as ordinary files with the exception that only the system can change the contents of directory files.
All I/0 devices supported by the system correspond to at least one special file. The special files reside in the /dev directory and provide a consistent method for accessing peripheral devices. Special files can be accessed in the same way as ordinary files, but the data is routed to the appropriate physical device under control of SUPER-UX device drivers.
Figure 3-3 File Hierarchy
SUPER-UX files are managed in the same manner as standard UNIX. Hierarchical directory trees form the basis for locating files.
Within any directory, there can be directory files, ordinary files, or even special files. Figure 3-3 shows an example SFS directory structure.
Files are located by SUPER-UX on the basis of either an explicit name which includes the full directory path to the file, or by searching the current directory in use.
A SUPER-UX file system consists of a super-block, an i list, and an area that contains files and directories. The file system is divided into clusters which are areas of consecutive physical blocks.
The super-block contains the following information for managing a file system:
A file definition list, called the i-list, is maintained in the next block of the super-block. Files and directories are managed by file control tables called i nodes. File and directory data is stored in the subsequent free blocks. The user cannot see the super-block or i-list because they are accessible exclusively by the system.
Each i node consists of 256 bytes. i nodes are accessed using the i numbers in directories. Each inode contains the following file information.
As shown in Figure 3-4, an i node consists of a series of direct and indirect pointers which describe file space reserved and associated with the particular file.
The number of indirect pointer chains can effect file access performance; the larger the file, the more time is required to traverse lengthy pointer chains. SUPER-UX provides very high file access performance for files. Each i node pointer points to a cluster rather than a sector; therefore the maximum size of a file is dependent on site defined cluster sizes.
Using a site defined cluster size of 128 Kbytes, direct file access occurs for files up to 1280 Kbytes in size, and a single indirect access occurs for files up to 2 Gbytes; double indirect reference supports files to 32 Tbytes. In a practical sense triple indirect access will rarely occur, but is supported and provides the ability to create files up to 256 Tbytes with the 128 Kbyte cluster size. Cluster sizes can range from 32 Kbytes to 256 Kbytes in powers of 2.
Figure 3-4 Configuration of i List and i Node
The Intelligent I/O Accelerator Subsystem (IAS) provides the virtual volume services for the SFS. Virtual volume services are high-performance, highly efficient mass storage devices which consist of XMU, RAID disk subsystems, or conventional disks.
Virtual volumes can be configured in various ways. They can have a one-to-one mapping to physical devices, or a single virtual volume can be mapped to multiple physical devices.
For example, to create a high-performance virtual volume, IAS can support a virtual volume consisting of one or more XMU or high-performance RAID disk subsystems. A lower performance, highly space efficient virtual volume can be created using conventional disk units.
Virtual volumes have special files under the /dev directory. A virtual volume is accessed like any other device. Figure 3-5 illustrates the virtual volume concept. File I/O is done to virtual volumes and not directly to physical devices. IAS is the agent which manages this feature.
IAS uses three methods to maximize performance and efficiency. For simplicity, the term virtual volume and disk are used interchangeably.
The caching algorithm works as follows:
Figure 3-7 illustrates the concept of parallel I/O processing.
If the real area on a physical device is allocated in units of clusters, space fragmentation results. For more efficient space utilization, the dynamic allocation service allocates physical space using the minimum number of variable-length extents possible. It does this through a site defined size called a staging unit, which is a multiple of the device's physical block size.
File space is therefore mapped into clusters, but clusters are further mapped into staging units. A staging unit is the minimum reservation area on a physical device.
Additionally, a shared area can be defined within a file system which provides a means for implementing file system overflow ability, a feature not available in UNIX.
NOTE
The user or system administrator can specify the sizes of a cluster and staging unit.
Figure 3-5 Conceptual Diagram of a Virtual Volume
Figure 3-6 Virtual Volume Cache Configuration
Figure 3-7 Parallel Input/Output Service
SUPER-UX provides utilities for maintaining SFS file systems and IAS services. These utilities are intended for SUPER-UX system administrators. Standard UNIX management utilities (mkfs, fsck, etc.) are used to construct and maintain SFS file systems.
New commands are provided for creating virtual volume devices and for maintaining history and accounting information related to IAS services. All commands are UNIX-like in design and operation.
The Network File System (NFS) provides transparent, distributed file access services among networked hosts. SUPER-UX supports features that are equivalent to NFS 4.0, including the automount feature.
The SUPER-UX NFS network packet size can be defined up to 64K bytes. This significantly enhances system performance on a HIPPI network among hosts which support this capability.
SUPER-UX supports an automatic tape library which stores multiple tape cartridges and mounts them automatically. To facilitate management, the tape library supports the following functions:
SUPER-UX supports the SX-BackStore file archiving system. SX-BackStore automatically migrates and recalls files residing on the SX-4 system to and from archiving devices and file servers.
SX-BackStore provides the following features:
SUPER-UX provides an enhanced implementation of the Network Queuing System (NQS) as the basis for supporting batch facilities for very large, long running applications. The concept of a job has been added to the kernel so that SUPER-UX can provide enhanced ease of operation and the most efficient scheduling possible.
SUPER-UX provides the following job-related services:
SUPER-UX incorporates an extensive array of network functions based on System V and 4.3 BSD. The following services are supported:
SUPER-UX also offers the following services from 4.4 BSD:
SUPER-UX supports the following LAN network hardware:
Ethernet is a 10 Mbps network supported by virtually every computer system available from supercomputers down to personal computers. SUPER-UX supports both TCP/IP and OSI protocols on ethernet. Ethernet is connected to the SX-4 Series through the IOX or through a HIPPI gateway.
FDDI is a 100 Mbps token ring LAN. FDDI, used as a backbone LAN, is one of the major networks used in high performance facilities. FDDI is connected to the SX-4 Series through the IOX or through a HIPPI gateway.
Figure 3-8 Sample Network Configuration Using FDDI
ATM (622 Mbps) is supported through a terminal adapter connection.
Figure 3-9 Example ATM Network
HIPPI is an 800 Mbps high speed channel which is used for both conventional networking and networked peripherals connections. It is a star-topology LAN that is interconnected by switching devices called HIPPI switches. SUPER-UX supports the TCP/IP protocol for HIPPI so that large volumes of data can be exchanged with other systems through the HIPPI network.
Figure 3-10 Example HIPPI Network
SX-4 Series supercomputers can be connected to leased circuits, high-speed digital circuits, switched networks, X.25 packet networks, ISDN, and frame relays by means of routers and workstations. SUPER-UX provides all routing protocols required to seamlessly link to remote locations through wide-area networks.
Figure 3-11 Example Wide Area Network
SUPER-UX supports SVR4.2 STREAMS which is a standardized set network interfaces and services. Both TCP/IP and OSI protocols are easily accessed via STREAMS.
Internet Protocol (IP), a basic component of TCP/IP, is the primary SUPER-UX protocol. SUPER-UX always supports the latest IP standards (RFCs)18 to ensure unsurpassed interoperability.
Figure 3-12 Protocols Supported by SUPER-UX
SUPER-UX supports the following RFCs:
RFC 894 IP on ethernet RFC 826 ARP RFC 903 RARP RFC 893 Trailer Encapsulation RFC 1374 IP and ARP on HIPPI RFC 1060 Assigned Numbers RFC 1009 Gateway Requirements* RFC 1122 Host Req.-Communications* RFC 1123 Host Req.-Applications* RFC 791 IP RFC 950 Subnet RFC 919 Broadcast RFC 922 Broadcast with Subnet RFC 792 ICMP RFC 768 UDP RFC 793 TCP RFC 1155 SMI RFC 1157 SNMP RFC 1213 MIB-11 RFC 1034 Domain Name System RFC 1035 Domain Name System RFC 854 telnet RFC 855 telnet option RFC 959 ftp RFC 821 SMTP RFC 822 RFC 974 Mail and Domain RFC 904 EGP RFC 1058 PIP RFC 1350 TFTP RFC 1288 FINGER RFC 891 HELLO RFC 1094 Sun-NFS RFC 1057 Sun-RPC RFC 1014 Sun-XDR RFC 1013 ,1305 X11 RFC 1179 LPR RFC 1129 NTP (Version3) RFC 1323 Window Scale Option
SUPER-UX also supports extended features suitable for high performance systems. Some of the features include:
Also the following facilities are planned to be supported in the future.
SUPER-UX supports the following programming interfaces for building TCP/IP networked applications.
Figure 3-13 SUPER-UX API Support
SUPER-UX supports the international standard OSI protocol.
Figure 3-14 shows the OSI architecture in SUPER-UX.
Figure 3-14 OSI Architecture
The components of OSI are briefly described below.
The following API are available for the development of OSI networked applications.
SUPER-UX supports stand-alone SX-4 configurations, networked peer environments, and distributed client/server models.
As a compute server, the SX-4 Series provides unsurpassed compatibility and interoperability. SUPER-UX supports various servers and clients to enhance the network environment. Some of the major utilities include:
telnet and rlogin provide interactive access between networked systems.
ftp and rcp transfer files between networked systems.
NFS enables networked systems to transparently access remote files as if they were mounted on the local host system.
NIS maintains consistent user names, passwords, and network definitions across networked nodes. NIS was formerly called Yellow Pages.
BIND is a directory system that dynamically queries network host addresses and mail addresses.
X Windows allows SX-4 hosted applications to operate windowed environments which are displayed by workstation based X applications or X terminals. SUPER-UX only support X clients. Workstations and X terminals execute the X server.
This services enable networked systems to execute commands on a remote host.
An SNMP station performs integrated management of hosts and routers attached to a network. SUPER-UX supports an SNMP agent service.
gated and routed use the EGP, RIP, or HELLO protocols in order to automatically set and update network route tables.
NQS is the batch processing subsystem on SUPER-UX. A networked system can use either an NQS client or RQS client to transparently submit batch jobs to SUPER-UX, to monitor the job status, and to obtain execution results.
DFS is a large-scale distributed file system which features localized file caching. DFS can be used through a LAN or WAN. DFS ensure data integrity when files are being shared through the use of token protocol.
Kerberos is a DCE/DFS network security system; it provides network authentication and validation services.
Figure 3-15 SUPER-UX Distributed Processing
SUPER-UX provides numerous services to ensure the efficient operation of the system.
All users are validated in a user management file (/etc/passwd). SUPER-UX maintains a secure /etc/shadow password file. Basic validation information consists of a user name (login name), a group identification, and a password. If project accounting is in use, a project name may also be required.
The user named root is referred to as a "superuser" and can access any file in the system.
User names must be unique within the system.
In the event of an illegal login attempt, the user name entered and the name of the terminal from which the login attempt was made are entered in a log file. This information can be used for security auditing.
Three basic levels of file/directory protection are available:
| : | READ, WRITE, and EXECUTE permissions | |
| : | READ, WRITE, and EXECUTE permissions | |
| : | READ, WRITE, and EXECUTE permissions |
Furthermore, an Access Control List (ACL) can be used to grant specific access rights to specific users and groups.
Creation and deletion of files or directories is controlled by access privilege to the next higher directory.
Volume protection is implemented by mount and dismount operations for individual file systems.
The quota command can be used to manage file space as follows:
The file space used can be controlled by setting upper limits for each file system for each user or group.
An upper limit can be defined as either the number of files or the amount of file space used.
An upper limit can be defined as either a "soft" value or a "hard" value. When a "soft" value is exceeded, a warning message is issued to the offender. When a "hard" value is exceeded, a message is issued indicating that the affected file system can no longer be accessed by the offender.
SUPER-UX provides basic services that maintain accounting information for each user and group. The following classes of accounting information are available:
Command, user name, group name, terminal name, process ID, user CPU time, system CPU time, elapsed time, average memory utilization, maximum memory utilization, transferred-character count, I/O block count, execution instruction count, vector instruction count, vector element count, vector instruction execution time, swap-out count, swap-out size, swap-out time, time-slice value, priority, device type ID, block count, magnetic tape mount count, printer output page count, and termination status
User name, /etc/inittab slot number, terminal name, process ID, entry type, process termination status, and entry creation time
Job ID. request ID, request name, job user name, job group name, job host name, queue name, submission name, execution starting time, execution ending time, elapsed time, time-slice value, priority, user CPU time, system CPU time, average memory utilization, maximum memory utilization, and termination status.
User name, group name, transferred-file name, transfer size, transfer starting time, transfer ending time, transfer command type, transfer direction, termination status, and remote-host name.
The sar command can be used to perform the following types of system measurement and performance analysis:
This is a measure of user-mode and system-mode execution times in units of frames or processors. It also provides a measure of how long a given processor has been idle or waiting for block I/0 operations to complete.
The number of data transfers between a system buffer and a disk, the number of buffer accesses, the cache hit rate, etc.
SUPER-UX provides file backup functions that can back up and restore files for each file system, virtual disk, or designated directory.
In the event of a system crash, recovery services recover all jobs that are queued in NQS. Jobs which were checkpointed can be restarted from their checkpoint files.
SUPER-UX supports an automatic operation system that performs the following operations:
The system power-up function is a circuit connected to a hardware timer or manual switch, a software timer, and the Automatic Operation Controller. This function can initially power-on the system.
System shutdown can be specified in terms of one or more of the following conditions:
SUPER-UX provides a device-specific power supply control feature that powers up and shuts down individual devices and that can display their power on or off status.
This function monitors sensors connected to the Automatic Operation Controller and alerts maintenance personnel by either turning on lamps or setting off a buzzer. Alternatively, this function can shut down the system entirely.
SUPER-UX provides an operational calendar feature that can be programmed for day, week. or month operational schedules. Automatic activation and/or shutdown of the system is performed based on the programmed schedules.
In the event of a severe system error during unattended operation, this feature can automatically issue a recovery command by evaluating system messages and by checking for specific commands and error messages in the system log.
Certain processes or jobs may have to be executing for the system to operate correctly (i.e. a specific database manager, system daemons, etc.). The subsystem monitoring feature checks the status of specified processes or jobs at regular intervals, and if any are not running, the function starts the necessary process or job.
NetAdmin is the operation point for an SX-4 Series system. It is a point-and-click windowing environment which executes on a networked workstation. Some of the NetAdmin displays include:
This feature produces an easy-to-understand graphical display showing current performance of the SX-4 system. This feature can display the list of executing processes, transmit signals to a specified process, or modify parameters.
This display shows errors that have occurred in the SX-4 system. It also includes an auto-response facility that executes site-specified commands in response to specific generated message.
This service installs system application programs. It also maintains installation history and version levels.
This display allows the operator to monitor and control the NQS subsystem and all NQS jobs.
This display allows the operator to log into the SX-4 and to initiate system shutdown.
| Window snapshot | : | This function produces printer outputs of window displays. |
| Screen lock | : | This function locks the NetAdmin windows to prevent illegal operations. |
| User-program installation | : | This is an installation interface that can be used to activate any program. |
A HELP window provides descriptions and examples for various functions and describes operational procedures.
Checkpoint services take an execution snapshot of a job and store it in a permanent "restart file." The permanent file can be restarted as a continuation of the executing job.
Checkpoint is useful for stopping work for system maintenance, or to periodically save the state of long running jobs to ensure against loss in case of a fatal system malfunction.
The checkpoint services can be controlled by the system operator or a job owner. Checkpoint services are available in both command line and programmed system calls formats.
Restart service resumes execution of the restart file. A restart can be performed by the operator or job owner. Restart is done through a command line.
The ID reservation service reserves job IDs and process IDs so that job and process identifiers will be consistent across checkpoint/restart operations.
Console services are installed on the master IOX. They provide the foundation for operator control and certain diagnostics functions. The following basic services are provided:
Basic SX-4 operations can be performed from any network device which can communicate with the master IOX. Console services support line mode control of the SX-4 Series system.
Operation in single-user mode is done by an rlogin to the SX-4 Series system. Console services can be configured to restrict access, thus preventing single-user operations from an unauthorized host.
Note that normal SX-4 operation is done with the windowing NetAdmin system, although basic console services are always available.
SUPER-UX Multi-Level Security (MLS) is a port of AT&T's MLS Version 1.2.0. This feature complies with TCSEC B1 level security. MLS includes a Mandatory Access Control (MAC) service and a Security Audit Trail (SAT) service.
MAC service controls access privileges by means of user and file security labels. A security label is composed of a "level," which indicates a hierarchical structure, and a "category," which indicates how the user or file relates others at the same level. Users cannot access files that have a higher security level than their own. Likewise, if a user attempts to access a secure file on the same level as the user, but the file is not accessible to that user's category, the access request will be denied.
SET service logs all user activity from login to logout. Specifically, when a user accesses, creates, or deletes a file, or issues a system call, SET service logs the time, the activity, and the process numbers in a security audit file. Additionally, the site can define types of information to be logged. If SET services cannot successfully log information (for example, disk full), the system automatically shifts into the single-user mode.
SUPER-UX provides a substantial number of operations features that recover various failures quickly and localize their effects. The following services enhance system reliability:
This function detects system unit and peripheral equipment failures quickly and attempts recovery. In the case of peripherals, channel, or IOP failures, it also enables system operation to continue if there is redundant channel or IOP access to necessary peripheral or network devices.
Configuration control localizes the influence of a failure and tries to continue system operation.
It manages the connection status of devices and automatically disconnects devices for which a failure cannot be recovered. Disconnection minimizes the effects of a failure; the device is automatically reconnected when a failure situation has been successfully recovered.
Error information for all components of the system, including peripherals, is maintained in an error log. This information is used to identify the location of both soft and hard failures and to determine the error rate for each device; this allows suspect components to be identified and replaced before they fail.
This feature temporarily halts the system and automatically disconnects the failed device when a fatal hardware error is detected. Once the disconnection is complete, the system is automatically resumed.
Figure 3-16 SUPER-UX RAS Features
| Home |
|---|
The functionality and commands described below are not inclusive of all commands available with SUPER-UX, but are a representative sample to provide an overview of the extensive user support environment.
SUPER-UX conforms to UNIX System V, and incorporates numerous features from BSD UNIX.
The user communicates with the system through a shell program. A shell program is a command language; SUPER-UX includes the Bourne shell, the C shell, and the Korn shell.
Shells provide the following:
Figure 3-17 Source and Destination Redirection
The following functionality is provided by basic SUPER-UX commands.
The following user access control commands are provided.
| login: | This command validates the username and password and sets the group ID and initial working directory. This command also executes site and user defined initialization scripts such as .login. |
| Logname: | Displays the $LOGNAM environment variable, which is the login user name. |
| Newgrp: | Logs into a new group and changes the current group identifier. |
| Passwd: | Changes the user password. |
These commands enable terminal control sequences to be dynamically changed. The terminal or emulation can be specifically set as required, and attributes such as the operation of echo, tab settings, character deletion code, or line deletion code can be altered. Prompt characters and associated information (i.e. date, time, directory) can be personalized by changing shell variable name values.
The following terminal control commands are provided.
| stty: | Sets a terminal attribute. |
| tabs: | Sets tab stops. |
| tty: | Displays the login terminal name. |
The following file operation commands are provided:
| cat: | Concatenates files. |
| cmp: | Compares two files. |
| cp: | Copies one file to another. |
| dd: | Converts and copies a physical file. |
| dircmp: | Compares two directories. |
| In: | Combines two file names. |
| pr: | Prints the contents of a file. |
| split: | Splits one file into multiple files. |
| sum: | Calculates the checksum and number of blocks in a file. |
| tail: | Displays lines of a file beginning from the end. |
| wc: | Counts the numbers of characters, words, or lines. |
The following directory and file name operation commands are provided.
| cd: | Changes the current working directory. | |
| chmod: | Changes file access authority. Only the owner of the file can use this command. | |
| chgrp: | Chances file group to the specified group. | |
| chown: | Changes file owner to the specified owner. | |
| ls: | Lists the names of files and directories under the specified directory. Dates, times, and protections can also be displayed. | |
| mkdir: | Creates a new directory. | |
| mv: | Changes a file name and/or moves the file to another directory. | |
| mvdir: | Moves a directory. | |
| pwd: | Displays the current working directory path. | |
| rm: | Deletes a file. | |
| rmdir: | Deletes a directory. | |
| umask: | Sets the user default mode mask for protection of new files. |
The following program execution commands are provided:
| basename or dirname: | Displays part of a pathname.|
| cron: | Clock daemon. |
| csh: | The C Shell |
| date: | Sets or displays the date and time. |
| df: | Reports the number of available blocks on the specified disk. |
| du: | Reports the number of disk blocks used by a file or directory. |
| echo: | Echoes the supplied parameter to the specified output location. |
| env: | Displays the environment variable list and their values. |
| expr: | Evaluates an argument by using an expression. |
| false: | Provides a false value. |
| file: | Reports the file type: ASCII text, data, C language, etc. |
| getopt: | Command parser support function for user validation of options. |
| help: | Displays information on the topic or command. |
| init: | Performs system level initialization. |
| kill: | Aborts a process. |
| ksh: | The Korn Shell |
| nice: | Modifies execution relative priority. |
| nohup: | Executes a command, and continues if the controlling terminal is disconnected. |
| rsh: | A restricted shell. |
| sh: | The Bourne Shell (command interpreter). |
| sleep: | Suspends process execution for a fixed time. |
| tee: | Simultaneously routes input data to two destinations. |
| test: | Tests a condition. |
| true: | Provides a true value. |
| wait: | Waits for process completion. |
| xargs: | Constructs an argument list and executes a command. |
The following commands are provided for monitoring.
| id: | Displays the name and ID of the user and group. |
| ps: | Reports the status of a process. |
| time: | Reports command execution time. |
| who: | Reports the current list of users currently logged on. |
The following backup and maintenance commands are provided.
| clri: | Deletes an i node. |
| config: | Creates a new SUPER-UX kernel data section. |
| crash: | Performs a logical dump analysis. |
| devnm: | Displays a device name. |
| fsck: | Validates, recovers, and repairs file system contents. |
| fsdb: | File system debugger. |
| mkfs: | Generates a file system. |
| mknod: | Builds a special file. |
| mount: | Mounts a file system. |
| ncheck: | Generates a name from an i node number. |
| setmnt: | Generates the mnttab table. |
| shutdown: | Terminates all processes, checkpoints the file system, and terminates SUPER-UX |
| su: | Changes the current user to a superuser or another user. |
| sync: | Writes all I/O data from caches to physical disk. |
| tar: | Copies a list of files to/from an archive file on a specified device. |
| uname: | Displays the name of the current SUPER-UX. |
| umount. | Unmounts a file system and makes it unavailable for access. |
The following accounting commands are provided:
| acctcms: | Edits accounting records for individual processes. |
| acctcom: | Reports account information for individual processes. |
| acctcon: | Collects and displays information for login sessions. |
| acctmerg: | Merges multiple accounting files. |
| acctprc: | Reports CPU time used by a process. |
| fwtmp: | Totals wtmp records. |
| runacct: | Starts the accounting process and initializes accounting files. |
The following communication functions are provided:
| mail or rmail: | An electronic mail facility conforming to SMTP. |
| mesg: | Permits or inhibits the display of messages sent by "write". |
| wall: | Sends a message to all current users ("write all"). |
| write: | Sends a message to the standard output of the specified user. |
The following character string manipulation commands are provided:
| awk: | Scans a file for a specified pattern and executes a defined process. |
| comm: | Selects or deletes common lines of two sorted files. |
| diff: | Lists differences between two files. |
| diff3: | Lists differences between three files. |
| grep: | Searches for the specified character string. |
| join: | Combines two files. |
| sort: | Sorts or merges the contents of a file. |
| tr: | Replaces or deletes the specified character string in the standard input and outputs it to standard output. |
| tsort: | Performs a topological sort. |
The following basic program development tool commands are provided:
| ar: | Generates and maintains an archive file used by the link editor. |
| cxref: | Provides C program cross referencing. |
| ld: | Link editor that binds multiple object programs into one program. |
| lorder: | Lists the reference sequence of objects in an archive file. |
| make: | Maintains, updates, and regenerates programs. |
| nm: | Displays the symbol table from an object module. |
| od: | Displays a dump of file contents. |
| prof: | Generates a performance profile report. |
| link or unlink: | Links or unlinks files and directories. |
| sdb: | A symbolic debugger that can be used for C and FORTRAN77 programs. |
| Size: | Reports the execution size of an object file. |
| Strip: | Eliminates symbol and line number information from an object module. |
This section describes the major BSD features.
In addition to the functions described in Section 3.5.2, "Shell," the C shell has the following special characteristics.
The following BSD communication functions are provided:
| arp: | Displays and manages the internet address conversion table. |
| finger: | Retrieves user information from a remote host. |
| ftp: | Transfers files. |
| hostid: | Sets and displays the host id. |
| hostname: | Sets and displays the host name. |
| ifconfig: | Specifies the network interface parameter configuration. |
| named: | Network domain name server. |
| netstat: | Displays network status. |
| rcp: | Copies files between remote and local file systems. |
| rsh: | Executes remote commands. |
| rlogin: | Remote login service. |
| routed: | Network routing daemon. |
| ruptime: | Displays the machine load status. |
| rwho: | Displays users of each machine in the network. |
| talk: | Allows users to communicate with each other in text mode. |
| telnet: | Virtual terminal service. |
The BSD quota command is supported and can be used to set the upper limits of the available file size for each user and file system, and to perform effective resource management in a multiuser environment.
In addition to the previously noted functions, the following *BSD UNIX commands can be used.
| apply: | Executes a command after supplying arguments to the command. |
| chsh: | Changes the login shell. |
| clear: | Clears the terminal display. |
| colrm: | Deletes the specified column. |
| expand: | Expands a tab to spaces. |
| fold: | Wraps lines according to the output device. |
| from: | Displays the mail originator name. |
| head: | Lists the first few lines of a file. |
| last: | Displays the last login information of the user and terminal. |
| leave: | Notifies the user of the specified time. |
| look: | Performs retrieval in the sorted list. |
| more: | Displays data in units of the terminal display page size. |
| printenv: | Displays environment variables. |
| rev: | Reverses the sequence of characters in each line of a file. |
| script: | Logs all terminal input and output to a file. |
| strings: | Retrieves printable characters from a binary file. |
| unexpand: | Converts spaces to tabs. |
| which: | Displays the command path. |
| yes: | Continuously outputs the same character string. |
SUPER-UX provides batch processing service through an enhanced version of the Network Queuing System (NQS).
NQS is a UNIX batch processing subsystem. NQS manages batch requests which consist of sequences of shell script commands. The user can enter, terminate, monitor, restrict, and manage initiated requests; the system operator can manage and monitor all requests.
NQS is network literature. Remote systems with either NQS or RQS clients can automatically route batch requests to the SX-4 Series system. Batch execution results are automatically routed to the host, user, and directory from which it was submitted. NQS also has an extensive list of resource management facilities, system scheduling options to enhance local efficiency, and extended monitoring and control functionality.
Figure 3-18 shows a sample batch request .
# # Batch request shell script example # # as-q batch1 # as-me # as-a tomorrow 11pm # f77sx -0 job1 prog1.f if [S? -ne 0] then echo "prog1.f compile error" exih 1 fi job1 < indata>tmp-data f77sx -10 job2 prog1. f if [S? -ne 0] then echo "prog2.f compile error" exit 2 fi job2 < tmp-data |
The NQS administrator can provide multiple queues, each with different resource limitation and validation attributes.
Figure 3-19 shows a sample queue configuration.
Figure 3-19 Example NQS Configuration
SUPER-UX has a number of enhancements in both the NQS subsystem and the SUPER-UX kernel. Some of these enhancements include:
UNIX systems only recognize individual processes, but complete application systems execute in terms of groups of processes traditionally referred to as "jobs." The SUPER-UX kernel has been modified to recognize jobs in addition to individual processes.
Other enhancements include the addition of job IDs for batch requests, a service for sending signals to jobs, and a service to modify parameters for job-specific scheduling.
Functions have been added for holding a request in a queue, canceling a hold, suspending an executing job, and canceling the suspend. Other added functions include altering attributes, moving requests between queues, and sampling the standard output and standard error files while a request is still executing. Checkpoint/restart capability is added.
Support has been added for managing the number of concurrently executable requests in multiple queues. In addition, a function has been added that allows the administrator to terminate or restart all queues at one time. These functions simplify NQS operation and enable the system to be operated more efficiently.
This function logs account information related to jobs. The job accounting information can be used as input to the SUPER-UX account utility to enable per-job accounting and budget management.
The following resource restrictions have been added to the original NQS. These additional items allow resource usage to be managed more precisely for more efficient machine operation.
The displays for status of queues, requests, devices, etc. have been enhanced. Commands have been added to provide more readable and easy-to-understand information. Some sample displays are shown in Figure 3-20.
Example (1)
$ qatatq -L
===============================================================
NQS (R06.00) BATCH QUEUE RESOURCE LIMITS HOSTS: sx4
===============================================================
QUEUE NAME TOTAL USER GROUP XMU
CPU/P MEM/P S5CP/P SFCP/P TPCP/P FNUM/P
S5SZ/P SFSZ/P DAT/P STK/P COR/P
CPU/R MEM/R S5CP/R SFCP/R TPCP/R FNUM/R
DRV/R PRC/R FSGO/R FSG1/R FSG2/R FSG3/R
-------------- -----------------------------------------------------------
bq 1 ULIM ULIM LUIM
1000.0 100 mb 100 mb 1 gb 100 mb ULIM
100 mb 1 gb 100 mb 100 mb 100 mb
1000.0 100 mb 100 mb 1 gb 100 mb ULIM
ULIM ULIM ULIM ULIM ULIM ULIM
bg2 2 ULIM ULIM ULIM
2000.0 200 mb 200 mb 2 gb 200 mb ULIM
200 mb 2 gb 200 mb 200 mb 200 mb
2000.0 200 mb 200 mb 2 gb 200 mb ULIM
ULIM ULIM ULIM ULIM ULIM ULIM
bg3 2 1 2 2
ULIM ULIM ULIM ULIM ULIM ULIM
ULIM ULIM ULIM ULIM ULIM
ULIM ULIM ULIM ULIM ULIM ULIM
ULIM ULIM ULIM ULIM ULIM ULIM
-------------- ------------------------------------------------------------
$
|
Figure 3-20 Example NQS Status Display (1)
Example (2)
$ qatatq -2
===============================================================
NQS (R06.00) BATCH QUEUE SUMMARY HOST: sx4
===============================================================
QUEUE NAME ENA STS PRI/BPR/ TMS /MPR RLM TOT QUE RUN WAI HLD SUS APR EXT
----------------------------------------------------------------------------
bg1 ENA ENA 50/ 80/ 5000/ 0 10 15 3 10 0 1 0 0 1
bg2 ENA ENA 30/ 70/ 5000/ 0 7 0 0 0 0 0 0 0 0
bg3 ENA ENA 10/ 60/ 5000/ 0 2 4 2 1 0 0 1 0 0
------------- --------------------------------------------------------------
<TOTAL> 50 19 5 11 0 1 1 0 1
------------- --------------------------------------------------------------
$
|
Figure 3-20 Example NQS Status Display (2)
Network services have been added, including functions for deleting a request on a remote host, holding execution of a request on a remote host, canceling a hold, suspending execution, canceling a suspend, and modifying attributes. The added functions also include checking the status of remote host devices, resource restrictions, queue composites, form definitions, access prohibitions, and request statuses . These features enhance the usability of NQS.
A load balancing function has been introduced as an NQS pipe queue feature. When a request is entered into a pipe queue, the load balancing feature allows NQS to automatically select the least loaded queue from the pipe queue's destination definition.
The load balancing feature ensures an even and automatic balancing of loads between batch queues. This function reduces the load-monitoring responsibility of the NQS administrator. Further, because the load balancing feature ensures that requests are executed in the least occupied queue, the result is improved execution turnaround time.
Figure 3-21 shows the effect of load balancing.
Figure 3-21 NQS Load Distribution Feature
Because the load balancing feature results in NQS routing requests automatically, the user who entered a request may have difficulty tracking the request. The job tracking service automatically tracks transfers made by NQS. This enables the user to monitor and control the batch request through use of the NQS batch request identifier without checking the possible destinations of request transfers.
| qalter: | Alters NQS batch request attributes. |
| qcat: | Displays executing NQS request standard error files. |
| qchk: | Checkpoints an executing NQS request. |
| qdel: | Deletes or kills an NQS request. |
| qdev: | Displays NQS device status. |
| qhold: | Places an NQS request in hold state. |
| qlimit: | Displays resource restrictions supported by a specified host. |
| qmove: | Moves an NQS request to another queue. |
| qmsg: | Writes a message to an NQS request standard output file. |
| qpr: | Routes a file to a network printer via NQS services. |
| qrerun: | Restarts an NQS request. |
| qrls: | Releases the hold state of an NQS request. |
| qrsm: | Restarts an NQS request which was suspended. |
| qrst: | Restarts execution of an NQS request from a checkpoint. |
| qspnd: | Suspends the execution of an NQS request. |
| qstat: | Displays NQS request status. |
| qstata: | Display NQS access restriction information. |
| qstatc: | Displays the status of an NQS queue complex. |
| qstatck: | Displays a list of NQS requests which were checkpointed. |
| qstatd: | Displays NQS device status. |
| qstatf: | Displays NQS form information. |
| qstatq: | Displays NQS queue status. |
| qstatr: | Displays NQS request status. |
| qsub: | Submits an NQS batch request. |
| qwait: | Causes NQS request execution to wait. |
X-Windows is a network-transparent, windowing system distributed by the X Consortium.
The X-Window system is based on the client/server model. The applications system is the client, and the display system is the server. (See Figure 3-22)
SUPER-UX provides a full client environment for X-Windows as well as the Motif toolkit.
Figure 3-22 X-Window System Configuration
The X- Window system is an overlapping-type multi-window system. The server process can display various overlapping windows on a single display screen. Management is performed by the client process. The SX-4 environment requires that the X server be on an X Terminal or an X equipped workstation connected to the SX-4 through TCP/IP networking.
The user interface (window overlap control, movement, enlargement, reduction, and the like) and the window display method are controlled by a client process called the window manager. The user can set a desired multi-window environment by giving directives to the window manager.
Windows can have a hierarchical structure. That is, a window can be defined in another window. This function is useful for partitioning the display area within a window, or for displaying pop-up menus.
Since the protocol ( X protocol) between the server and client process is strictly defined, an X-Window system is device independent. In addition, since the interface viewed from an application program is strictly defined via the X library (provided by the X-Window system), an application developed for a specific device can be easily ported to other devices.
The window manager is a program that manipulates the windows on the display screen. The window manager operates as a single process.
Although many window managers have been developed, the one called twm is the standard X-Window manager. The desired window manager can be selected, or a personalized window manager can be created, by using the X library. However, only one window manager can be used at a time.
twm provides functions for iconizing a window, changing the position or size of a window, moving a window to the front or back, changing the keyboard input destination, opening a new window (activating xterm), etc.
The operation of twm can be tailored to specific needs by creating an environment definition file. For example, the fonts, mouse button mapping, menus definitions, operation of menus, etc. can be easily defined.
Xterm, which is a VT100 emulator that uses the X-Window system, operates as a single process. Since more than one xterm can be activated at the same time within a single
Xterm has a function for activating another application program within itself, in a similar manner as the shell. Xterm provides the activated application with an environment in which I/O is performed as if xterm were a tty. Therefore, an existing application that performs I/O with a tty can operate in an X-Window system environment without modification when activated from xterm.
X-Window applications are called clients. twm and xterm described above are types of clients.
Other clients provided as X standards include utilities for processing screen images and desktop accessories such as clocks and calculators.
Library functions for manipulating windows are provided to enable development of user applications that use X-Windows. These are called X library.
X library provides functions for manipulating windows and performing window I/O. X library functions allow an application to open a window, display text, graphics, and images, and receive keyboard or mouse input from the window.
X Toolkit is a library that provides a high-level user interface to the X-Window system. It also incorporates the object-oriented programming model.
The objects in X Toolkit are called widgets, and all the widgets included in the widget set provide a common user interface. Therefore, by using X Toolkit and a widget set, application development is simplified through a common user interface.
SUPER-UX provides the Athena widget set as a sample widget set as part of X Toolkit.
SUPER-UX supports the Distributed Computing Environment (DCE) to facilitate the development of distributed applications using multiple dissimilar systems.
DCE contains the following components:
Figure 3-23 shows the DCE architecture.
Figure 3-23 DCE Architecture
The DCE components are briefly explained below.
Threads enable a single process to have multiple processing flows. Threads are important for implementing high throughput because they enhance parallelization.
RPC is a protocol for invoking a subroutine that resides on a remote system. By building services for data access on top of RPC, a distributed application need not be concerned with architectural differences between communicating systems.
The directory service, which is called the naming service, converts names specified by users or application programs to system address informnation.
The time service provides functions for synchronizing time between distributed systems.
The distributed file system (DFS) provides file sharing services in a large-scale distributed system. It also provides localized caching and implements data coherence among systems accessing the same files.
The security service guarantees the security of communications in a distributed computing environment and controls access to resources.
The management functions are not a single component, but are actually implemented by a combination of components. These functions are used to implement the user validation function in the security service, and the network address validation function in the directory service.
By developing applications on top of DCE, a network-transparent system can be easily implemented.
| Home |
|---|
| Home |
|---|
| Contents | Previous Chapter | Next Chapter |