Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!hp4nl!star.cs.vu.nl!ast From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.misc Subject: Re: More questions about Amoeba and Capabilities Message-ID: <10238@star.cs.vu.nl> Date: 18 Jun 91 09:46:50 GMT References: <2623@amix.commodore.com@ Sender: news@cs.vu.nl Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam Lines: 35 In article <2623@amix.commodore.com@ skrenta@amix.commodore.com (Rich Skrenta) writes: @Two questions for fans of Amoeba or other capability-based systems. @ @Question #1: @ @An Amoeba server is only listening on a port if it is blocked in a @get_request(port, ...) call. Does this mean that if the server runs @out of threads executing get_requests that the service appears to vanish @to prospective clients? If all the threads stay busy until the client times out, yes. In Amoeba 6.0 this property will go away, and the machine will remember ports even when no threads are listening. This will be achieved by a new system call that announces ports to the kernel (set_port_list). @Question #2: @ @The bullet file server returns a capability when you ask it to create a @file. The capability must be presented to perform operations on the file @such as read, write and delete. @ @ capability = create_file(...); @ @Presumably you're supposed to add this capability to a directory or otherwise @responsibly manage it. But what if you "lose" it? It will eventually be garbage collected. Normally you access the servers through standard library routines that take care of registering capabilities in directories for you, so they don't get lost. If you make the low-level calls directly, then you have to be careful not to lose them. Andy Tanenbaum (ast@cs.vu.nl) P.S. Please excuse use of @ for >. Necessary to trick stupid program into