Unit 1

Lesson 2 - Programs, Processes, Protocols, and Layers

   Programs, Processes, and Protocols

The terms "program," or "application," means a complete set of routines that provide a high-level function of some sort. For example, a word processing application performs the general task of creating documents. However, that broad task is composed of many subprocesses, such as opening files, saving files, copying and pasting text, or deleting data. Therefore, we use the term "process" instead of "program" to refer to some subset of functions (still possibly quite complex) that fits into a larger program or is part of a large system.

This distinction is important because some processes within a program are designed to communicate and cooperate with other processes over a network. The term process is used especially when talking about a program when it is executing (in operating systems [OSs], an executing program is a process).

Protocols

A protocol is a set of communication rules that give meaning to the signals exchanged by two nodes. Two devices or processes can exchange information when they both use the same protocol. Each type of process may use a different protocol, even when multiple processes are running on the same computing device.

A communication protocol typically adds "administrative" data to the beginning of a message. That nonmessage data is called a protocol header. A protocol header functions like an envelope or a packing label to describe the content of a message, its length, the identity of its sender or recipient, the time of day it was sent, and any other information that the communicating processes need to know about the message itself.

[ Previous Section ] [ Unit Contents ] [ Next Section ]