Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site sjuvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!sjuvax!jss From: jss@sjuvax.UUCP (J. Shapiro) Newsgroups: net.unix Subject: Re: more on file \"attributes\" Message-ID: <1238@sjuvax.UUCP> Date: Mon, 5-Aug-85 00:29:25 EDT Article-I.D.: sjuvax.1238 Posted: Mon Aug 5 00:29:25 1985 Date-Received: Tue, 6-Aug-85 08:54:08 EDT References: <3403@decwrl.UUCP> Organization: Haverford College, Haverford, Pa. Lines: 37 Mr. Campbell has one point, at least, which should not be ignored. UNIX is badly in need of some sort of semaphore structure for use between processes which do not know about each other. Without this facility, it would be very difficult to write a library which could provide reliable record locking, which is one of the facilities he needed which is sorely lacking in current UNIX. It seems to me, after admittedly very little thought, that one of two things is needed: 1) some sempahore facility which would have a namespace which would allow owner/group/world read/write priviledges. This would actually be generally useful, and current file primatives do not provide this facility in a resource efficient or reliable manner. 2) a block level lock on a file, either physical block or logical block, preferably physical. The first facility, I believe, is to be greatly preferred. Please, arguments about using pseudo devices or files in the file system or pipes/sockets/wombats-carrying-postcards don't wash. These are neither resource efficient nor portable. The semaphore facilities necessary are not hard to implement (I have done them myself on other systems), and would help a great deal in solving many problems of record access, which contrary to popular opinion in UNIX land constitutes a great deal of what is done out in the real business world. To my knowledge, all of the database systems providing for reliable record access do this by circumnavigating UNIX, which seems to me to be a bit of a waste. I enjoy using UNIX as a development environment, and I believe that 99% of its ideas are in theory right, but it has a few shortcomings. Others have noticed the process synchronization shortcomings. Has anyone done anything about them? Jon Shapiro Haverford College