Operating System Support

For reliability, flow control etc., we need agreed protocols. Some systems go one step further, and agree meta-protocols, with which they negotiate which protocols to use. What is a protocol? First and foremost, it is a set of agreed rules on what is meant by each unit of data exchanged - i.e. it is the encoding or agreed meaning for bits/bytes/words exchanged. Examples of such rules are: Some agreed formats in protocols include the way in which a data item is represented in a host depends on the the language used to describe the object, the compiler and the hardware base. In heterogeneous systems, all three of these may vary across machines. Thus a common base is needed for describing objects (;SPM_quot;Abstract Syntax;SPM_quot;) and exchanging them over the network (;SPM_quot;Concrete Syntax;SPM_quot;). This same language can be used to describe the control information in protocols as well. It is sometimes also known as External Data Representation. Rules for protocols, as with a human conversation are a set of agreements for structuring communication between parties. Examples of such structurings are: To make conversations, or lectures (!), possible, we have some rules or protocols. Examples of such structures are: You should note that each end point of a communication session is autonomous, that is they can decide to stop or start talking at any time they wish, or to interrupt an other party and so on. This is concurrency, and is what makes the design and implementation of protocols difficult. ;SPM_quot;An example of some (pretend) protocol behavior;SPM_quot; To illustrate various aspects of communication in a very common place situation. verbatim1 This illustrates the problems of : These protocols are often implemented within the operating system. However, we must distinguish between the protocol and the service. The next section discusses the idea of service, and <#158#> behavioral equivalence<#158#> of services. This is discussed further in chapters 5 and 6. Lastly, there must be a set of rules for how to solve problems of communication. These we address next.