Thread View: vmsnet.internals
2 messages
2 total messages
Started by raxco!galaxy.dnet!gleeve
Fri, 18 Dec 1992 15:17
Re: call for half baked ideas
Author: raxco!galaxy.dnet!gleeve
Date: Fri, 18 Dec 1992 15:17
Date: Fri, 18 Dec 1992 15:17
98 lines
5979 bytes
5979 bytes
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
Re: call for half baked ideas
Author: Carl J Lydick
Date: Sat, 19 Dec 1992 11:14
Date: Sat, 19 Dec 1992 11:14
66 lines
3659 bytes
3659 bytes
In article <9212181659.AA17811@relay1.UU.NET>, raxco!galaxy.dnet!gleeve@uunet.UU.NET writes: >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, You CAN do login terminal checks under VMS. It's not that hard. Here's one strategy: Have an image invoked by SYS$SYLOGIN: that: 1) Checks to see if a certain JOB logical has been defined; if it has, exit; 2) Defines the aforementioned logical name; 3) Grants identifiers, based on a database. Now, of course, given the way LOGINOUT currently works, you've got a potential problem with a user who logs in, DISCONNECTs, and logs in again from elsewhere, and I'd like to see an option to have LOGINOUT: 1) Do a $FORCEX; and 2) Run a special procedure (e.g., SYS$CONNECT:) when a user logs in and connects to a disconnected process. >or file passwords in MVS as asking This sort of functionality is sort of available by encrypting files. >additional questions like "where's this user coming from now?" See my comments about the enhancements I'd like on LOGINOUT.EXE. >"Can I be EXTRA sure he is who I think he is?". Encryption, again, can do this. > >4. For sequential file access, users should have something as easy >to use as the TOPS-10 open/read/write/close services. Why don't you think RMS is easy to use? The only time I can think of where I/O at the $QIO level gets cumbersome is for disk files, and in those cases, I can almost always use RMS with the FAB$M_UFO bit set to accomplish what I want. Yes, it takes a bit of practice to learn how to use it, but once you're used to it, it's really not all that cumbersome. >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. Learn to $CREATE your files as stream files. It's NOT that difficult. >(This would also get >rid of some of the artifacts like 32767-byte maximum record size >which we now have.) You think so? How is RMS (or its equivalent) to know how large a record it might be dealing with? For that matter, there's no real reason (except for overhead) that RMS couldn't be modified to use a longword for record length instead of a word, when dealing with files that don't have variable-length records. -------------------------------------------------------------------------------- Carl J Lydick | INTERnet: CARL@SOL1.GPS.CALTECH.EDU | NSI/HEPnet: SOL1::CARL Disclaimer: Hey, I understand VAXen and VMS. That's what I get paid for. My understanding of astronomy is purely at the amateur level (or below). So unless what I'm saying is directly related to VAX/VMS, don't hold me or my organization responsible for it. If it IS related to VAX/VMS, you can try to hold me responsible for it, but my organization had nothing to do with it.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads