From: utzoo!decvax!cca!ima!johnl Newsgroups: net.unix-wizards Title: Re: microsoft's answer to dot files Article-I.D.: ima.244 Posted: Fri Oct 29 16:46:00 1982 Received: Sat Oct 30 03:22:24 1982 Forwarded from Mark Kampe, ima!ism780!mark Part of our efforts at INTERACTIVE have been directed towards making system management easier by localizing the important system information in a small number of places. Like Berkeley and Microsoft, we want to allow system managers a great deal of freedom in tailoring their devices and defaults. Unlike Berkeley and Microsoft, we wanted to avoid a profusion of files and syntaxes. We also wanted to avoid the error prone complexities of forcing a system manager to update multiple files or perform some post-processing operation on the files after editing them. Our solution is based on "attribute structured files". These files all have a uniform syntax and are maintained in ASCII form. There is a set of simple querry routines for extracting information from these files, so it is easy for programs to use them also. We use these files (the same syntax) for many different applications. The files consist of named stanzas, each containing a series of attribute=value statements. The syntax provides for multiple and default vaues. Two attribute structured files that are directly relevent to this discussion are /etc/filesystems and /etc/ports. ***/etc/filesystems*** default: mount = true check = true free = true vol = ISC001 cyl = 608 skip = 12 dumpdev = /dev/rmt8 dumpden = 1600 /: dev = /dev/hp0 size = 12300 check = 1 /a: dev = /dev/rp9 size = 45600 /70sccs: dev = /dev/rp1 size = 62016 /oldsrc: mount = true,readonly dev = /dev/rp2 size = 62016 All file system relevent programs accept file system names or device names, and use /etc/filesystems to map between them. All programs that need to know file system parameters get them from this file. All defaults come from this file. In general, adding a new file system is as simple as add a stanza such as /newfs: dev = /dev/rp4 size = 32000 typing the two commands mkfs /newfs mount /newfs And from then on, it will be mounted, dumped, checked and everything else by default. ***/etc/ports*** default: enabled = true erase = 010 kill = 025 speed = 9600 herald = "\r\nINTERACTIVE System/Three: ISM780\r\nlogin:\007 " logger = /priv/login printer = diablo term = intext2 /dev/console: speed = 1200 /dev/tty00: /dev/tty01: * This port is bad for some unknown reason, should be researched * it seems to generate alot of noise when disconnected /dev/tty03: enabled = false /dev/tty17: speed = 1200 parity = none, odd+inpck, even+inpck term = dialin super = false /dev/tty50: loc = "ftp/INnet link to ISM1" program = "/etc/ftplogger -pw -r4" speed = 4800 /dev/ipl0: enabled = false loc = "ftp/INnet link to ISM70" program = "/etc/ftplogger -pn" Init and getty find out everything they need to know about a terminal from this file. The last two stanzas show how the file is also used to control non-login ports. The attributes of all communication ports and all of their associated daemon processes are also controlled from this one file. A complete description of all of the parameters and how they can be used would be rather voluminous (that is why we have a system manager's handbook), but the important punchlines are: 1) all information about a type of system resource is localized in one file. 2) the file is human readable and human modifiable. 3) there are always reasonable system defaults and the system manager can impose his own defaults 4) in most cases, changing the entry in that file is the only thing that has to be done. 5) all programs and system management utilities get everything they know out of those files. 6) we use the same syntax and query routines for system management databases system ports (incomming and outgoing) file systems queuing system queues and devices word processing configuration 7) the query routines are generally available and are used by many applications developers as well. ---mark--- -------- --------