Interprocess Communications in Linux®: the Nooks & Crannies

Total Page:16

File Type:pdf, Size:1020Kb

Interprocess Communications in Linux®: the Nooks & Crannies Interprocess Communications in Linux®: The Nooks & Crannies By John Shapley Gray Publisher: Prentice Hall PTR Pub Date: January 13, 2003 ISBN: 0-13-046042-7 Copyright Introduction Acknowledgments Chapter 1. Programs and Processes Section 1.1. Introduction Section 1.2. Library Functions Section 1.3. System Calls Section 1.4. Linking Object Code Section 1.5. Managing Failures Section 1.6. Executable File Format Section 1.7. System Memory Section 1.8. Process Memory Section 1.9. The u Area Section 1.10. Process Memory Addresses Section 1.11. Creating a Process Section 1.12. Summary Section 1.13. Key Terms and Concepts Chapter 2. Processing Environment Section 2.1. Introduction Section 2.2. Process ID Section 2.3. Parent Process ID Section 2.4. Process Group ID Section 2.5. Permissions Section 2.6. Real and Effective User and Group IDs Section 2.7. File System Information Section 2.8. File Information Section 2.9. Process Resource Limits Section 2.10. Signaling Processes Section 2.11. Command-Line Values Section 2.12. Environment Variables Section 2.13. The /proc Filesystem Section 2.14. Summary Section 2.15. Key Terms and Concepts Chapter 3. Using Processes Section 3.1. Introduction Section 3.2. The fork System Call Revisited Section 3.3. exec's Minions Section 3.4. Using fork and exec Together Section 3.5. Ending a Process Section 3.6. Waiting on Processes Section 3.7. Summary Section 3.8. Key Terms and Concepts Chapter 4. Primitive Communications Section 4.1. Introduction Section 4.2. Lock Files Section 4.3. Locking Files Section 4.4. More About Signals Section 4.5. Signal and Signal Management Calls Section 4.6. Summary Section 4.7. Key Terms and Concepts Chapter 5. Pipes Section 5.1. Introduction Section 5.2. Unnamed Pipes Section 5.3. Named Pipes Section 5.4. Summary Section 5.5. Key Terms and Concepts Chapter 6. Message Queues Section 6.1. Introduction Section 6.2. IPC System Calls: A Synopsis Section 6.3. Creating a Message Queue Section 6.4. Message Queue Control Section 6.5. Message Queue Operations Section 6.6. A Client?Server Message Queue Example Section 6.7. Message Queue Class Section 6.8. Summary Section 6.9. Key Terms and Concepts Chapter 7. Semaphores Section 7.1. Introduction Section 7.2. Creating and Accessing Semaphore Sets Section 7.3. Semaphore Control Section 7.4. Semaphore Operations Section 7.5. Semaphore Class Section 7.6. Summary Section 7.7. Key Terms and Concepts Chapter 8. Shared Memory Section 8.1. Introduction Section 8.2. Creating a Shared Memory Segment Section 8.3. Shared Memory Control Section 8.4. Shared Memory Operations Section 8.5. Using a File as Shared Memory Section 8.6. Shared Memory Class Section 8.7. Summary Section 8.8. Key Terms and Concepts Chapter 9. Remote Procedure Calls Section 9.1. Introduction Section 9.2. Executing Remote Commands at a System Level Section 9.3. Executing Remote Commands in a Program Section 9.4. Transforming a Local Function Call into a Remote Procedure Section 9.5. Debugging RPC Applications Section 9.6. Using RPCGEN to Generate Templates and aMAKEFILE Section 9.7. Encoding and Decoding Arbitrary Data Types Section 9.8. Using Broadcasting to Search for an RPC Service Section 9.9. Summary Section 9.10. Key Terms and Concepts Chapter 10. Sockets Section 10.1. Introduction Section 10.2. Communication Basics Section 10.3. IPC Using Socketpair Section 10.4. Sockets: The Connection-Oriented Paradigm Section 10.5. Sockets: The Connectionless Paradigm Section 10.6. Multiplexing I/O withselect Section 10.7. Peeking at Data Section 10.8. Out of Band Messages Section 10.9. Summary Section 10.10. Key Terms and Concepts Chapter 11. Threads Section 11.1. Introduction Section 11.2. Creating a Thread Section 11.3. Exiting a Thread Section 11.4. Basic Thread Management Section 11.5. Thread Attributes Section 11.6. Scheduling Threads Section 11.7. Using Signals in Threads Section 11.8. Thread Synchronization Section 11.9. Thread-Specific Data Section 11.10. Debugging Multithreaded Programs Section 11.11. Summary Section 11.12. Nomenclature and Key Concepts Appendix A. Using Linux Manual Pages Section A.1. Manual Page Sections Section A.2. Manual Page Format Section A.3. Standard Linux System Calls Appendix B. UNIX Error Messages Appendix C. RPC Syntax Diagrams Section C.1. Introduction Section C.2. RPC Definitions Section C.3. RPC Keywords Section C.4. Some RPC Examples Appendix D. Profiling Programs Section D.1. Introduction Section D.2. Sample Program for Profiling Section D.3. Generating Profile Data Section D.4. Viewing and Interpreting Profile Data Appendix E. Bibliography Top Copyright Library of Congress Cataloging-in-Publication available Editorial/production supervision: Kathleen M. Caren Executive Editor: Greg Doench Editorial Assistant: Brandt Kenna Marketing Manager: Debby vanDijk Manufacturing Manager: Alexis Heydt-Long Cover Design Director: Jerry Votta Composition: G&S Typesetters, Inc. © 2003 Pearson Education Inc. Publishing as Prentice Hall PTR Upper Saddle River, NJ 07458 Prentice Hall books are widely used by corporations and government agencies for training, marketing, and resale. For information regarding corporate and government bulk discounts, contact: Corporate and Government Sales: (800) 382-3419 or [email protected] All products mentioned herein are trademarks or registered trademarks of their respective owners. All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing from the publisher. Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 Pearson Education LTD. Pearson Education Australia PTY, Limited Pearson Education Singapore, Pte. Ltd. Pearson Education North Asia Ltd. Pearson Education Canada, Ltd. Pearson Educación de Mexico, S.A. de C.V. Pearson Education—Japan Pearson Education Malaysia, Pte. Ltd. Dedication To my wife, Marie Top Introduction The topic of interprocess communication techniques is broad, challenging and dynamic. All but the most basic operating systems provide methods for processes communication. Early on, UNIX supported a number of rudimentary process communication constructs (such as lock files, signals and pipes). In the early 1980s, facilities such as message queues, semaphores, and shared memory were added to the mix by AT&T with its release of UNIX System V. Somewhat concurrently, the Berkeley Software Distribution added support for Internet protocols (4.3BSD) and the socket interface as a communication construct. By the mid-1990s, threads and multithreaded programming techniques were making significant, permanent inroads into the UNIX mainstream. Along the way, UNIX spawned innumerable UNIX-like operating systems. One such operating system was MINIX. MINIX, written by Andrew S. Tanenbaum, is a small (about twelve thousand lines) PC version of UNIX. MINIX was presented as a pedagogical tool to permit the user to gain a better understanding of the inner working of a UNIX-like operating system. As all of the operating system source code was provided, the user could tinker with the code and refine its functionality. As a university student, Linus Torvalds' exposure to MINIX led him to develop a more robust UNIX-like operating system called Linux. In brief, Linux is a freely distributed hybrid version of UNIX. Linux system administration is BSD-like while its programming environment has a definite AT&T flavor. A number of commercial versions of Linux populate the market. These versions bundle Linux with a variety of other operating system related utilities and software packages. One of the more widely distributed commercial versions is Red Hat Linux. Red Hat Linux includes Richard Stallman's GNU project C (gcc) and C++ (g++) compilers. This text explores the intricacies of interprocess communications as supported by Red Hat Linux version 7.3 and 8.0. It is assumed that the reader has a working knowledge of C/C++ programming. It is further assumed that while not being an expert, the reader has worked in a UNIX type environment and is reasonably familiar with generating and editing text using an editor such as vi or pico (available from the University of Washington). This text makes extensive references to specific system calls and predefined library functions. The reader is encouraged to read the manual pages for each system call/library function as it is encountered. As in UNIX, the manual pages in Linux are an unparalleled source of information. Appendix A covers the format and use of manual pages. All programming references and examples were generated on a PC Pentium-based platform running Red Hat Linux 7.3, using the GNU C/C++ compiler version 2.96. With the release of Red Hat Linux 8.0 and GNU 3.2 the examples were revisited and tweaked where necessary. Many of the examples and most of the exercises have also been compiled and run in a Solaris 2.8 setting using GNU 2.95. Most often, few if any modifications were needed to generate clean, executable code in this alternate environment. Each example is a complete standalone program. Command line examples, except where noted, are Korn shell based. In any setting, IPC (interprocess communication) support must be available for the user to pursue the materials covered in the chapters on semaphores, message queues, and shared memory. When Linux is installed, usually IPC support is enabled (check the /proc directory for the presence of the sysvipc directory). If it is not present you may need to modify system configuration files and recompile the kernel. There are a number of places that one can peruse for information on how this might be done. One source of information is the Configure.help file that resides in the /usr/src/linuxXXXX/Documentation subdirectory (where XXXX is the version of Linux).
Recommended publications
  • Administering Unidata on UNIX Platforms
    C:\Program Files\Adobe\FrameMaker8\UniData 7.2\7.2rebranded\ADMINUNIX\ADMINUNIXTITLE.fm March 5, 2010 1:34 pm Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta UniData Administering UniData on UNIX Platforms UDT-720-ADMU-1 C:\Program Files\Adobe\FrameMaker8\UniData 7.2\7.2rebranded\ADMINUNIX\ADMINUNIXTITLE.fm March 5, 2010 1:34 pm Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Notices Edition Publication date: July, 2008 Book number: UDT-720-ADMU-1 Product version: UniData 7.2 Copyright © Rocket Software, Inc. 1988-2010. All Rights Reserved. Trademarks The following trademarks appear in this publication: Trademark Trademark Owner Rocket Software™ Rocket Software, Inc. Dynamic Connect® Rocket Software, Inc. RedBack® Rocket Software, Inc. SystemBuilder™ Rocket Software, Inc. UniData® Rocket Software, Inc. UniVerse™ Rocket Software, Inc. U2™ Rocket Software, Inc. U2.NET™ Rocket Software, Inc. U2 Web Development Environment™ Rocket Software, Inc. wIntegrate® Rocket Software, Inc. Microsoft® .NET Microsoft Corporation Microsoft® Office Excel®, Outlook®, Word Microsoft Corporation Windows® Microsoft Corporation Windows® 7 Microsoft Corporation Windows Vista® Microsoft Corporation Java™ and all Java-based trademarks and logos Sun Microsystems, Inc. UNIX® X/Open Company Limited ii SB/XA Getting Started The above trademarks are property of the specified companies in the United States, other countries, or both. All other products or services mentioned in this document may be covered by the trademarks, service marks, or product names as designated by the companies who own or market them. License agreement This software and the associated documentation are proprietary and confidential to Rocket Software, Inc., are furnished under license, and may be used and copied only in accordance with the terms of such license and with the inclusion of the copyright notice.
    [Show full text]
  • A Practical UNIX Capability System
    A Practical UNIX Capability System Adam Langley <[email protected]> 22nd June 2005 ii Abstract This report seeks to document the development of a capability security system based on a Linux kernel and to follow through the implications of such a system. After defining terms, several other capability systems are discussed and found to be excellent, but to have too high a barrier to entry. This motivates the development of the above system. The capability system decomposes traditionally monolithic applications into a number of communicating actors, each of which is a separate process. Actors may only communicate using the capabilities given to them and so the impact of a vulnerability in a given actor can be reasoned about. This design pattern is demonstrated to be advantageous in terms of security, comprehensibility and mod- ularity and with an acceptable performance penality. From this, following through a few of the further avenues which present themselves is the two hours traffic of our stage. Acknowledgments I would like to thank my supervisor, Dr Kelly, for all the time he has put into cajoling and persuading me that the rest of the world might have a trick or two worth learning. Also, I’d like to thank Bryce Wilcox-O’Hearn for introducing me to capabilities many years ago. Contents 1 Introduction 1 2 Terms 3 2.1 POSIX ‘Capabilities’ . 3 2.2 Password Capabilities . 4 3 Motivations 7 3.1 Ambient Authority . 7 3.2 Confused Deputy . 8 3.3 Pervasive Testing . 8 3.4 Clear Auditing of Vulnerabilities . 9 3.5 Easy Configurability .
    [Show full text]
  • IEEE Std 1003.1-2008
    This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-911530 INTERNATIONAL ISO/IEC/ STANDARD IEEE 9945 First edition 2009-09-15 Information technology — Portable Operating System Interface (POSIX®) Base Specifications, Issue 7 Technologies de l'information — Spécifications de base de l'interface pour la portabilité des systèmes (POSIX ®), Issue 7 Reference number ISO/IEC/IEEE 9945:2009(E) Copyright © 2001-2008, IEEE and The Open Group. All rights reserved This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-911530 ISO/IEC/IEEE 9945:2009(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. Neither the ISO Central Secretariat nor IEEE accepts any liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies and IEEE members. In the unlikely event that a problem relating to it is found, please inform the ISO Central Secretariat or IEEE at the address given below.
    [Show full text]
  • Beej's Guide to Unix IPC
    Beej's Guide to Unix IPC Brian “Beej Jorgensen” Hall [email protected] Version 1.1.3 December 1, 2015 Copyright © 2015 Brian “Beej Jorgensen” Hall This guide is written in XML using the vim editor on a Slackware Linux box loaded with GNU tools. The cover “art” and diagrams are produced with Inkscape. The XML is converted into HTML and XSL-FO by custom Python scripts. The XSL-FO output is then munged by Apache FOP to produce PDF documents, using Liberation fonts. The toolchain is composed of 100% Free and Open Source Software. Unless otherwise mutually agreed by the parties in writing, the author offers the work as-is and makes no representations or warranties of any kind concerning the work, express, implied, statutory or otherwise, including, without limitation, warranties of title, merchantibility, fitness for a particular purpose, noninfringement, or the absence of latent or other defects, accuracy, or the presence of absence of errors, whether or not discoverable. Except to the extent required by applicable law, in no event will the author be liable to you on any legal theory for any special, incidental, consequential, punitive or exemplary damages arising out of the use of the work, even if the author has been advised of the possibility of such damages. This document is freely distributable under the terms of the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License. See the Copyright and Distribution section for details. Copyright © 2015 Brian “Beej Jorgensen” Hall Contents 1. Intro................................................................................................................................................................1 1.1. Audience 1 1.2. Platform and Compiler 1 1.3.
    [Show full text]
  • Cygwin User's Guide
    Cygwin User’s Guide Cygwin User’s Guide ii Copyright © Cygwin authors Permission is granted to make and distribute verbatim copies of this documentation provided the copyright notice and this per- mission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this documentation under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this documentation into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. Cygwin User’s Guide iii Contents 1 Cygwin Overview 1 1.1 What is it? . .1 1.2 Quick Start Guide for those more experienced with Windows . .1 1.3 Quick Start Guide for those more experienced with UNIX . .1 1.4 Are the Cygwin tools free software? . .2 1.5 A brief history of the Cygwin project . .2 1.6 Highlights of Cygwin Functionality . .3 1.6.1 Introduction . .3 1.6.2 Permissions and Security . .3 1.6.3 File Access . .3 1.6.4 Text Mode vs. Binary Mode . .4 1.6.5 ANSI C Library . .4 1.6.6 Process Creation . .5 1.6.6.1 Problems with process creation . .5 1.6.7 Signals . .6 1.6.8 Sockets . .6 1.6.9 Select . .7 1.7 What’s new and what changed in Cygwin . .7 1.7.1 What’s new and what changed in 3.2 .
    [Show full text]
  • Linux from Scratch
    Linux From Scratch Version 3.3 Gerard Beekmans Copyright © 1999−2002 by Gerard Beekmans This book describes the process of creating a Linux system from scratch from an already installed Linux distribution, using nothing but the sources of the software that we use. Copyright (c) 1999−2002, Gerard Beekmans All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: • Redistributions in any form must retain the above copyright notice, this list of conditions and the following disclaimer. • Neither the name of "Linux From Scratch" nor the names of its contributors may be used to endorse or promote products derived from this material without specific prior written permission. • Any material derived from Linux From Scratch must contain a reference to the "Linux From Scratch" project. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Dedication This book is dedicated to my loving and supportive wife Beverly Beekmans.
    [Show full text]
  • Operating Systems Processes
    Operating Systems Processes Eno Thereska [email protected] http://www.imperial.ac.uk/computing/current-students/courses/211/ Partly based on slides from Julie McCann and Cristian Cadar Administrativia • Lecturer: Dr Eno Thereska § Email: [email protected] § Office: Huxley 450 • Class website http://www.imperial.ac.uk/computing/current- students/courses/211/ 2 Tutorials • No separate tutorial slots § Tutorials embedded in lectures • Tutorial exercises, with solutions, distributed on the course website § You are responsible for studying on your own the ones that we don’t cover during the lectures § Let me know if you have any questions or would like to discuss any others in class 3 Tutorial question & warmup • List the most important resources that must be managed by an operating system in the following settings: § Supercomputer § Smartphone § ”Her” A lonely writer develops an unlikely relationship with an operating system designed to meet his every need. Copyright IMDB.com 4 Introduction to Processes •One of the oldest abstractions in computing § An instance of a program being executed, a running program •Allows a single processor to run multiple programs “simultaneously” § Processes turn a single CPU into multiple virtual CPUs § Each process runs on a virtual CPU 5 Why Have Processes? •Provide (the illusion of) concurrency § Real vs. apparent concurrency •Provide isolation § Each process has its own address space •Simplicity of programming § Firefox doesn’t need to worry about gcc •Allow better utilisation of machine resources § Different processes require different resources at a certain time 6 Concurrency Apparent Concurrency (pseudo-concurrency): A single hardware processor which is switched between processes by interleaving.
    [Show full text]
  • [Linux] - Unix/Linix Commands
    [Linux] - Unix/Linix Commands 1. $ ssh username@servername command used to login to server 2$ pwd it prints present working directory 3$ ls -l listing the files in present directory 4$ cd..takes you to previous Dir 5$ mkdir <directory>will create directory 6$ mkdir -p /home/user1/d1/d2/d3will create all the non-existing Dir’s 7$ vi <file_name>opens file for reading/editing 8$ cat <file_name>display contents of file 9$ more <file_name>displays page by page contents of file 10$ grep <pattern> file_namechecks pattern/word in file name specified 11$ head <file_name>shows first 10 lines of file_name 12$ touch <file_name>creates a zero/dummy file 13$ ln file1 file2 creates link of file1 to file2 14$ cp <file1> <file2>Copy a file 15$ mv <file1> <file2>Move/rename a file or folder 16$ clearclears the scree 17$ whoDisplays logged in user to the system. 18$ file <file_name>shows what type of file it is like 19$wwill display more info abt the users logged in 20$ ps -efshows process 21$ which <file_name>shows if the file_name/command exists and if exists display the path 22$ rm <file_name>will delete file specified$ rm * Delete all the files in the present directory (BE CAREFUL WHILE GIVING THIS COMMAND) 23$ find . -type f -print -exec grep -i <type_ur_text_here> {} \;this is recursive grep$ find / - name <file_name> -print 24$ tail <file_name>shows last 10 lines of fileuse tail -f for continous update of file_name 25$ chmod 777 <file_name>changes file_name/directory permissions use –R switch for recursive 26$ chown owner:group <file_name>changes
    [Show full text]
  • Openextensions POSIX Conformance Document
    z/VM Version 7 Release 1 OpenExtensions POSIX Conformance Document IBM GC24-6298-00 Note: Before you use this information and the product it supports, read the information in “Notices” on page 73. This edition applies to version 7, release 1, modification 0 of IBM z/VM (product number 5741-A09) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2018-09-12 © Copyright International Business Machines Corporation 1993, 2018. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents List of Tables........................................................................................................ ix About This Document............................................................................................xi Intended Audience......................................................................................................................................xi Conventions Used in This Document.......................................................................................................... xi Where to Find More Information.................................................................................................................xi Links to Other Documents and Websites.............................................................................................. xi How to Send Your Comments to IBM....................................................................xiii Summary of Changes for z/VM
    [Show full text]
  • CICS and IPCS
    CICS and IPCS Andre Clark Staff CICS L2 Support Agenda § Dump types § Some basic IPCS commands § CICS Verbexit DFHPDxxx § Common System Area (CSA) § Storage Manager (SM) § Transaction Manager (XM) § Dispatcher (DS) § Kernel (KE) § Loader domain (LD) § Program domain (PG) § Lock Manager (LM) § Enqueue domain (NQ) § Application domain (AP) § Task Summary (TK) § Trace (TR) 3 IPCS Primary Menu ------------------- IPCS PRIMARY OPTION MENU --------------------------------- OPTION ===> ******************** 0 DEFAULTS - Specify default dump and options * USERID - USASSC1 1 BROWSE - Browse dump data set * 2 ANALYSIS - Analyze dump contents * 3 UTILITY - Perform utility functions * TIME - 16:46 4 INVENTORY - Inventory of problem data * PREFIX - USASSC1 5 SUBMIT - Submit problem analysis job to batch * TERMINAL- 3278 6 COMMAND - Enter subcommand, CLIST or REXX exec * PF KEYS - 24 T TUTORIAL - Learn how to use the IPCS dialog ******************** X EXIT - Terminate using log and list defaults Enter END command to terminate IPCS dialog F1=HELP F2=SPLIT F3=END F4=RETURN F5=RFIND F6=MORE F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=CURSOR 4 IPCS Default Menu ------------------------- IPCS Default Values --------------------------------- Command ===> You may change any of the defaults listed below. The defaults shown before any changes are LOCAL. Change scope to GLOBAL to display global defaults. Scope ==> BOTH (LOCAL, GLOBAL, or BOTH) If you change the Source default, IPCS will display the current default Address Space for the new source and will ignore any data entered in the Address Space field. Source ==> DSNAME('USASSC1.SHAREFC.DUMP') Address Space ==> ASID(X'0044') Message Routing ==> NOPRINT TERMINAL Message Control ==> FLAG(WARNING) NOCONFIRM VERIFY Display Content ==> MACHINE REMARK REQUEST NOSTORAGE SYMBOL Press ENTER to update defaults.
    [Show full text]
  • Sockets in the Kernel
    Linux Kernel Networking – advanced topics (6) Sockets in the kernel Rami Rosen [email protected] Haifux, August 2009 www.haifux.org All rights reserved. Linux Kernel Networking (6)- advanced topics ● Note: ● This lecture is a sequel to the following 5 lectures I gave in Haifux: 1) Linux Kernel Networking lecture – http://www.haifux.org/lectures/172/ – slides:http://www.haifux.org/lectures/172/netLec.pdf 2) Advanced Linux Kernel Networking - Neighboring Subsystem and IPSec lecture – http://www.haifux.org/lectures/180/ – slides:http://www.haifux.org/lectures/180/netLec2.pdf Linux Kernel Networking (6)- advanced topics 3) Advanced Linux Kernel Networking - IPv6 in the Linux Kernel lecture ● http://www.haifux.org/lectures/187/ – Slides: http://www.haifux.org/lectures/187/netLec3.pdf 4) Wireless in Linux http://www.haifux.org/lectures/206/ – Slides: http://www.haifux.org/lectures/206/wirelessLec.pdf 5) Sockets in the Linux Kernel ● http://www.haifux.org/lectures/217/ – Slides: http://www.haifux.org/lectures/217/netLec5.pdf Note ● Note: This is the second part of the “Sockets in the Linux Kernel” lecture which was given in Haifux in 27.7.09. You may find some background material for this lecture in its slides: ● http://www.haifux.org/lectures/217/netLec5.pdf TOC ● TOC: – RAW Sockets – UNIX Domain Sockets – Netlink sockets – SCTP sockets. – Appendices ● Note: All code examples in this lecture refer to the recent 2.6.30 version of the Linux kernel. RAW Sockets ● There are cases when there is no interface to create sockets of a certain protocol (ICMP protocol, NETLINK protocol) => use Raw sockets.
    [Show full text]
  • Using IPCS with MVS/ESA Version 5
    SYSTEM BY TOM BRYANT STRATEGIES MVS/XA/ESA Problem Solving: Part I — Using IPCS With MVS/ESA Version 5 PCS for MVS/ESA Version 5 has come a long way since I first used it in 1983 at the prompting of an exuberant IBM customer engineer. IPCS IPCS for MVS/ESA continues to move toward a fully panel-driven environment, although in Version 5 offers many Isome situations, I find using IPCS commands easier. capabilities, including the ability to scan for unformatted storage dumps. This article Future articles will examine the environ- easily in batch mode as well as in an ISPF mental record editing and printing program foreground session. I also wanted a CLIST examines the many (EREP), one-page MVS/XA/ESA abend that was well-documented with easy-to-use facilities of IPCS, analysis, advanced SVCDUMP analysis, parameters. Finally, I wanted a CLIST that slip traps and GTF tracing, and standalone does not hang onto dump directory and IPCS and includes some dump analysis. print dataset allocations when completed, as of the author’s favorite IPCS stands for Interactive Problem the IBM BLSCDDIR CLIST does. Control System, although most people IPCS commands. (myself included) use it just for looking at IPCS CLISTS FOR MVS/ESA unformatted storage dumps. IPCS will process VERSION 4.3 AND ABOVE SVCDUMPs which are dumps usually pro- The #IPCSTJB CLIST is the mainline duced with the abend (SVC 13) issued by your CLIST that you execute to establish an IPCS program or the system. Other unformatted session (see Figure 1). If you are invoking dumps that IPCS will produce include an #IPCSTJB for the first time, the NEW CLIST application unformatted dump allocated keyword parameter indicates that you will through the SYSMDUMP DD statement and dynamically create a VSAM dump directory the standalone dump produced by the stand- using the value of the VOL CLIST keyword alone dump program.
    [Show full text]