john@basser.oz (John Mackin) (04/04/86)
In article <127@sering.mcvax.UUCP> dpk@sering.UUCP (Doug Kingston) writes: > I use BLIT terminals and SUN-like > workstations every day. However, this does not mean I want to give > up the ability to STOP and RESTART jobs. [...] > In order to get a consistent coredump > you must insure the process is NOT running. Job control allows you > to accomplish just that. It is then possible to safely collect the > processes context from /dev/*mem (using the "gcore" program in 4.2BSD). > You can then continue the process afterwards with no ill effects. > [...] > In summary, look at the broader uses of BSD job control before condemning > its usefulness. Its not just for allowing simultaneous processing. [...] > I believe that the BSD facilities and many more are > provided through /dev/proc on V8 Unix, although they may not be as efficient. Well. First of all let's split some hairs. [Please note that I'm not attacking you or your posting, but I do value correctness... ok, I'm pedantic.] I do not think you use Blit terminals (note correct capitalization) every day. I am quite certain that what you mean is that you use Teletype DMD5620 terminals every day. A Blit is a research terminal, manufactured first at Bell Research and then by Teletype exclusively for Bell Research. No Blits have ever been sold commercially. They have a 68000 cpu and 256K of ram which cannot be expanded. Blits have a VT-100 style keyboard; the key layout is precisely the same as a VT-100. The Teletype DMD5620 is a commercial product. It has a WE32000 cpu and 256K of ram which can be expanded to 1M. It has a completely different keyboard, with white, low-profile keys. I emphasize this because I am typing this on a Blit. We have an Eighth Edition license and Bell Research have donated 12 Blits to us. The Teletype DMD5620 can be unambiguously referred to as: a 5620 (probably best), a dmd (popular with SysV'ers) and a dud (but not many people outside the Labs call them that). The term "jerq" should be avoided as it can refer to either a Blit or a dud depending on context (to a person at the Labs, it means a Blit; to a person at a non-Labs V8 site, it probably means a dud). Also on terminology, you refer to /dev/proc. The conventional mount point of the Eighth Edition process file system is /proc. I do not believe anyone ever mounts it on /dev/proc. Now that I've got that out of the way, let's go on to discuss so-called job control. The whole point about Berkeley job control is, it is a massive hack. Witness the huge number of user-mode programs that had to be modified to know about SIGTSTP, etc. Not to mention the far-reaching kernel modifications. I think we can agree that a window system *in which the user program need have no idea that it is running in a window* is much better. You say as much, but then you say you still want to be able to stop and restart processes. On V8, that is as easy as opening the process' /proc entry and doing a single ioctl(). No harder than doing a kill(). For the purposes you say you use the facility, having it generated from a character typed on the controlling terminal (^Z) is pretty pointless. So there's no clear advantage there. I'm not sure what you mean by saying that the V8 ways of doing things ``may not be as efficient''. I think it's pretty clear that the number of milliseconds it takes to stop a process doesn't matter at all, given the very low frequency with which it is done; and in any case, it's not clear that V8 will do this any less efficiently than other systems. And if you mean efficient in terms of efficient for the user -- believe me, V8 is by far the best UNIX environment I've ever used (I've used quite a few). The software you get for 5620's with the SysV layers package, or with BSD, is nowhere near as nice as that under V8. Please don't judge Eighth Edition on the basis of inferior imitations. As far as stopping, making a core, and restarting goes, or in general for debugging anything, may I recommend the V8 debugger, ``pi''. I could easily use too many superlatives talking about pi. Let me just say that it is a lot more satisfying to be able to dynamically bind the debugger to any process in the system, *while it is executing*, and set breakpoints, examine its stack, ... than to take a core dump and prod that. (Of course you can simply stop the process, too.) Think of it this way: there's a certain beauty in surgery, but autopsies just stink. John Mackin, Basser Department of Computer Science, University of Sydney, Sydney, Australia seismo!munnari!basser.oz!john john%basser.oz@SEISMO.CSS.GOV
gwyn@brl-smoke.ARPA (Doug Gwyn ) (04/04/86)
In article <559@basser.oz> john@basser.oz (John Mackin) writes: >In article <127@sering.mcvax.UUCP> dpk@sering.UUCP (Doug Kingston) writes: >> [omitted] >A Blit is a research terminal, manufactured first at Bell Research >and then by Teletype exclusively for Bell Research. I thought a little company in NY (whose name I forget) had the contract? Another significant difference between the Blit and the 5620 would seem to be the color of the display; didn't the Blit have a white phosphor? The word size difference shows up in the existence of both texture and texture16, yuck. >Also on terminology, you refer to /dev/proc. The conventional >mount point of the Eighth Edition process file system is /proc. >I do not believe anyone ever mounts it on /dev/proc. That's probably my fault; I have referred to this as /dev/proc a few times. It seemed to me that calling it /proc wouldn't convey the special nature of the /proc filesystem type. >You say as much, but then you say you still want to be able to >stop and restart processes. On V8, that is as easy as opening >the process' /proc entry and doing a single ioctl(). No harder >than doing a kill(). For the purposes you say you use the >facility, having it generated from a character typed on the >controlling terminal (^Z) is pretty pointless. So there's >no clear advantage there. ?? How do you get the /proc entry open etc. in the first place, except from a Blit-like terminal where you already have multiple processes? It seems to me you need to press some key on a normal terminal. >As far as stopping, making a core, and restarting goes, or in >general for debugging anything, may I recommend the V8 debugger, >``pi''. Yes, yes! When will this be generally available?
chris@columbia.UUCP (Chris Maio) (04/05/86)
In article <559@basser.oz> john@basser.oz (John Mackin) writes: >Now that I've got that out of the way, let's go on to discuss >so-called job control. The whole point about Berkeley job control >is, it is a massive hack. Witness the huge number of user-mode >programs that had to be modified to know about SIGTSTP, etc. >Not to mention the far-reaching kernel modifications. I think >we can agree that a window system *in which the user program >need have no idea that it is running in a window* is much better. > >You say as much, but then you say you still want to be able to >stop and restart processes. On V8, that is as easy as opening >the process' /proc entry and doing a single ioctl(). No harder >than doing a kill(). For the purposes you say you use the >facility, having it generated from a character typed on the >controlling terminal (^Z) is pretty pointless. So there's >no clear advantage there. Without a window system or a second terminal, how do you suspend foreground processes? How much extra work is involved in suspending an entire process group? And if there's no point in having a special character to suspend a process, why have one to kill a process? (Or to generate a core dump? Now *that* is strange.) In the TOPS-20 operating system, there is a special character to suspend a process group, but none to kill a process group -- TOPS-20 gives you roughly the same process manipulation capability as Berkeley job control with only a single interrupt character. Imagine that. The "huge number of programs that have to be modified to recognize SIGTSTP" is a poor argument, in my opinion. Sure, the shells and stty have to know about it, but (and correct me if I'm wrong) any other program modified to know about it has only been modified to make it more user-friendly (e.g. redrawing a curses screen), not because it was absolutely necessary. And surely this is no less work than modifying the same programs to know about window resizing under a window system (ideally they shouldn't have to, but you know that they will). There are other arguments that have been stated before. The bottom line for me is that regular users appreciate berkeley-style job control semantics and are loathe to give them up once they've used them, and windowing displays are always going to be more expensive than "dumb" terminals. Providing a flexible process control mechanism for the ordinary user seems to me a lot more important than providing fancy window systems; what do window systems have to do with UNIX anyway?
dpk@mcvax.uucp (Doug Kingston) (04/05/86)
John Mackin: I am very aware of the facilities in V8 and that it is a superior system to other UNIXes in most (all?) respects. However, it is totally unaccessable to my organization and 99.9 percent of the rest of the UNIX community. I like 'pi' too. We all enjoy and appreciate hearing about the new and interesting features or approaches taken in V8 or other UNIXes, but try to avoid "bragging". It just makes us angry. Give me /proc and I'll pitch BSD job control. Deal? Cheers, -Doug-
guy@sun.uucp (Guy Harris) (04/07/86)
> Now that I've got that out of the way, let's go on to discuss > so-called job control. The whole point about Berkeley job control > is, it is a massive hack. Witness the huge number of user-mode > programs that had to be modified to know about SIGTSTP, etc. > Not to mention the far-reaching kernel modifications. I think > we can agree that a window system *in which the user program > need have no idea that it is running in a window* is much better. Yes, a number of programs did have to be modified. Most didn't. Roughly 7% were modified. If you then drop in, say, a bunch of S5 (or V8, or whatever) programs, most of them need no modification. The programs that were modified were modified because: 1) they need to undo what they've done to the terminal if they get stopped (note that this doesn't just mean "clear the screen") and redo it when they're restarted (note that this doesn't just mean "redraw the screen") - this covers about 7 programs 2) they need to prevent themselves from being stopped while in a critical region - this covers about 4 programs 3) they need to be able to report what the signal that stopped a child process was - this covers about 2 programs 4) they need to set up the initial signal environment for a login session - this covers about 3 programs 5) they need to be able to control jobs - this covers 1 program ("halt" and "reboot" use it because they have to tell "init" something and "init" uses SIGTSTP for this; "init" uses it because it's there, not because it has any real significance.) Yes, it's a nuisance, but I don't think it justifies uncritical claims about how awful job control is because of "a huge number" of programs requiring modification because of it. Yes, I agree that a window system (which job control is NOT) which permits programs to run without having to know that they're in a window is better than one which doesn't. I rarely use job control here, because I have such a window system. However, bit-mapped terminals and workstations are expensive, and saying that thus-and-such a problem is solved completely and correctly by such machines is all well and good, but it doesn't mean that this solves everybody's problem or that no other solutions should be considered. (To give another example, it has been argued that terminals like Blits render the ^R control character and the "printing terminal erase" mode of 4.2BSD unnecessary. What they really mean is that such features are unnecessary *if you have something like a Blit*. Since not everybody does, such features are still useful.) > As far as stopping, making a core, and restarting goes, or in > general for debugging anything, may I recommend the V8 debugger, > ``pi''. I could easily use too many superlatives talking about > pi. Let me just say that it is a lot more satisfying to be > able to dynamically bind the debugger to any process in the > system, *while it is executing*, and set breakpoints, examine > its stack, ... than to take a core dump and prod that. (Of > course you can simply stop the process, too.) Think of it > this way: there's a certain beauty in surgery, but autopsies > just stink. Yes, I certainly agree. I'm not running V8 on my machine, but I can do this too. (We don't even have "/proc", but we do have some additions to "ptrace". Of course, it would be possible to implement "/proc" here using the "virtual file system" mechanism that the UNIX file system and the NFS file system are plugged in to.) Besides, autopsies may be a pain, but if someone wheels a corpse into your office and asks you what the cause of death is, you don't have much choice. -- Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.arpa (yes, really)
shannon@sun.uucp (Bill Shannon) (04/07/86)
John Mackin claims that it is a "bad thing" that some programs had to be modified when job control was introduced. Guy Harris pointed out that only a small handful of programs needed to be modified, very few of them simple user programs. While window systems solve many of the same problems that job control solves (in most cases with much better solutions than with job control), they also introduce new problems, just as job control did, because they break some basic assumptions in programs. One of the most basic assumptions broken by window systems is that a terminal has a fixed number of lines and columns. With a window system, the number of lines and columns in the "terminal" (i.e. window) can vary dynamicly, even while the program is running. To better accomodate this change, it is often desirable (and sometimes necessary) to modify some programs to react to window size changes. Just as with job control, we would prefer not to modify any programs. Yet the fact that we do modify some programs does not mean that there is something inherently wrong with either job control or window systems. Bill Shannon
karl@osu-eddie.UUCP (Karl Kleinpaste) (04/07/86)
In article <2350@brl-smoke.ARPA> gwyn@brl.ARPA writes: >In article <559@basser.oz> john@basser.oz (John Mackin) writes: >>In article <127@sering.mcvax.UUCP> dpk@sering.UUCP (Doug Kingston) writes: >>> [omitted] > >>A Blit is a research terminal, manufactured first at Bell Research >>and then by Teletype exclusively for Bell Research. > >Another significant difference between the Blit and the 5620 would seem >to be the color of the display; didn't the Blit have a white phosphor? No. They have green phosphor screens, too. However, old-style Blits were stuck with nothing but black-on-green, whereas 5620s have a setup menu selection to pick black-on-green or green-on-black. I can't take a mostly-green screen for any length of time; everything looks red when you look away from the terminal, and depending on how long you were staring at your terminal, that redness can stick with you for quite some time. This is especially true in the early morning for me; by late afternoon, my eyes are so frazzled that they don't care what they see any more. -- Karl Kleinpaste
wjb@goanna.OZ (Warwick Bolam) (04/08/86)
> In article <127@sering.mcvax.UUCP> dpk@sering.UUCP (Doug Kingston) writes: > > > I use BLIT terminals and SUN-like > > workstations every day. However, this does not mean I want to give > > up the ability to STOP and RESTART jobs. [...] > > [...] > > In summary, look at the broader uses of BSD job control before condemning > > its usefulness. Its not just for allowing simultaneous processing. [...] All the discussion of what a hack job control is and how it imitates a windows system and hence should be thrown away is a bit annoying to those of us using 80*24 character terminals. One day we'll all have Suns or 5620's, or something similar. Until then, job control is a *very* useful hack. Warwick Bolam Dept of Computing Royal Melbourne Institute of Technology Melbourne, Victoria AUSTRALIA seismo!munnari!goanna.oz!wjb Usenet munnari!goanna.oz!wjb@SEISMO.ARPA ARPANET
tim@ism780c.UUCP (Tim Smith) (04/09/86)
In article <3460@sun.uucp> shannon@sun.uucp (Bill Shannon) writes: > One of the most basic assumptions broken by window systems is > that a terminal has a fixed number of lines and columns. With a > window system, the number of lines and columns in the "terminal" > (i.e. window) can vary dynamicly, even while the program is > running. To better accomodate this change, it is often desirable > (and sometimes necessary) to modify some programs to react to > window size changes. I think that a window should have both a logical and a physical size. When the user resizes a window, that would only change the physical size - the logical size would stay the same. If the physical size is smaller than the logical size, the windowing system should put in scroll bars. Programs need not know that the physical size has changed. Programs that want to know the physical size would be able to ask, but programs written for terminals with fixed sizes would still work. -- Tim Smith sdcrdcf!ism780c!tim || ima!ism780!tim || ihnp4!cithep!tim
dennis@utecfc.UUCP (Dennis Ferguson) (04/09/86)
In article <559@basser.oz> john@basser.oz (John Mackin) writes: > [...] I am typing this on a Blit. We have > an Eighth Edition license and Bell Research have donated 12 > Blits to us. The Teletype DMD5620 can be unambiguously > referred to as: a 5620 (probably best) [....] I am typing this on a rather dumb 24x80 terminal. Approximate value is $400. I have showed your message to just about everyone around here with funds but no one has volunteered to provide me with the $9000 or so I would need to buy a 5620. Some people have all the luck. > Now that I've got that out of the way, let's go on to discuss > so-called job control. The whole point about Berkeley job control > is, it is a massive hack. Witness the huge number of user-mode > programs that had to be modified to know about SIGTSTP, etc. > Not to mention the far-reaching kernel modifications [...] For the latter, you might try obtaining 4.1BSD kernel sources and diff'ing the parts of it which implement signals and the starting and stopping of processes with the corresponding parts of your V8 kernel. I'll bet you will be surprised at the small amount of output you get. As for user-mode programs, I just did a `grep TSTP' on files in the directories /usr/src/{bin,usr.bin,usr.ucb} on this 4.2 system. The programs I found sort of divide themselves into three categories. The biggest group are those that explicitly ignore SIGTSTP, usually along with SIGQUIT and SIGINT. These are login, passwd, msgs, chfn, chsh and lock. The second were those that use SIGTSTP instead of, or as well as, a shell escape. These are rlogin, telnet and tip. Finally there are those which restore their screen in some way after a SIGTSTP. These are ex/vi and more (note that the curses library catches SIGTSTP so full-screen programs which use that library generally don't bother about it). And of course there is csh, stty and kill, but that is about it. I really don't know how you decided a "huge number of user-mode programs" had to be modified, as far as I can see only a small percentage of user-mode software from Berkeley worries about it at all, and most of these programs simply ignore it for security reasons. > You say as much, but then you say you still want to be able to > stop and restart processes. On V8, that is as easy as opening > the process' /proc entry and doing a single ioctl(). No harder > than doing a kill(). This is one way to use the ability to stop and restart processes which Berkeley (or, actually, Jim Kulp at IIASA) implemented in their kernel and V8 inherited. ^Z is another, very different one. I (unlike the person you were replying to) have no doubt that a good window system effectively eliminates the need for a suspend character (and interrupt and quit (! a key to cause a core dump? If ^Z was a hack, it had precedent)). Note, however, that Berkeley job control was implemented in 1980 or thereabouts, when window systems were at most exotic research projects. It was certainly never intended to be a replacement for window systems; it is their predecessor. What ^Z is is a replacement for *its* predecessor, the shell escape. A shell escape requires code in each program which implements it. It is also not possible to implement a shell escape at all in many programs in which it would be desirable (e.g. compilers). The suspend character provides a uniform, centralized, transparent (relative to actual shell escapes) facility which obsoletes the shell escape. As such it was successful. Of course, window systems may have now made obsolete the suspend character. And if you send me one of your windowing terminals I will gladly turn it (and probably the quit character) off for good. Until then, as long as I am forced to use less able technology, I will stick with it, thanks. Even, incidentally, if I am using V8, seeing as the implementor thought to retain it in the (streams) terminal handling code. -- Dennis Ferguson (...!utzoo!utcsri!utecfc!dennis) Mechanical Engineering University of Toronto
scott@cstvax.UUCP (Scott Larnach) (04/10/86)
> job control is a massive hack
... not the point. The point being, is it useful? The answer being,
yes, very.
--
** REPLACE THIS NETWORK WITH A BAGFUL OF MAGTAPE **
Scott Larnach Janet: scott@uk.ac.ed.itspna
Edinburgh Unix Support Arpa: scott@itspna.ed.ac.uk
Tel: +44 31 667 1081 x2629 Uucp: scott@cstvax.uucp
csg@pyramid.UUCP (Carl S. Gutekunst) (04/11/86)
In article <559@basser.oz> john@basser.oz (John Mackin) writes: >Well. First of all let's split some hairs. [Please note that I'm >not attacking you or your posting, but I do value correctness... >ok, I'm pedantic.] > >... The Teletype DMD5620 is a commercial product. >It has a WE32000 cpu and 256K of ram which can be expanded to 1M. Pedantic? Then you'll want to know that the current DMD5620 uses a WE32100. It does make a difference, and can be a real pain at times.... -- Carl S. Gutekunst {allegra,cmcl2,decwrl,hplabs,ut-sally,utzoo}!pyramid!csg Pyramid Technology Corp, Mountain View, CA +1 415 965 7200
tim@ism780c.UUCP (Tim Smith) (04/12/86)
In article <71@utecfc.UUCP> dennis@utecfc.UUCP (Dennis Ferguson) writes: > >I am typing this on a rather dumb 24x80 terminal. Approximate >value is $400. I have showed your message to just about everyone >arund here with funds but no one has volunteered to provide me >with the $9000 or so I would need to buy a 5620. Some people have >all the luck. > There is no reason one can not make 5620 technology available at a very low cost. Look at some of the computers that are now available with bitmapped displays: Macintosh ( 512k goes for around $1300 ), Atari 520ST ( $800 ), and Amiga ( ~$1200? ). There is no reason one can not turn any of these into a reasonable 5620 emulator. The large screen of the 5620 is nice, but I think one could live with the smaller screens of the above computers. Anyone care to predict how long the dumb terminal will last? Unless it is real cheap ( i.e., almost free ), I can't see any reason to get one when for maybe twice as much I can get a computer and run a terminal emulator. -- Tim Smith sdcrdcf!ism780c!tim || ima!ism780!tim || ihnp4!cithep!tim
mac@tflop.UUCP (Mike Mc Namara) (04/12/86)
In article <> dennis@utecfc.UUCP (Dennis Ferguson) writes: >In article <559@basser.oz> john@basser.oz (John Mackin) writes: >> [...] I am typing this on a Blit. We have... > >I am typing this on a rather dumb 24x80 terminal. Approximate >value is $400. > ... > >Of course, window systems may have now made obsolete the suspend character. >And if you send me one of your windowing terminals I will gladly turn it >(and probably the quit character) off for good. Until then, as long as Especially if you were only *loaning* the terminal to me!! /// \\\\ ><<<SMASH>>>>< (the terminal is `off for good') \\\ //// >I am forced to use less able technology, I will stick with it, thanks. >Dennis Ferguson (...!utzoo!utcsri!utecfc!dennis) Now, I happen to have a sun & a wyse 50 on my desk, and I use the wyse 50 'cause the keyboard is much nicer... (of course the sun is a 100U...) mac@tflop
guy@sun.uucp (Guy Harris) (04/12/86)
> I think that a window should have both a logical and a physical size. > When the user resizes a window, that would only change the physical > size - the logical size would stay the same. If the physical size is > smaller than the logical size, the windowing system should put in > scroll bars. OK, imagine a text editor. Assume that the logical size is the maximum size of a window. You use the scroll bars to slide the physical window over the logical window. Now what if you want to scroll the *editor's* window into the *file*? Can you use the same scroll bars? I suspect it can be done, but make sure your whizzo window system can do this. So much for vertical scrolling. What about horizontal scrolling? I happen to prefer an editor which truncates lines at the margin, rather than wrapping them, but some people may prefer wrapping. Such an editor has to know about the physical size of the screen - wrapping at the boundary of the logical screen seems a bit silly. What about a system which displays a fixed amount of data - say N rows by M columns of text, or a drawing of a certain size? Such a system might very well want to scale this display to the size of its window, so that you can blow the display up by stretching the window. (The Andrew system's terminal emulator, which emulates a 24x80 Heath H19 terminal, does exactly that.) What about a program which has a display consisting of a main display subwindow, a command line, and a messages line, or something similar? (For two obscure little-used programs which use the screen in this way, let's pick "vi" and EMACS.) If I start up EMACS (or "vi") in a full-height window, and then shut that window down to the Sun standard 34x80, your scheme might very well put EMACS' status line and command/messages line (mode line and minibuffer) outside the window. This seems silly. It would make more sense to have the main display window be resized by EMACS, which is exactly what does happen on a Sun. I'm afraid this sounds like the putative benefits of not having something like SIGTSTP - you might say that you "don't have to" modify programs to know about being suspended, or having their window size changed, but what this really means is that you *can't* modify programs to know about this, even if doing so would give them a better user interface. Sorry, but any system that buys "conceptual elegance" at the expense of making the person who uses the system had better be a LOT more conceptually elegant than a system which is more pleasant to use if it's to interest me - especially if I'm the person who has to use it. -- Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.arpa (yes, really)
mike@peregrine.UUCP (Mike Wexler) (04/15/86)
In article <3493@sun.uucp> guy@sun.uucp (Guy Harris) writes: >> I think that a window should have both a logical and a physical size. >> When the user resizes a window, that would only change the physical >> size - the logical size would stay the same. If the physical size is >> smaller than the logical size, the windowing system should put in >> scroll bars. I agree to some extent. > >OK, imagine a text editor. Assume that the logical size is the maximum size >of a window. You use the scroll bars to slide the physical window over the >logical window. Now what if you want to scroll the *editor's* window into >the *file*? Can you use the same scroll bars? I suspect it can be done, >but make sure your whizzo window system can do this. Yes. So much for transparency. I guess you could just send the generic scroll key. What? You say there is no such thing. Uh oh. > >So much for vertical scrolling. What about horizontal scrolling? I happen >to prefer an editor which truncates lines at the margin, rather than >wrapping them, but some people may prefer wrapping. Such an editor has to >know about the physical size of the screen - wrapping at the boundary of the >logical screen seems a bit silly. How about windows having attributes such as whether the physical window size and logical window size are bound together. The window system good have a list of programs and what default attributes they override. > >What about a system which displays a fixed amount of data - say N rows by M >columns of text, or a drawing of a certain size? Such a system might very >well want to scale this display to the size of its window, so that you can >blow the display up by stretching the window. (The Andrew system's terminal >emulator, which emulates a 24x80 Heath H19 terminal, does exactly that.) Yet another attrbiute(YAA). > >What about a program which has a display consisting of a main display >subwindow, a command line, and a messages line, or something similar? (For >two obscure little-used programs which use the screen in this way, let's >pick "vi" and EMACS.) If I start up EMACS (or "vi") in a full-height >window, and then shut that window down to the Sun standard 34x80, your >scheme might very well put EMACS' status line and command/messages line >(mode line and minibuffer) outside the window. This seems silly. It would >make more sense to have the main display window be resized by EMACS, which >is exactly what does happen on a Sun. How about multiple windows? Transparency? Whats that? > >I'm afraid this sounds like the putative benefits of not having something >like SIGTSTP - you might say that you "don't have to" modify programs to >know about being suspended, or having their window size changed, but what >this really means is that you *can't* modify programs to know about this, >even if doing so would give them a better user interface. Sorry, but any >system that buys "conceptual elegance" at the expense of making the person >who uses the system had better be a LOT more conceptually elegant than a >system which is more pleasant to use if it's to interest me - especially if >I'm the person who has to use it. Such a system could actually be pleasant to use, if it was designed and implemented well. Wouldn't it be nice if the same scroll commands worked in Emacs(vi/fnorkel 2) and Suntools? Wouldn't it be nice if Emacs(or others) had overlapping and closable windows? Have you ever wanted to scroll backwards in a line oriented program(to see what did 45 seconds ago)? Have you ever had a program that needed 132 characters? Wouldn't it be nice to be able to resize the window *AFTER* you run it and see the input spread across the screen. My point is that the proposed system, although it would be very difficult to implement might be quite a bit more pleasant to use then what is currently available. -- Mike Wexler (trwrb|scgvaxd)!felix!peregrine!mike (714)855-3923
philip@axis.UUCP (Philip Peake) (04/16/86)
In article <1586@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes: >In article <71@utecfc.UUCP> dennis@utecfc.UUCP (Dennis Ferguson) writes: >> >>I am typing this on a rather dumb 24x80 terminal. Approximate >>value is $400. I have showed your message to just about everyone >>arund here with funds but no one has volunteered to provide me >>with the $9000 or so I would need to buy a 5620. Some people have >>all the luck. >> > >There is no reason one can not make 5620 technology available at a >very low cost. I find the cost of 5620's interresting. I know its not exactly the same thing as a Blit, but the following extract seems worth thinking about.. "The Blit is inexpensive. For little more than the cost of replacing the 24-by-80 terminals, everyone in our research center, including the support staff, has a Blit." This quote is taken from the BLTJ, Vol.63, "The Blit: A multiplexed graphics terminal" So, who is making the big fat profit (as if you couldn't guess) ?
tim@ism780c.UUCP (Tim Smith) (04/16/86)
In article <3493@sun.uucp> guy@sun.uucp (Guy Harris) writes: >> I think that a window should have both a logical and a physical size. >> When the user resizes a window, that would only change the physical >> size - the logical size would stay the same. If the physical size is >> smaller than the logical size, the windowing system should put in >> scroll bars. > >OK, imagine a text editor. Assume that the logical size is the maximum size >of a window. You use the scroll bars to slide the physical window over the >logical window. Now what if you want to scroll the *editor's* window into >the *file*? Can you use the same scroll bars? I suspect it can be done, >but make sure your whizzo window system can do this. > >So much for vertical scrolling. What about horizontal scrolling? I happen >to prefer an editor which truncates lines at the margin, rather than >wrapping them, but some people may prefer wrapping. Such an editor has to >know about the physical size of the screen - wrapping at the boundary of the >logical screen seems a bit silly. > I didn't mean that programs should not be able to find out the size of a window, and when it changes. I meant that if a program doesn't say to the windowing system, "Hey man, I'm a whiz bang program, and I won't freak if my window changes size", then the windowing system should keep track of a logical and physical size of the window. If a program tells the windowing system that it is a whiz bang program, then the program would be informed of size changes, and there would be no difference between the logical and physical window. -- Tim Smith sdcrdcf!ism780c!tim || ima!ism780!tim || ihnp4!cithep!tim
gwyn@brl-smoke.UUCP (04/16/86)
In article <1586@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes: >In article <71@utecfc.UUCP> dennis@utecfc.UUCP (Dennis Ferguson) writes: >>I am typing this on a rather dumb 24x80 terminal. Approximate >>value is $400. I have showed your message to just about everyone >>arund here with funds but no one has volunteered to provide me >>with the $9000 or so I would need to buy a 5620. The last price I could find for a 5620 is $3300, $3000 for the Core host software (which applies to any number of 5620s on the host), $2000 for the Text+Graphics software. (These prices have probably come down a bit in the meantime.) It is more cost-effective to have several DMDs on the same host than to have just one. The asymptotic average price of a 5620 was $3300, not even allowing for quantity discounts. I don't want to make this into a commercial, but the $9000 figure is misleading. >There is no reason one can not make 5620 technology available at a >very low cost. Look at some of the computers that are now available >with bitmapped displays: Macintosh ( 512k goes for around $1300 ), >Atari 520ST ( $800 ), and Amiga ( ~$1200? ). > >There is no reason one can not turn any of these into a reasonable >5620 emulator. The large screen of the 5620 is nice, but I think one >could live with the smaller screens of the above computers. The 5620 does far more than provide windows. There is a large amount of work involved in developing the cross-SGS, libraries, etc. Indeed, I've had to do considerable work just to port the existing code to a new host. (To be fair, I should admit that much of this work should not have been necessary if portable coding practices had been used and if the target host had had a better C compiler.) Similar software using Macs etc. would be nice, all right, but providing it is not a trivial task. Looks like a viable commercial product idea to me.. >Anyone care to predict how long the dumb terminal will last? Unless >it is real cheap ( i.e., almost free ), I can't see any reason to get >one when for maybe twice as much I can get a computer and run a terminal >emulator. My Branch has quit buying dumb terminals. I don't see much advantage in using something like an IBM PC as a terminal emulator (unless you happen to already have one), but the Blit/DMD (Xerox, Sun, etc.) approach is another story.
friesen@psivax.UUCP (Stanley Friesen) (04/18/86)
In article <1835@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes: > >I didn't mean that programs should not be able to find out the size of >a window, and when it changes. I meant that if a program doesn't say >to the windowing system, "Hey man, I'm a whiz bang program, and I >won't freak if my window changes size", then the windowing system >should keep track of a logical and physical size of the window. > >If a program tells the windowing system that it is a whiz bang program, >then the program would be informed of size changes, and there would be >no difference between the logical and physical window. Actually, under UNIX the way to do this is have the windowing system send some standard signal, say SIGWINCH, to the process whose window is being changed. The default action fo this signal would of course be to *ignore* it. If a process wants/needs to know about window changes it can arrange to catch the signal! This is consistant with the rest of the UNIX OS and is operationally equivalent to what you are talking about, since a program that doesn't need to know can simply do nothing at all. -- Sarima (Stanley Friesen) UUCP: {ttidca|ihnp4|sdcrdcf|quad1|nrcvax|bellcore|logico}!psivax!friesen ARPA: ttidca!psivax!friesen@rand-unix.arpa
friesen@psivax.UUCP (Stanley Friesen) (04/21/86)
In article <59@brl-smoke.ARPA> gwyn@brl.ARPA writes: > >The last price I could find for a 5620 is $3300, >$3000 for the Core host software (which applies >to any number of 5620s on the host), $2000 for >the Text+Graphics software. > >In article <1586@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes: >>Anyone care to predict how long the dumb terminal will last? Unless >>it is real cheap ( i.e., almost free ), I can't see any reason to get >>one when for maybe twice as much I can get a computer and run a terminal >>emulator. > They will last until the price of a BLIT or 5620 is < $1000, since that is what it will take for less rich firms to start buying them for ordinary users. Really $3000 is *not* cheap! -- Sarima (Stanley Friesen) UUCP: {ttidca|ihnp4|sdcrdcf|quad1|nrcvax|bellcore|logico}!psivax!friesen ARPA: ttidca!psivax!friesen@rand-unix.arpa
tim@ism780c.UUCP (Tim Smith) (04/22/86)
In article <1106@psivax.UUCP> friesen@psivax.UUCP (Stanley Friesen) writes: > > Actually, under UNIX the way to do this is have the windowing >system send some standard signal, say SIGWINCH, to the process whose >window is being changed. The default action for this signal would of >course be to *ignore* it. If a process wants/needs to know about >window changes it can arrange to catch the signal! This is consistant >with the rest of the UNIX OS and is operationally equivalent to what >you are talking about, since a program that doesn't need to know can >simply do nothing at all. I don't think that this is equivalent to what I want. I want there to be two types of procs: those that know about windows, and those that don't. Those that do would be told about window changes, probably with a signal. Those that don't would not know that they are on a windowing system. Their window would look like a terminal. When the user does something like change the size of the window, that would not change the logical size of the window, just the physical size. [ by the way, I am assuming a windowing system that keeps track of what is obscured by other windows, not one that requires procs to redraw their own screens. Thus, the only window changes that a proc should care about are size changes ( and deletions... ) ] Note that under this scheme I should be able to take vi or rogue, and run them with no changes at all. -- Tim Smith sdcrdcf!ism780c!tim || ima!ism780!tim || ihnp4!cithep!tim
tim@ism780c.UUCP (Tim Smith) (04/22/86)
In article <59@brl-smoke.ARPA> gwyn@brl.ARPA writes: >> >>There is no reason one can not turn any of these into a reasonable >>5620 emulator. The large screen of the 5620 is nice, but I think one >>could live with the smaller screens of the above computers. > >The 5620 does far more than provide windows. There is a large amount >of work involved in developing the cross-SGS, libraries, etc. >Indeed, I've had to do considerable work just to port the existing >code to a new host. (To be fair, I should admit that much of this >work should not have been necessary if portable coding practices >had been used and if the target host had had a better C compiler.) > Amen on portable coding practices! Yes, lot's of 5620 stuff would not be easy to deal with ( proof and jim come to mind ... ), but I think one could get a lot of the 5620s advantages at a reasonable cost. I define reasonable cost as that which I can convince the company to spend. :-( >>Anyone care to predict how long the dumb terminal will last? Unless >>it is real cheap ( i.e., almost free ), I can't see any reason to get >>one when for maybe twice as much I can get a computer and run a terminal >>emulator. > >My Branch has quit buying dumb terminals. >I don't see much advantage in using something like an IBM PC >as a terminal emulator (unless you happen to already have one), >but the Blit/DMD (Xerox, Sun, etc.) approach is another story. The problem I have with the 5620 is that for the price, I can get a Mac or an Amiga or an Atari 1040ST, a hard disk, software, etc, and have something to play with when the VAX is down. With a 5620 all I can do is run diagnostics, which gets stale after a few hours! :-) Next year for the price of a 5620, I hope to be able to get a 68020 based Mac or Amiga or Atari, which would probably have as much power as the fraction of the VAXes time that gets devotes to me. Then it starts to get hard to justify the cost. Now if they would put a hard disk on the 5620... -- Tim Smith sdcrdcf!ism780c!tim || ima!ism780!tim || ihnp4!cithep!tim
tim@ism780c.UUCP (Tim Smith) (04/22/86)
In article <1114@psivax.UUCP> friesen@psivax.UUCP (Stanley Friesen) writes: >> >>Anyone care to predict how long the dumb terminal will last? Unless >>it is real cheap ( i.e., almost free ), I can't see any reason to get >>one when for maybe twice as much I can get a computer and run a terminal >>emulator. > > They will last until the price of a BLIT or 5620 is < $1000, >since that is what it will take for less rich firms to start buying >them for ordinary users. Really $3000 is *not* cheap! Have you seen the 1040ST? Price < $1000, and it should be able to be turned into a quite nice terminal. -- Tim Smith sdcrdcf!ism780c!tim || ima!ism780!tim || ihnp4!cithep!tim
friesen@psivax.UUCP (Stanley Friesen) (04/22/86)
In article <1918@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes: >In article <1106@psivax.UUCP> friesen@psivax.UUCP (Stanley Friesen) writes: >> >> Actually, under UNIX the way to do this is have the windowing >>system send some standard signal, say SIGWINCH, to the process whose >>window is being changed. The default action for this signal would of >>course be to *ignore* it. > >I don't think that this is equivalent to what I want. I want there to >be two types of procs: those that know about windows, and those that >don't. Those that do would be told about window changes, probably >with a signal. Those that don't would not know that they are on >a windowing system. Their window would look like a terminal. EXACTLY, that is why the default action for SIGWINCH is *ignore*, that way a program that doesn't care need not even know about it! By simply doing nothing it gets nothing, it doesn't even really recieve the signal, it gets thrown away by the kernel. Thus the manager program(the multiplexor or meta-shell) need not know which programs want to know about changes, it can just send the signal all the time and let the processes that want to know arrange, by explicit action, to catch and process the signal. In short arranging to catch SIGWINCH is equivalent to notifying the kernel "I want to know about window changes". > When >the user does something like change the size of the window, that would >not change the logical size of the window, just the physical size. Certainly. > >[ by the way, I am assuming a windowing system that keeps track of what > is obscured by other windows, not one that requires procs to redraw > their own screens. Thus, the only window changes that a proc should > care about are size changes ( and deletions... ) ] > Absolutely. Well, deleting a window attached to a running process should be *rare*, maybe this should send a SIGHUP, since it is logically equivalent to unplugging a terminal. >Note that under this scheme I should be able to take vi or rogue, and >run them with no changes at all. And under mine as well, if it is implemented correctly. As I said, a process that doesn't care simply does nothing and the kernel silently and transparently ignores SIGWINCH. The program never even knows it has been sent. -- Sarima (Stanley Friesen) UUCP: {ttidca|ihnp4|sdcrdcf|quad1|nrcvax|bellcore|logico}!psivax!friesen ARPA: ttidca!psivax!friesen@rand-unix.arpa