home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!uwm.edu!caen!sol.ctr.columbia.edu!hamblin.math.byu.edu!arizona.edu!mvb.saic.com!macro32
- Newsgroups: vmsnet.internals
- Subject: Re: call for half baked ideas
- Message-ID: <9212181659.AA17811@relay1.UU.NET>
- From: raxco!galaxy.dnet!gleeve@uunet.UU.NET
- Date: Fri, 18 Dec 92 10:17:46 -0500
- Organization: Macro32<==>Vmsnet.Internals Gateway
- X-Gateway-Source-Info: Mailing List
- Lines: 98
-
- A new VMS filesystem and I/O call standard needs to have a number
- of things.
- 1. ODS-2 and the $qio service need to be supported as is, but possibly
- by compatibility routines and not necessarily on all volumes. I would
- be very unsurprised to see ODS-2 occupy the same position eventually
- in a new system as ODS-1 does on VAX-VMS...usable, supported, but
- not commonly used except for communication. The system should be able
- to support different file structures at least as well as can now
- be done by ACPs and XQPs. Ultimately it should be much easier to
- support them this way; I would love to see such capabilities for
- support offered that would understand such file systems as:
- * BSD Unix
- * MSDOS
- * RT-11 (limited, but for some realtime applications it is a very
- fast performer.)
- in addition to such newer ones as become available.
-
- 2. The filesystem code needs to look at work going on in unixoid
- systems with journalling filesystems and file systems where file
- locations are not strongly bound to physical locations but can
- migrate around networks. This implies that remote access methods
- are well understood by the I/O system so that the complications of
- files being open or not don't produce so much pain as they now
- do and so file physical location can be altered to handle traffic
- patterns, new I/O devices and techniques, and so on, without having
- to shut things off/down first as presently.
-
- 3. Access monitoring needs to be reconsidered. The ACLs we have in
- VMS are very nice, but if you think a bit you conclude that there
- are many more questions you can ask about whether person A should be
- able to access object/file B. For starters consider things like
- login terminal checks in unix, or file passwords in MVS as asking
- additional questions like "where's this user coming from now?" or
- "Can I be EXTRA sure he is who I think he is?". These kinds of
- questions should be extensible; some files that are very critical
- to a business ought to have better protection than others.
-
- 4. For sequential file access, users should have something as easy
- to use as the TOPS-10 open/read/write/close services. I approve of
- having a standard ISAM facility and so on, but would like a
- smaller facility and would prefer to usually have and need no metadata
- in my files, as variable record length has now. (This would also get
- rid of some of the artifacts like 32767-byte maximum record size
- which we now have.)
-
- 5. There should be plenty of places where an I/O service has
- defined interfaces, as now, so that extra functions can be added
- as needed; nobody will think of all such from the beginning.
-
- 6. The $qio model is not a bad one to have, and I am comfortable with
- it. Extensions (which had better be asynchronous in nature) might
- do well to have facilities for easier use as bidirectional and
- partly externally directed streams, and maybe one should think
- of an I/O service in terms of "connect to datastreams". It may be
- unwise to replace $qio with another service able to set a bit to
- open the back door or mow the lawn, though, but just stick with
- $qio and itemlists, adding some functions where needed to the driver
- interface. A simplified service for sequential activities where
- not much variability exists would however be a real good thing.
- Such a service could have many less arguments for the exec to
- check, which ought to make it a bit faster. Since such a service
- could be new, maybe one should have a variant that allows things
- like input from outside always into the same buffer space (once
- you know the buffer is legal, no rechecks) or queue. If the buffer
- to use were system allocated (remember RSX block mode I/O with
- "location mode"?) lots of DMA setup operations might be avoided
- in such a case. You'd still need something as general as $qio for
- really peculiar devices, and there'd need to be some notion of a
- common driver interface, but user mode code would be much easier.
-
- 7. That said, I'm still uncomfortable with all the things the
- terminal driver has to do. It might be time to rethink that
- interface and ask whether something simpler could be used
- with user callouts to let the complex stuff be handled outside the
- main driver stream. This might mean you'd have areas mapped to
- an exec as well as a user process or some similarly weird
- thing, but in a 64 bit address space that should not be too hard
- to manage.
- Maybe it would be possible to think about adding at least some
- rudimentary data scrambling between network terminal multiplexors
- and CPUs this time, to defeat at least the simple minded PC based
- network monitors which can now pick passwords etc. off ethernet lat
- streams so readily. Promiscuous mode Ethernet is like a hardware
- assisted wiretep...but it's gotten so you almost have to use Ethernet
- to get into a VMS box. Even a simple xor with some bitstream that
- could be altered once in a while would be just fine to keep most
- of the curious out, and in big companies, it's usually infeasible to
- keep PC, workstation, or mac taps off the common ethernets. We do
- NOT need some superstrong algorithm...but some bit of scrambling
- would help a lot in the real world.
- Obviously we're not about to get the standards for Telnet changed,
- and I don't intend to suggest such...merely that a start anywhere
- we can start will be good. LAT might be something to consider...it
- does get bridged wide area in many places...
-
- So much for my half-baked ideas about this...
- Glenn Everhart
- Everhart@Raxco.com
-