> From: Larry McVoy
> Yeah, write is unbuffered though I think Noel is correct, it's going to
> a tty and the tty will buffer until \n
The 'wait until newline' is on the input side.
Output is buffered (in the sense that characters are held in the kernel until
the output device can take them); but normally output will start to happen as
soon as the device is able to take them. Only a certain amount can be
buffered though, after that (the 'high water', I think it's called), the
process is blocked if it tries to do output, and awakened when the buffered
output level goes past the 'low water' mark.
Note that getchar() and putchar() are subroutines in a library; looking
at the source:
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/s4/getchr.s
you can see how they relate to the actual read/write calls to the OS.
> So you probably have to set the tty in raw mode
Probably best to run such programs from something other than the main console,
because if there's a bug in the program, and the terminal is in raw mode, if
you're on the console, you may have to reboot the system to regain control of
the system. (Interrupt characters, ^D etc won't work.)
> (sorry that I'm vague, I never ran V6).
Tnat's OK, I pretty much have the V6 kernel memorized, from working with
it back in the day... :-)
Noel
I am using C in V6 to create a Forth compiler. I don;t have any interest in
Forth as a general purpose language, however I do like it. It's satisfying
to create a language from the ground up. I'm interested in it a simple and
extensible interpreted language for toying with my PDP-11s, so I'll have
some with it in the future.
I have a very basic problem. I am simply using getchar and putchar for
console IO, which is convenient indeed. I'm struggling however with how C
processes the IO. It seems that when I type at the console, my typing is
immediately echoed to my terminal window. When I press backspace the system
responds with the character that was deleted, which is fine, as I assume it
was from the paper teletype days. However, my code is receiving input and
also echoing the output, but nothing appears on the terminal until I press
enter, when the system displays the whole line of input, which is
essentially a duplicate of what the terminal originally displayed, but with
the consolidated edits. My code is reading and echoing the input character
by character.
Here's my question. How can I suppress the original C/Unix echo, and get my
output to appear immediately? This simple sample code form the C
programming manual behaves the same.
int main() {
int c;
while ((c = getchar()) != EOF) {
putchar(c);
}
}
Paul
*Paul Riley*
Mo: +86 186 8227 8332
Email: paul(a)rileyriot.com
I'm hearing that 50% of what's left of AT&T research got the axe today.
I'm hoping to hear from friends about details.
God's gift to google, as we have said in the past.
Henry Bent:
Are there any former Bell Labs sysadmins on this list? My father was the
sysadmin for hoh* (Crawford Hill, mostly the radio astronomy folks) in the
mid-late '80s and early '90s and I would be especially interested to hear
from hou* (Holmdel, what a building!) folks but also ihn* (Indian Hill) and
the like. I'm very curious about what life was like on the ground, so to
speak.
=====
It is worth pointing out that, like many universities, Bell
Labs had at least two layers of computing and therefore of
sysadmins. There were official central Comp Centers, which
is the world Henry asks specifically about; but there were
also less-central computing facilities at the divisional and
center and department level.
I never worked for a comp center, but my role in 1127 was
basically that of sysadmin for our center's own systems;
the ones used both for our day-to-day computing (including
that known to the uucp world as research!) and for OS and
other experiments and research and hacking.
There were also two large VAXes called alice and rabbit,
which afforded general-use computing for other departments
in Division 112. Us 1127 sysadmins (I wasn't the only one
by any means) ran those too; I don't know the full history
but I gather that happened because there was some desire
to run the Research version of UNIX rather than the comp-center
one for that purpose.
One system I had hands in straddled the researcher/comp-center
boundary: 3k, the Cray X-MP/24 bought specifically for
researchers. It was physically located in the comp center,
but managed jointly: it ran Cray's UNICOS but with
substantial additions from the Research world, including
the stream I/O system (which is rather self-contained so
it was not too hard to graft into a different UNIX) and
Datakit support (using a custom interface board designed
and built by Alan Kaplan and debugged by me and Alan
over several late-night sessions. (I remember that
the string "feefoefum\n", which is an obscure cultural
reference from one of my previous workplaces, was
particularly effective at shaking out bugs!)
Once UNICOS-a-la-Research was running stably, staff from
the Murray Hill Comp Center looked after day-to-day
operations, with Research involved more for software
support as needed.
Norman Wilson
Toronto ON
Are there any former Bell Labs sysadmins on this list? My father was the
sysadmin for hoh* (Crawford Hill, mostly the radio astronomy folks) in the
mid-late '80s and early '90s and I would be especially interested to hear
from hou* (Holmdel, what a building!) folks but also ihn* (Indian Hill) and
the like. I'm very curious about what life was like on the ground, so to
speak.
I'll start off with a quick anecdote. When I started college I began
working for the computing center doing menial jobs. There was an older,
ex-army guy leading the networking department who extolled the virtues of
the VAX up and down; I think Oberlin would have kept the VAX 6620 running
VMS 5.5 forever if he had his way. Anyway, I mentioned his position to my
father and he told me that the best thing he ever did was replace the VAX
systems (and the endless mounting/remounting of RL02s for user data) with
early generation Sun 4 systems.
-Henry
Coming upon this dedication in W.B. Yeats's book, "Irish Folk
stories and Fairy Tales", I felt a frisson of connection: "Inscribed
to my mystical friend, G. R." Mystically present in the Unix room
and on the 1127 org chart, G. R. Emlin took a place in our little
community akin to that of fairies in Irish peasant culture. First
encountered by Fred Grampp, G. R. manifested to others in various
guises, ranging from Grace Emlin, whom I remember as a security guru,
to a Labs-badged apparition now housed in the corporate archives
(www.peteradamsphoto.com/unix-folklore/) My most memorable personal
encounter was when I received from G. R. a receipt for paint for the
water-tower project (spinrooot.com/pico/pjw.html) as part of a request
for reimbursement. I passed the voucher up the chain of command to
our executive director, Vic Vyssotsky. Unfortunately for G. R., Vic,
despite his masterful ability to bypass bureaucratic obstacles,
declared he wasn't authorized to approve plant improvements.
Doug
Hi All,
I'm currently doing some work with 211BSD and the best version that I've
come across for my investigations is the one put together by Andre
Luvisi, based on the distro in the Unix Archive at
https://tuhs.v6shell.org/UnixArchiveMirror/Distributions/UCB/2.11BSD
So far as I can figure out (and I'm a little bit fuzzy around the
edges), this appears to be patch level 431, at least according to
https://tuhs.v6shell.org/UnixArchiveMirror/Distributions/UCB/2.11BSD/VERSION.
I have a number of questions that hopefully, someone can shed some light on:
1. Is it really pl 431?
2. How can I tell?
3. Is it the latest tape image available (I've seen plenty of disk
images, but those are already installed)?
4. Is there a howto bring it up to the next patch level document lying
around somewhere?
I've seen Warner's work on going the other direction and that's
fascinating in it's own right, but I'd like to see about patching up to
latest.
Thanks,
Will
--
GPG Fingerprint: 68F4 B3BD 1730 555A 4462 7D45 3EAA 5B6D A982 BAAF
Well, I figured out number 4, duh!
4. Is there a howto bring it up to the next patch level document lying
around somewhere?
Each patch is self documenting :). Just do what it says and it should
work... we'll see!
Will
--
GPG Fingerprint: 68F4 B3BD 1730 555A 4462 7D45 3EAA 5B6D A982 BAAF
On 7/19/20, emanuel stiebler <emu(a)e-bbes.com> wrote:
>
> That's why DEC made also the MicroVAX. I had once a MVII/BA23 in my
> samsonite. Weird look at customs, but worked ;-)
>
By the early 1980s it was apparent that some of the more complicated
VAX instructions weren't worth the space they took up in firmware.
Especially POLY and EMOD, which turned out to be both slower and less
accurate than coding them up as subroutines. And the PL/I and COBOL
compilers were implementing packed decimal using decimal shadowing.
Chucking out those instructions and doing them by emulation in the OS
freed up enough chip real estate to allow the remaining VAX
architecture to be implemented on a chip. All the later VAXen
supported only the MicroVAX subset architecture in hardware/firmware.
I don't recall which was the last VAX to support the whole
architecture in hardware/firmware. Perhaps the VAX 8200/8300
(Scorpio)? That was a single-board implementation. It could be
paired with a high-end Evans & Sutherland 3D graphics monitor. DEC
tried unsuccessfully to use that combination to compete with Apollo in
the workstation market, but it was too little too late. One reviewer
said that coupling the E&S graphics to the VAX 8200 was like
turbocharging a lawn mower. Did Unix support that configuration, or
was it VMS-only?
-Paul W.