Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 211238da6d926d1ca4390483bb29f586 > files > 18

coda-doc-5.2.0-4mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE> The Venus kernel interface: Introduction </TITLE>
 <LINK HREF="kernel-venus-protocol-2.html" REL=next>

 <LINK HREF="kernel-venus-protocol.html#toc1" REL=contents>
</HEAD>
<BODY>
<A HREF="kernel-venus-protocol-2.html">Next</A>
Previous
<A HREF="kernel-venus-protocol.html#toc1">Contents</A>
<HR>
<H2><A NAME="s1">1. Introduction </A></H2>

<P> 
<P>A key component in the Coda Distributed File System is the cache
manager, <EM>Venus</EM>.  
<P>When processes on a Coda enabled system access files in the Coda
filesystem, requests are directed at the filesystem layer in the
operating system. The operating system will communicate with Venus to
service the request for the process.  Venus manages a persistent
client cache and makes remote procedure calls to Coda file servers and
related servers (such as authentication servers) to service these
requests it receives from the operating system.  When Venus has
serviced a request it replies to the operating system with appropiate
return codes, and other data related to the request.  Optionally the
kernel support for Coda may maintain a minicache of recently processed
requests to limit the number of interactions with Venus.  Venus
possesses the facility to inform the kernel when elements from its
minicache are no longer valid.
<P>This document describes precisely this communication between the
kernel and Venus.  The definitions of so called upcalls and downcalls
will be given with the format of the data they handle. We shall also
describe the semantic invariants resulting from the calls.
<P>Historically Coda was implemented in a BSD file system in Mach 2.6.
The interface between the kernel and Venus is very similar to the BSD
VFS interface.  Similar functionality is provided, and the format of
the parameters and returned data is very similar to the BSD VFS.  This
leads to an almost natural environment for implementing a kernel level
filesystem driver for Coda in a BSD system.  However, other operating
systems such as Linux and Windows 95 and NT have virtual filesystem
with different interfaces.
<P>To implement Coda on these systems some reverse engineering of the
Venus/Kernel protocol is necessary.  Also it came to light that other
systems could profit significantly from certain small optimizations
and modifications to the protocol. To facilitate this work as well as
to make future ports easier, communication between Venus and the
kernel should be documented in great detail.  This is the aim of this
document.
<P>\newpage
<HR>
<A HREF="kernel-venus-protocol-2.html">Next</A>
Previous
<A HREF="kernel-venus-protocol.html#toc1">Contents</A>
</BODY>
</HTML>