47 ;;Quote: Amoeba gives users illusion of a single timesharing system even though it is implemented on hundreds of processors
|
47+;;Quote: Amoeba assumes the normal case is processes on different machines; optimizes for distributed system
|
48 ;;Quote: Amoeba assigns a 128- or 256-bit capability to every object; contains server port, object number, rights field, and check field
|
48+;;Quote: Amoeba verifies an owner capability with full rights by comparing check field with table entry
|
48+;;Quote: Amoeba verifies a derived capability with partial rights by checking the one-way function of the xor of rights field with table entry
|
49 ;;Quote: Amoeba clients access a server by remote procedure call; call can return 'success', 'not delivered or executed', or 'unknown'
|
49 ;;Quote: despite lost messages and crashed servers, Amoeba guarantees that all messages are delivered at most once
|
49+;;Quote: Amoeba's remote procedure call returns 'unknown' when a request was sent but no reply occurred; e.g., the server crashed
|
50 ;;Quote: Amoeba has an interface language for specifying remote procedure calls; e.g., marshalling code and numeric data representation
|
50 ;;Quote: Amoeba avoids race conditions by letting all threads run to completion; non-preemptive, like co-routines
|
50 ;;Quote: a stunned process has not started, or under debugging or migration; gives system requirements, address space, thread state, client ports
|
50 ;;Quote: initiate a process by sending a capability for accessing arguments and environment; returns a capability for the new process
|
52 ;;Quote: all Amoeba files are stored contiguously on disk and in memory
|
52 ;;Quote: Amoeba's bullet server keeps the i-node table in memory; records the file's cache address if any
|
53 ;;Quote: Amoeba handles replicated objects by storing and retrieving the capabilities for multiple copies; a client can try each one
|
53 ;;Quote: Amoeba duplicates the directory server; can bring one down, install new software, and the update the other server
|
53 ;;Quote: an Amoeba domain is an interconnected collection of local area networks; broadcasts to every machine in the domain but none outside; e.g., for locating a port
|
53 ;;Quote: an Amoeba service is made available outside of its domain by publishing its port through SWAN; spread by RPC to other SWAN processes
|
56 ;;Quote: Amoeba file reads are 2-3 times faster than Sun NFS; large file writes are faster; capability overhead is constant
|
56+;;Quote: short Amoeba RPCs are 6 times faster than Sun's RPCs; large RPCs have 2 times the bandwidth
|
58 ;;Quote: capabilities provide a unique, secure, system-wide, fixed length name for each object
|
58+;;Quote: unique, system-wide names by capabilities better than symbolic links and remote mounting
|
58+;;Quote: a unique, system-wide name for an object provides world-wide, transparent access and simple directories
|
58 ;;Quote: in a large system, capabilities will leak out; but a compromised capability only affects the security of one object
|
59 ;;Quote: Amoeba will support reliable multi-cast with all on none delivery; same price as RPC (two messages per reliable broadcast)
|
59+;;Quote: reliable broadcast is useful for replicated databases and other applications
|
59 ;;Quote: an earlier version of Amoeba has asynchronous RPC; a dreadful decision, impossible to program
|
59 ;;Quote: non-preemptive process threads were a bad mistake in Amoeba; mistakes about blocking, poor multi-processor implementation; removed
|
60 ;;Quote: Amoeba doesn't have timeouts for remote operations; allows file server to block the memory server, but prevents race conditions
|
60 ;;Quote: Amoeba has separate file and directory servers; one handles storage, the other naming and protection; works well
|
60 ;;Quote: Amoeba's directory server provides lazy, automatic replication of immutable files; copies can be regenerated if needed
|
60 ;;Quote: Amoeba's file server performs garbage collection by touching every file every k days and deleting a file if not accessed in n days (n>>k)
|
60+;;Quote: Amoeba creates a file and its directory entry in separate operations; garbage collects if inaccessible (may be impractical for a huge system)
|
61 ;;Quote: although Amoeba had a smaller, faster window system, had to replace it with X-windows
|
61 ;;Quote: Amoeba capabilities are vulnerable to intruders; may need link encryption; if so, are capabilities needed?
|