20 ;;Quote: design distributed system as services offered by servers and negotiated by clients; only need to specify communication
|
20 ;;Quote: client/servers need protocols for naming, objects, operations, and transport-level data communication
|
20 ;;Quote: a single machine operating system is like a centrally planned economy; a distributed o.s. is like a free market
|
20 ;;Quote: the V kernel is derived from Thoth and Verex
|
21 ;;Quote: V's 'send' is a remote, call by value-result of a 32-byte message to a process
|
21+;;Quote: V's 'send' can pass read or write access to a segment of process memory
|
23 ;;Quote: since V can pass access to a segment, the recipient can control how much gets transmitted and where the data is stored; e.g., for debugger
|
23 ;;Quote: in Thoth and V, messages are for communication and processes are for concurrency
|
23+;;Quote: in V, create additional processes if need additional concurrency in message sending
|
23+;;Quote: nonblocking message sending increases concurrency at an excessively high cost
|
24 ;;Quote: all client/server communication via V kernel IPC facilities; for protection and autonomy
|
24+;;Quote: a V server can process messages in any order; for scheduling flexibility
|
24 ;;Quote: with message-passing, have two forms of intermodule communication--calls and messages; only the later can be remote
|
24 ;;Quote: the increased flexibility of a remote procedure for any call is not worth the increased performance cost
|
25 ;;Quote: V uses time servers to serialize access to resources; better than monitors since independent of client
|
26 ;;Quote: broadcast is important for distributed systems for advertising needs and services and for coordinated problem solving
|
26 ;;Quote: notification and queries need broadcast to convey results and locate services; e.g., reduces demand on centralized directories
|
26 ;;Quote: messages to a group are reliable if at least one message is delivered and at least one reply returned; otherwise best effort
|
26 ;;Quote: reliable notification by a logger process that handles all messages; logs messages; adds an issue number to published notices (archived)
|
26 ;;Quote: the V kernel has a large range of fixed, well-known group IDs; e.g., for file servers
|
27 ;;Quote: a V process is created as 'awaiting reply'; allows creator to pass its initial data
|
27 ;;Quote: destruction of a V process also destroys all processes that it created
|
27 ;;Quote: a V process belongs to a 'team' of processes that share an address space
|
31 ;;Quote: V uses a block abstraction of I/O with the client implementing byte streams; matches network packets and disk sectors
|
31 ;;Quote: V reads and writes blocks without a file position; idempotent transactions allows kernel to ignore reply messages
|
31+;;Quote: V stream devices, e.g., terminals, must store the last block to provide idempotent transactions
|
33 ;;Quote: the V kernel is about 50K bytes of code and data on a Motorola 68000
|
33 ;;Quote: V passes an exception hardware interrupt to the current process; it forwards the exception to an exception server; moves out of kernel
|
33 ;;Quote: V's exception server passes an exception to the registered handler for the corresponding process; otherwise invokes debugger
|
35 ;;Quote: V process ids are unique within a V domain, i.e., a local network
|
35 ;;Quote: a V process id consists of a logical host id and a local process index; for locating host when sending a message
|
41 ;;Quote: V kernel IPC file access is efficient enough for file transfer and terminal protocols; depends on high data rate, low delay and errors
|