
PowerMAX OS Real-Time Guide 0890466-100 January 2006 Copyright 2006 by Concurrent Computer Corporation. All rights reserved. This publication or any part thereof is intended for use with Concurrent products by Concurrent personnel, customers, and end–users. It may not be repro- duced in any form without the written permission of the publisher. The information contained in this document is believed to be correct at the time of publication. It is subject to change without notice. Concurrent makes no warranties, expressed or implied, concerning the information contained in this document. To report an error or comment on a specific portion of the manual, photocopy the page in question and mark the cor- rection or comment on the copy. Mail the copy (and any additional comments) to Concurrent Computer Corporation, 2881 Gateway Drive Pompano Beach Florida, 33069. Mark the envelope “Attention: Publications Department.” This publication may not be reproduced for any other reason in any form without written permission of the publisher. PowerMAX OS is a trademark of Concurrent Computer Corporation. UNIX is a registered trademark, licensed exclusively by X/Open Company Ltd. NFS is a trademark of Sun Microsystems, Inc. POSIX is a registered trademark of the Institute of Electrical and Electronics Engineers, Inc. Printed in U. S. A. Revision History: Level: Effective With: Original Release -- May 1995 000 PowerUX Release 2.1 Previous Release -- June 2001 070 PowerMAX OS Release 5.1 Previous Release -- August 2003 080 PowerMAX OS Release 6.0 Previous Release -- November 2004 090 PowerMAX OS Release 6.2 Current Release -- January 2006 100 PowerMAX OS Release 6.3 Preface Scope of Manual This manual provides an introduction to the real-time features of PowerMAX OS and describes techniques for improving response time and increasing determinism. It contains documentation for interfaces that are used primarily by real-time applications. Structure of Manual This guide consists of the following 14 chapters, 5 appendixes, and index: • Chapter 1: - Overviews the real-time features of PowerMAX OS. - Introduces this guide. • Chapter 2 treats: - Achieving real-time response. - Increasing process dispatch latency. • Chapter 3 describes techniques to create a deterministic environment to run application. • Chapter 4 explains the procedures for using the ktrace utility. • Chapter 5 discusses: - Real-time interprocess communication. - Procedures for using the POSIX® message-passing facilities. • Chapter 6 describes PowerMAX OS interprocess synchronization tools. • Chapter 7 describes some of the facilities that can be used for timing. • Chapter 8 explains: - PowerMAX OS support for user-level interrupt routines. - Using user-level interrupt routines. • Chapter 9 describes the Virtual Interrupt System and how to use it. • Chapter 10 describes: - The 60 Hz clock interrupt and its interrupt service routine. - Disabling the 60 Hz clock interrupt on one or more CPUs. iii PowerMAX OS Real-Time Guide • Chapter 11 explains: - Performing direct disk I/O - Virtual partitions. - POSIX synchronized I/O interfaces. • Chapter 12 describes the PowerMAX OS asynchronous I/O facilities and explains how to use them. • Chapter 13 explains how to use the following PowerMAX OS facilities: - Real-time clocks. - Edge-triggered interrupts. - High-speed data enhanced devices. - DR11W emulator. - 1553 Advanced Bus Interface. - High-performance serial controller. • Chapter 14 describes STREAMS Network Buffers and how to use them. • Appendix A contains an example C program that illustrates use of the POSIX message queue facilities. • Appendix B contains an example C program that illustrates use of the inter- process synchronization tools. • Appendix C contains an example C program that demonstrates use of the user-level interrupt routine facility by a user program that executes a user- level interrupt process and interrupt-handling routine. • Appendix D contains an example C program that demonstrates use of the user-level interrupt routine facility by a multithreaded program that creates two interrupt connections to two separate real-time clocks. • Appendix E contains example C programs that have been developed to illustrate use of the high–speed data enhanced device, HSDE. • The index contains an alphabetical reference to key terms and concepts and numbers of pages where they occur in the text. Syntax Notation The following notation is used throughout this manual: italic Books, reference cards, and items that the user must specify appear in italic type. Special terms may also appear in italics. list bold User input appears in list bold type and must be entered exactly as shown. Names of directories, files, commands, options and system manual page references also appear in list bold type. iv list Operating system and program output such as prompts and mes- sages and listings of files and programs appear in list type. [ ] Brackets enclose command options and arguments that are optional. You do not type the brackets if you choose to specify such options or arguments Related Publications The following are related publications: 0830045 HN6800 Console Reference Manual 0830046 HN6800 Architecture Manual 0830047 HN6200 Console Reference Manual 0830048 HN6200 Architecture Manual 0830050 Power Hawk Series 600 Console Reference Manual 0830059 Power Hawk Series 700 Console Reference Manual 0830060 Power Hawk Series 900 Console Reference Manual 0890288 HAPSE Reference Manual 0890398 NightTrace Manual 0890423 PowerMAX OS Programming Guide 0890425 Device Driver Programming 0890429 System Administration Volume 1 0890430 System Administration Volume 2 0890459 Compilation Systems Volume 1 (Tools) 0890493 Data Monitoring Reference Manual 0891080 Power Hawk Series 600 Diskless Systems Administrator’s Guide 0891081 Power Hawk Series 600 Closely-Coupled Programming Guide 0891086 Power Hawk Series 700 Diskless Systems Administrator’s Guide 0891087 Power Hawk Series 700 Closely-Coupled Programming Guide 0891090 Power Hawk Series 900 Diskless Systems Administrator’s Guide v PowerMAX OS Real-Time Guide vi Chapter 0 Contents Preface . iii Chapter 1 Introduction Focus of Guide. 1-1 Real-Time Features of PowerMAX OS. 1-1 POSIX Real-Time Extension . 1-2 Shielded Processors . 1-2 Exclusive Binding . 1-3 Static Priority Scheduling. 1-3 Memory Resident Processes. 1-3 Memory Mapping and Data Sharing . 1-4 Real–Time Process Synchronization . 1-4 Message Queues . 1-5 Asynchronous Input/Output . 1-5 Direct Asynchronous I/O to Disk Partitions. 1-5 Synchronized I/O . 1-5 User–Level Interrupt Routines . 1-5 User–Level Device Drivers . 1-6 High–Resolution Timeout Facilities. 1-6 Real–Time Signal Behavior . 1-6 Watch-Dog Timer Function . 1-7 Chapter 2 Improving Response Time Process Dispatch Latency . 2-1 Effect of IPL . 2-2 Effect of Interrupts . 2-4 The Shielded Processor Model . 2-5 Improving Process Dispatch Latency . 2-6 Assigning Processes to CPUs. 2-7 Assigning Process to CPUs Via Exclusive Binding. 2-8 Assigning Interrupts to CPUs. 2-8 Statically Configuring Interrupt Assignments. 2-8 Dynamically Modifying Interrupt Assignments . 2-9 Using intconfig(1M) . 2-10 Using syscx(2) GET_PIN_CPU and SET_PIN_CPU . 2-12 Querying the Interrupt Configuration . 2-13 Hardclock Interrupt Handling. 2-14 Using Interrupt Daemons . 2-15 Assigning Daemons to CPUs . 2-17 Controlling STREAMS Scheduling . 2-17 Selecting CPUs and Local Daemons. 2-17 Per-STREAM CPU Biasing of Service Procedures . 2-19 Initialization of the per-STREAM CPU Bias Mask. 2-19 Changing the per-STREAM CPU Bias Mask . 2-20 vii PowerMAX OS Real-Time Guide Setting Kernel Tunables . 2-20 Biasing init(1). 2-21 Bound STREAMS . 2-22 Biasing with strmuxbias(1M). 2-22 User–Level Interrupt Routines . 2-23 User–Level Device Drivers . 2-24 Threads and Response Time . 2-25 Real-Time System Configuration Using Config . 2-26 Chapter 3 Increasing Determinism Overview of Determinism. 3-1 Architectural Issues. 3-1 Reducing Contention for the System Bus . 3-2 Interprocessor Interrupts . 3-4 Procedures for Increasing Determinism. 3-5 Locking Pages in Memory . 3-5 Using Local and Global Memory . 3-5 Setting the Program Priority . 3-7 Using High–Resolution Timeout Facilities . 3-8 Waking Another Process. 3-9 Chapter 4 Using the ktrace Utility Overview of ktrace. 4-1 Configuring a Kernel for Kernel Tracing. 4-1 Procedures for Using ktrace. 4-2 Chapter 5 Real-Time Interprocess Communication Understanding Message Queue Concepts . 5-1 Understanding Basic Concepts . ..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages394 Page
-
File Size-