25.02.2013 Views

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

e defined as single threading. A thread is a single unit of execution flow within a<br />

process. Better application performance can often be obtained when a program<br />

is structured so that several areas can be executed concurrently. This is called<br />

multithreading. The capability of executing multiple threads also depends on the<br />

operating system.<br />

In a distributed computing environment based on the client/server model, threads<br />

provide the ability to perform many procedures at the same time. Work can<br />

continue in another thread while the thread waiting for a specific response is<br />

blocked (for example, waiting for response from the network). A server can issue<br />

concurrent procedure call processing. While one server thread is waiting for an<br />

I/O operation to finish, another server thread can continue working on a different<br />

request.<br />

To function well, thread support needs to be integrated into the operating system.<br />

If threads are implemented at the application software level instead of within the<br />

operating system, performance of multithreaded applications might seem slow.<br />

The DCE thread APIs are either user-level (in operating systems that do not<br />

support threads, such as Microsoft Windows® 3.x) or kernel threads (such as<br />

<strong>IBM</strong> AIX® 5L <strong>and</strong> OS/2®). They are based on the POSIX 1003.4a Draft 4<br />

st<strong>and</strong>ard. Because OS/2 also has threads, the programmer can use DCE<br />

threads or OS/2 threads.<br />

DCE threads can be mapped onto OS/2 threads through special programming<br />

constructs. However, in order to write portable applications that can run on<br />

different platforms, only DCE threads must be used. In many cases, there is little<br />

performance difference resulting from this mapping.<br />

DCE Remote Procedure Call<br />

The DCE Remote Procedure Call (RPC) architecture is the foundation of<br />

communication between the client <strong>and</strong> server in the DCE environment.<br />

Note: The DCE RPC is conceptually similar to the ONC RPC (see 11.2.2,<br />

“Remote Procedure Call (RPC)” on page 415), but the protocol used on the<br />

wire is not compatible.<br />

RPCs provide the ability for an application program's code to be distributed<br />

across multiple systems, which can be anywhere in the network.<br />

506 <strong>TCP</strong>/<strong>IP</strong> <strong>Tutorial</strong> <strong>and</strong> <strong>Technical</strong> <strong>Overview</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!