Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!lll-lcc!seismo!mcvax!botter!ast From: a...@botter.UUCP Newsgroups: comp.os.minix Subject: Misc. comments and a proposed protocol Message-ID: <1089@botter.cs.vu.nl> Date: Fri, 6-Mar-87 17:26:49 EST Article-I.D.: botter.1089 Posted: Fri Mar 6 17:26:49 1987 Date-Received: Sun, 8-Mar-87 16:29:08 EST Reply-To: a...@cs.vu.nl (Andy Tanenbaum) Distribution: world Organization: VU Informatica, Amsterdam Lines: 110 For those of you who don't subscribe to news.groups, Brian Reid of DEC collects statistics on USENET. Sites send him reports about groups read locally, and he has software that prints the TOP 40 and BOTTOM 20 in order of readership, traffic, etc. These reports are posted monthly. For February, comp.os.minix was # 36 in readership out of 224 news groups. There are an estimated 10,000 readers worldwide, which ties it with soc.singles. Within one month of its inception, MINIX has become as popular as sex. The drawing of conclusions is left as an exercise for the reader. Let me explain the command line limit problem exactly. It was explained in an earlier posting by someone else, but it wasn't quite right (but it was close). The logical way to handle the exec system call in MINIX would be to pass the arg and envp pointers to MM and let it fetch all the args and strings. This is slow in MINIX, so I wrote exec(2) to build the initial stack frame inside the calling program, and just send a pointer to it to MM. MM Then picks it up in one operations. The buffer in which the initial stack frame is built is 1K. This means that a command like "ls *.c" in a directory with a few hundred .c files will generate more argument strings than fit in 1K, and the exec call fails, so the shell says ls: can't execute. The fix is to make the 1K buffer into a 2K buffer, and fix the size in MM. This makes all programs using exec 1K larger. I didn't think it was worth it, but if you want to change it, now you know how. I haven't finished checking out the new -i flag to asld to support separate I & D space, but so far it seems to work. I have compiled the whole operating system with kernel, MM, and FS using -i and it works. I will keep testing it and when I am done will distribute the new asld binary. P-H has promised me that that they will be shipping diskettes by March 13. Sorry it has taken so long to get geared up. You wouldn't believe how complicated it is. P-H has farmed the manufacturing out. One company does the diskettes, another does the diskette labels, another does the plastic box they come in, ... As large numbers of people get the code, people will find bugs. I would like to propose a bug protocol to make the reporting and fixing of bugs less confusing. 1. If you find a bug in the file prog.c, post a message with subject line: Report of bug in prog.c 2. If you have a fix to some bug (including a bug that you yourself are reporting), make the subject line: Fix to bug in prog.c 3. Only one bug report per posting. Many people will keep the bug reports in mailboxes. By typing h a to msg you get a list of all the subject lines, so with these conventions it will be easy to find things. 4. Once a bug fix has been reported, it would be nice to have it referreed, like journal articles. If you feel like installing a fix and testing it, by all means do so, and then report back with a posting, one bug per posting, with the subject line like: Smith's fix to prog.c is ok or Smith's fix to prog.c doesn't work The body of the message can be quite short, telling, for example, on what machine you tried it, if that is relevant (e.g., for a printer driver fix, which printer you used). After you have seen half a dozen people confirm that Smith's fix is indeed correct, don't post any more confirmations. When testing a fixed program, be sure to test all its features and options, because the fix may correct one bug but introduce another one. 6. UNIROT has offered space for an archive. I would suggest that only fixes refereed in the above way be archived. It would be nice if the machine could have an archive server that works like Brian Reid's mod.recipes server. You send it the bug number and it sends you a message containing the bug report, the fixes, and the referees reports. Bug 0 should be a list of all the subject lines of the bug reports, numbered with their archive number. If any one else wants to run an archive service like this, it would be very useful. Anyone interested should ask Brian Reid about the availability of his archiving software. It is very clever, with automatic features to prevent any one person from using up too much bandwidth (the more you request, the worse your response time, and breaking up a big request into many little requests doesn't help). His address is r...@decwrl.dec.com 7. As MINIX gets distributed, it would be very helpful to have people report on their experiences on various clones. A subject line like: MINIX on the Southern Wombat 1000 would be appropriate here. In these reports, tell what you configuration is, how many megahertz you have, printer type, etc. Anyone interested in collecting these and posting the results as a nice clean table later? I have gotten hundreds of pieces of mail on MINIX, and many queries about whether it works on some particular machine. I rarely know, but at some point if we have a single file telling where it works and where it doesn't I am sure that would be helpful. I am going for an airplane ride again. I will be keynote speaker at the Sixth Symposium on Reliability in Distributed Software and Database Systems in Williamsburg Va. on March 18. That talk will be about "Reliability in ..." I am also going to be at Georgia Tech March 10, Yale March 12, and Stony Brook March 16. When I get back on March 20, I am going to France a couple of hours later. Conclusion: I won't be answering any mail until April, and if my previous trip is any guide, the overflow bit on my mailbox will be set when I get back. For those of you going to the EUUG conference, I will also be keynote speaker there on May 13. That talk will be about MINIX. The EUUG conference will be held on a boat sailing between Helsinki and Stockholm. This will be one of the few UNIX conferences with its own taxfree shop selling intoxicating beverages. If the talks get boring, you can go get drunk. Stockholm and Helsinki are both beautiful cities and well worth visiting. Andy Tanenbaum (a...@cs.vu.nl)