> From: Dave Horsfall
> When did sleep(2) become sleep(3)? Was it V7, or some BSD?
Before V7. The MIT system (~PWB1) says, on the man page for sleep (II), "As of
this writing the system call is still available although the C routine
implmeneting the function uses 'alarm' and 'pause' (II). It will be withdrawn
when convenient."
Probably left the system call there for compiled commands, etc which used it?
Noel
> > But the concept of email goes way back.
> Indeed, it does, but only on the same system.
Very far back. CTSS had a mail utility.
If communication within one system is not
recognized as email, then the exchange that
opened in Boston in 1877 was not a
telephone system.
Doug
We lost Ray Tomlinson on this day in 2016; known as the inventor of email,
he sent the first message between two hosts on the ARPAnet (prior to that
the users had to be on the same host), and pioneered the use of the "@"
sign.
In the meantime, some tosser (his name is not important) is claiming that
he invented email first; I recall that APL\360 had a "mailbox" facility,
but it certainly didn't use "@".
--
Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
I hadn't realized that groff hyphenation had been taken from
Tex, not troff. Is that becuase Tex did a better job, or
because troff's was deemed proprietary?
A new paper comparing Unix kernel designs was published earlier today:
Stergios Papadimitriou and Lefteris Moussiades
Mac OS versus FreeBSD: A Comparative Evaluation
[IEEE] Computer 52(2), 44--53, February 2018
https://doi.org/10.1109/MC.2018.1451648
Despite the title, GNU/Linux also is included in the comparisons. The
abstract is:
>> ...
>> FreeBSD (an open source Unix-like OS) and Apple's Mac OS use similar
>> BSD functionality but take different approaches. FreeBSD implements a
>> traditional compact monolithic Unix kernel, whereas Mac OS builds the
>> BSD Unix functionality on top of the Mach microkernel. The authors
>> provide an in-depth technical investigation of both approaches.
>> ...
Our fellow list member Larry McVoy, and his lmbench suite, are
mentioned in the article, along with results of that suite.
There are about 200 numbers in the two large tables of performance
measurements, and while many are comparable across operating systems,
there are some benchmarks that show up to a 40x difference between
systems on the same hardware.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
pipes in SCO UNIX 3.2V4.2,
It's long, long ago, so excuses for vagueness. I think the issue was
not pipe() perse, but the difference in functionality between 'pipe
filesystem' and streams pipes.
By using pipe() you create a FIFO pipe with certain limitations
(including 5120 write limit). When you open the streams device twice
and ioctl() two file descriptors together you have more flexibility.
Excuses for the possible confusion.
Following the Claude Shannon discussion:
http://www.jaycar.com.au/useless-box/p/GT3706
I tried to explain to the Young Thing (tm) behind the shop counter that it
was invented several decades ago etc, but I suspect it was beyond her
ken...
--
Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
> [Bob Fano} still has a reverential photograph of Shannpn
> hanging in his office.
Alas, no, Fano died in 2016 at age 98.
More memories: Fano was among the grad students who came to
ice-skating parties at our house in the mid-40s--the house near
Shannon's later abode. I did not really get to know him until
Multics days. His gravelly mafioso voice would scare you off--until
you saw the irrepressible twinkle in his eye. A beloved and
inspiring leader, worthy of Dave Horsfall's calendar.
Doug
>From a piece of code I have in some SCO UNIX 3.2V4.2 source. SCO
doesn't have pipes, but you can simulate them.
int fd[2]
int rc;
struct strfdinsert ins;
queue_t *pointer = (queue_t *)NULL;
rc = -1;
/*
* First open the stream clone device "/dev/spx" twice,
* obtaining the two file descriptors.
*/
if ( (fd[0] = open(SPX_DEVICE, O_RDWR)) < 0)
{
gen_trace(gtr_flag, "-gen_pipe(): -open(fd[0]): %s\n", strerror(errno));
break;
}
if ( (fd[1] = open(SPX_DEVICE, O_RDWR)) < 0)
{
gen_trace(gtr_flag, ">gen_pipe(): -open(fd[1]): %s\n", strerror(errno));
close(fd[0]);
break;
}
/*
* Now link these two streams together with an
* I_FDINSERT ioctl.
*/
ins.ctlbuf.buf = (char *) &pointer; /* no ctl info, just the ptr */
ins.ctlbuf.maxlen = sizeof(queue_t *);
ins.ctlbuf.len = sizeof(queue_t *);
ins.databuf.buf = (char *) 0; /* no data to send */
ins.databuf.len = -1; /* magic: must be -1, not 0, for stream pipe */
ins.databuf.maxlen = 0;
ins.fildes = fd[1]; /* the fd to connect with fd[0] */
ins.flags = 0; /* nonpriority message */
ins.offset = 0; /* offset of pointer in control buffer */
if (ioctl(fd[0], I_FDINSERT, (char * ) &ins) < 0)
{
gen_trace(gtr_flag, ">gen_pipe(): -ioctl(I_FDINSERT): %s\n", strerror(errno));
close(fd[0]);
close(fd[1]);
break;
}