| W. R. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1995. |
....some document using the VI text editor from within an xterm console emulator. When the user presses a keyboard key, the X server reads the associated character from the keyboard s device driver, sends it as an X event message to xterm, which in turn forwards it through a pseudo terminal connection [22] to VI. The latter performs the necessary processing and may update the user s view by propagating data in the opposite direction. This simple example highlights the fact that the HuC quality has a transitive nature, and therefore its definition must be refined such that it will also include ....
W. R. Stevens, Advanced Programming in the Unix Environment. Addison Wesley, June 1993.
....the hardware resources and the user channels of the kernel interface. 2.2.2 Communication Channel Mapping The objective of communication channel mapping is the binding of a user app lication interface to a dedicated device. The user application selects or allocates a device by an open( call [104, 70]. The kernel sets up a user channel for communication. These user channels identify an application which uses the driver during the use of driver services. From the driver designer s point of view, it has to be decided if management infrastructure has to be implemented for 0,1, or N devices in ....
....of race conditions between the threads requires a more detailed analysis of the interrelationships of the threads. In some cases, the user process next to the the driver has to also react to the interrupt driven messages from the device. The user process is informed under UNIX by a signal [104]. The kernel scheduler branches in the user process to the dedicated routine, the signal handler of the user process. It acts like a parallel thread to the user process, similar to the ISR to the driver. The signal handler must register itself as a listener to a signal from the driver (see diagram ....
[Article contains additional citation context not shown here]
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley Publishing, Massachusetts, 1992.
....for some additional guaranteed degree of security; the potential to simply detect an intruder may be less enticing. Our discussion of system call interposition requires some basic knowledge of the Unix API. We recommend readers looking for additional background on this topic refer to Stevens [26] or McKusick et al. 22] 3 The Janus Architecture Intuitively, Janus can be thought of as a firewall that sits between an application and the operating system, regulat process process process System Call Entry Kernel Proper mod janus Policy Engine janus Application Allow Deny User ....
R. W. Stevens. Advanced Programming in the Unix Environment. Addison-Wesley, 1992.
....device, or other file like resource. Most I O in Unix is performed by reading from and writing to file descriptors. Unix also provides a facility for file descriptor passing sending a file descriptor to a different process through the sendmsg and recvmsg system calls on Unix domain sockets [19, 26]. REX uses local file descriptor passing between daemons, particularly on the server. This mechanism provides a simple and convenient way for a privileged program to perform a task on behalf of an unprivileged one and return the result to it in the form of a file descriptor. For example, once a ....
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison Wesley Longman, Inc., 1993.
.... (int )CMSG DATA(cmsg) fd; Figure 1: A le descriptor can be sent to another process by a special control message. Modern Unix operating systems provide a mechanism called le descriptor passing. File descriptor passing allows one process to give access to an open le to another process [17]. This is achieved by sending a control message containing the le descriptor to the other process; see Figure 1. When the message is received, the operating system creates a matching le descriptor in the le table of the receiving process that permits access to the sender s le. We implement a ....
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.
....in Unix systems are the primary source of information on the user ID model for most programmers. See, for example, setuid(2) and setgid(2) But unfortunately, they are often incomplete or even wrong (Section 6.4. 1) Many books on Unix programming also describe the user ID model, such as Stevens [2], but often they are specific to one Unix system or release, are outdated, or lack important details. Bishop discussed security vulnerabilities in setuid programs [3] His focus is on potential vulnerabilities that a process may be susceptible to once it gains privilege, while our focus is on how ....
Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley Publishing Company, 1992.
....as pure virtual. For uniformity, the vnode class will be used to represent pipes, devices, pseudo devices, processes or sockets, in the same manner. Each special device or communication line is viewed like a le and same primitives can be used to access particular information on that le [9, 11]. In Unix (particularly Linux) this model is implemented by means of a special data structure called inode operations [9] Each system resource is considered to be a le and di erent supported and mounted le systems will be managed by same primitives. For Linux ext2 le system and for other ....
.... : ID= Idsymbol [5] aboutAttr : about= URI ref [6] propElt : propName value propName propName resAttr 5 [7] propName : Qname [8] value : descript string [9] resAttr : resource= URI ref [10] Qname : NSprefix : name [11] URI ref : string [12] IDsymbol : any XML legal symbol) 13] name : any XML legal symbol) 14] NSprefix : any XML namespace prefix) 15] string : any XML data) Using this syntax, we can represent in RDF XML the following assertion about the owner of a particular le: ....
W. R. Stevens, Advanced Programming in the Unix Environments,
....and Synchronization With a multithreaded approach it is necessary to effectively communicate information, e.g. state changes, parameter changes, variable updates, etc. There are several options for this communication, including: disk files, pipes, shared memory, message queues, and TCP IP [16]. With a real time interactive environment it is critical that we choose an effi cient strategy. Disk files are clearly far too slow. TCP IP incorporates far too much overhead for threads guaranteed to be on the same system. The remaining techniques are specifically designed to provide effective ....
W. Richard Stevens, Advanced Programming in the UNIX Environment, Addison-Wesley, 1993.
....either in separate processes on the same computer or on two different computers connected by a network. In both configurations all of the communication between Java and the graphics programoccurs via a small native class called a BiDirPipe (Figure 3) which is implemented either with shared memory [17] or a socket [16] The simple protocol used to communicate between the Java application and the graphics process is similar to that in a Remote Procedure Call [16] mechanism; see Appendix A for details. All graphics API methods returning void,most significantly rendering, are done in parallel to ....
W. Richard Stevens. Advanced Programming in the UNIX Environment, chapter 14. Addison-Wesley, 1992.
....to extra latency in the system. This also causes the system to be idle (i.e. not running GAMS jobs) while in fact there is capacity to run jobs. Using an external program (daemon or NT service) causes additional complications. A decent implementation of a daemon or service is not a trivial task [5, 6, 23]. In addition the task to manage both a database and a separate program gives extra complexity. Issues like starting and stopping the daemon, error logging, security, permissions and system documentation can make this solution less attractive in a production environment. An alternative is to ....
W. Richard Stevens, Advanced Programming in the UNIX Environment, Addison-Wesley, 1992.
....of choice for writing parallel and distributed programs. The AT T UNIX provides what is known as System V IPC mechanisms, consisting of shared memories, message queues and semaphore sets, to enable programmers to exchange data and synchronize between processes running on the same computer [4,5]. These could be used in an MP system. Different processes use the same numerical key to gain access to the same IPC structure. System V IPC is well documented, familiar to many programmers and widely available in different UNIX systems. Many programs use it to communicate between different ....
W. Richard Stevens, Advanced Programming in the UNIX Environment, AddisonWesley, 1992.
....I O complexity of sorting is bounded by a constant c if ( M B ) c N B , where M = N v . Since this constraint involves the parameters v, B, N , c, we have a fourdimensional constraint space. For practical purposes, the parameter B can be fixed at about 10 3 for disk I O (see Figure 2) [33]. This reduces the parameter space to three dimensions. We plot the surface N c Gamma1 = v c B c Gamma1 in Figure 3. Any point on or above the surface represents a valid set of parameters for the elimination of the logarithmic factor. It can be seen from Figure 3 that the logarithmic factor ....
Stevens, R. W. Advanced Programming in the Unix Environment. Addison-Wesley, Don Mills, Ont., Canada, 1995.
....term in the I O complexity of sorting is bounded by a constant c if ( M B ) c N B , where M = N v . Since this constraint involves the parameters v, B, N , c, we have a four dimensional constraint space. For practical purposes, the parameter B can be fixed at about 10 3 for disk I O [22]. This reduces the constraint to a surface N c Gamma1 = v c B c Gamma1 in three dimensional space. Any point on or above the surface represents a valid set of parameters for the elimination of the logarithmic factor. For 100 processors or less, for instance, any problem size greater than ....
STEVENS, R. W. Advanced Programming in the Unix Environment. Addison-Wesley, Don Mills, Ont., Canada, 1995.
.... data exchange between the processes of a distributed application [8,9] Using it, people can build and program multi computers [1] built of ordinary personal computers connected over a TCP IP network [6] The current implementation enables Linux programmers to use UNIX System V IPC mechanisms [2], including shared memories, messages and semaphores, in a distributed environment. DIPC s services are accessible via the Linux kernel, letting application programmers use the already familiar System V IPC system calls to send and receive data. So, as far as the application programmer 2 is ....
W. Richard Stevens, Advanced programming in the UNIX Environment, Addison-Wesley, 1992.
....loss in performance. This decision was backed by the observation that computer and telecommunication equipment s speeds are improving very rapidly, while training and programming times for distributed applications seem not to be following a similar trend. In DIPC, UNIX System V IPC mechanisms [4], consisting of semaphores, messages and shared memories, are modified to function in a network environment. This means that installing DIPC requires changing and recompiling the kernel. Here the same system calls that are used to provide communication between processes running in the same ....
....at most one of them. Computers on the same cluster may even be connected to each other by a WAN. As far as DIPC is concerned, computers in one cluster never interact with computers in other clusters. In normal System V IPC, processes specify numerical keys to gain access to the same IPC structure [4]. They can then use these structures to communicate with each other. A key normally has a unique meaning only in one computer. DIPC makes the IPC keys globally known. Here, if the application programmer wants it, a key can have the same meaning in more than one machine. Processes on different ....
W. Richard Stevens, Advanced Programming in the UNIX Environment, AddisonWesley, 1992.
....kernel duplicates it. An important member of the fork( family of functions is vfork( This is used to create a new process without fully copying the address space of the parent, and can be useful when the child won t reference the parent s address space and will call exec( to run a new program [40]. Linux also has a clone( function, which allows the child to share parts of the execution context with its parent; it is used mainly to implement threads. Besides supporting the fork( family of functions, QNX has a qnx spawn( system call. This allows the programmer to modify various ....
W. R. Stevens, Advanced Programming in the Unix Environment. Addison Wesley, 1993.
.... any of the following categories of library calls fail: CERIAS Tech Report TR 99 11 6 malloc family fork family dup family Race conditions can occur in file access sequences, and these may be present because POSIX does not include some of the needed system calls to prevent them (Stevens [14]) These are vulnerabilities even in non SUID files because an ordinary user might be able to orchestrate an attack to affect other users (including privileged users) especially in scripts. We looked for the following known race conditions (from Bishop and Dilger [9] stat open open ....
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, Reading, MA, USA, 1992. ISBN 0-201-56317-7.
....to be read is known in advance. If that total is greater than the precalculated threshold for the given disk, the fixed number of frames is dropped for each session. After process completed the reading, it is synchronized with its partner by calling parentchild synchronization routines from [6]. After processes have been synchronized (the transition between two scheduler s states has been completed) the process starts writing frames periodically (every 1 24 sec) for all sessions sequentially. If session is dummy, data is written to a null device, otherwise it is sent to the client. ....
W. R. Stevens, Advanced Programming in the Unix Environment, Prentice Hall Inc., 1992. 13
....reader. However, for authoritative information, there is no better source. There are many good texts that cover basic concepts of computer networking [3, 4, 11] The great technical writer W. Richard Stevens developed a whole series of classic texts on such topics as advanced Unix programming [5], the Internet protocols [6, 7, 8] and Unix network programming [10, 9] Serious students of Linux systems programming will want to study all of them. Tragically, Stevens died in 1999. His contributions will be greatly missed. The authoritative list of MIME types is maintained at ....
W. Richard Stevens. Advanced Programming in the Unix Environment. Addison-Wesley, 1992.
....the master of ceremonies (e.g. an organiser of a conference) sets the price for individual user or mainly an organization, where the novice users do not have to know the implications. For example, user A decides to host a conference in UCL, 1999 for 2 days. This conference requires access to the Mbone[10] in order to multicast the session. So the host has to work out what is the minimum bandwidth required to transmit video(frame rate) and in order to deliver audio what is the bit rate required. After that the session owner sets a common price for all that absorbs and hides peaks and throughs in ....
....can be treated as a real time or inelastic application (for example, an email informing someone to join a conference immediately) In order to guarantee the service that is chosen from the session based application pricing interface, the network has to provide enough resources. Since an RSVP API[16] is currently available, we suggest to integrate RSVP with the different models of session based pricing. However, as discussed in section 2 there are other ways to reserve the resources or characterise the packets that are being paid for in network layer. In this paper, we are not focussing on ....
Stevens "Advanced Programming in the Unix environment"
..... When a function is called, its stack frame is pushed into the stack and is not popped from the stack until it finishes and returns. When a function call returns, only its stack frame is popped. 7 These assumptions are not always true for C programs. System calls setjmp( and longjmp( [7] allow users to bypass several functions in the call path to the current function to directly jump back to the function executing setjmp( Users use setjmp( to set a return location and use longjmp( in a different function to go back to the return location set by the setjmp( statement. If ....
Stevens, W. Richard, Advanced Programming in the UNIX Environment, Addison-Wesley, 1992
....assumption. When a function is called, its stack frame is pushed into the stack and is not popped from the stack until it finishes and returns. And when a function returns, only its stack frame is popped. But the assumption is not always true for C programs. System calls setjmp( and longjmp( [7] allow users to bypass several functions in the call path of the current function to directly jump back to the function executing setjmp( Users use setjmp( to set the return location and use longjmp( in a different function to go back to the setjmp( statement. If between the execution of ....
Stevens, W. Richard, Advanced Programming in the UNIX Environment, Addison-Wesley, 1992
....Tsillas[9] The X Toolkit Intrinsics [6] and Xlib[5] are also used. SMXGDB contains about 13,000 lines of code. About 6600 lines are reused from Tsillas MXGDB, of which about 3600 lines were imported by Tsillas from the MIT X libraries. Like MXGDB, SMXGDB interacts with GDB via a pseudo terminal[8] and displays the information from GDB in a window. However, it has a completely different layout from MXGDB, both in the internal structure and how it looks to a user. The form widget is heavily used. In addition, the features of MXGDB, SMXGDB include most of the features of xdbx[2] an ....
W. Richard Stevens. Advanced Programming in the UNIX Environment. AddisonWesley Publishing Company, 1994.
....a file system can be designed to better support MPI IO. We provide a list of features desired from a file system that would help in implementing MPI IO correctly and with high performance. 2 Achieving Portability and Performance The basic Unix I O functions (open, lseek, read, write, and close) [29] are supported without variation on all machines with a Unix like operating system. Oneway to implement MPI IO portably, therefore, is to implement MPI IO functions on top of these basic Unix I O functions. Since the Unix I O functions are portable, such an MPI IO implementation will be portable ....
....on the right shows write bandwidth. 3.6 Consistency Semantics MPI IO s consistency semantics (Section 9.6 of [19] define the results users can expect with concurrent file accesses from multiple processes. MPI IO s consistency semantics are actually weaker than the consistencysemantics in Unix [29] or POSIX [12] In Unix and POSIX, after a write function returns, the data is guaranteed to be visible to every other process in the system. MPI IO guarantees that a write from one process is immediately visible only to processes that belong to the communicator with which the file was opened and ....
W. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley Publishing Company, Inc., 1992.
....and the DBMS backend. Transferring information between protected address spaces requires an operating system service called Inter Process Communication or IPC. There may be many types of IPCs Embedded Real Time and Database: How Do They Fit Together 17 depending on the operating system (See [Stevens 92] chapters 14 and 15 for a discussion of the various types of IPC available in Unix) Figure 2: Multiple Address Space Architecture Use of IPCs as in Figure 2 has three significant consequences for a real time DBMS: 1. IPCs are generally slow compared to direct procedure calls. 2. IPCs are ....
Stevens, W. Richard, Advanced Programming in the Unix Environment, Addison-Wesley, Reading MA, 1992.
....co located in the same host but run in their own processes. In this case, communication takes place through the ORB middleware, which is why we also call these boundaries as middleware boundaries. This form of communication, however, can take place using other mechanisms such as IPC [Nutt 1997, Stevens 1993] Finally, messages cross host boundaries when components reside on separate hosts; this involves middleware and communication subsystem overhead. CAAS can be deployed in many different configurations. When composing CAAS configurations, the main choice is the boundaries crossed between ....
W. R. Stevens, Advanced Programming in the UNIX Environment. Addison-Wesley, 1993.
No context found.
W. R. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1995.
No context found.
STEVENS,R.W. Advanced Programming in the Unix Environment. Addison-Wesley, Don Mills, Ont., Canada, 1995.
No context found.
W. Richard Stevens. Advanced Programming in the Unix Environment. Addison Wesley, 1992, ISBN 0-201-56317-7.
No context found.
STEVENS,R.W. Advanced Programming in the Unix Environment. Addison-Wesley, Don Mills, Ont., Canada, 1995.
No context found.
Stevens WR (1992), Advanced Programming in the UNIX Environment, Addison-Wesley, Reading, MA
No context found.
STEVENS,R.W. Advanced Programming in the Unix Environment. Addison-Wesley, Don Mills, Ont., Canada, 1995.
No context found.
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1993.
No context found.
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison Wesley, Reading, Massachusetts, 1992.
No context found.
Stevens, W.R.Advanced Programming in the UNIX Environment. Addison Wesley Professional Series, 1993.
No context found.
Stevens, W. R. 1992. Advanced Programming in the UNIX Environment, AddisonWesley, Reading, MA. 76
No context found.
W. R. Stevens. Advanced programming in the UNIX environment. Addison Wesley, 1993.
No context found.
R. W. Stevens. Advanced Programming in the Unix Environment. Addison-Wesley, Don Mills, Ont., 1995.
No context found.
STEVENS,R.W. Advanced Programming in the Unix Environment. Addison-Wesley, Don Mills, Ont., Canada, 1995.
No context found.
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992. 4
No context found.
W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.
No context found.
Stevens WR. Advanced Programming in the Unix Environment. Addison-Wesley: Reading, MA, 1993.
No context found.
W.R. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1993.
No context found.
Stevens W. Advanced Programming in the UNIX Environment. Addison-Wesley, Massachutesetts. 1993. 89
No context found.
Stevens, W. R. (1992). Advanced Programming in the UNIX Environment (Professional Computing Series . Reading, MA USA: Addison Wesley.
No context found.
Richard Stevens. Advanced Programming in the UNIX Environment. Prentice Hall, Upper Saddle River, N J, 1997.
No context found.
W.Richard Stevens, Advanced Programming in the UNIX Environments, Addison-Wesley, 1992
No context found.
Stevens, W.R., Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.
No context found.
W. Richard Stevens, Advanced Programming in the UNIX Environment, Addison-Wesley Publishing Co., Copyright 1992. ISBN 0-201-56317-7.
No context found.
W.R. Stevens, Advanced Programming in the UNIX Environment. Addison-Wesley, 1993.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC