The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Jon Steinhart <jon@fourwinds.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] ATC/OSDI'21 joint keynote: It's Time for Operating Systems to Rediscover Hardware (Timothy Roscoe)
Date: Thu, 16 Sep 2021 22:48:32 -0400	[thread overview]
Message-ID: <YUQCALUxUkcDHZpv@mit.edu> (raw)
In-Reply-To: <202109170110.18H1ABL63319807@darkstar.fourwinds.com>

On Thu, Sep 16, 2021 at 06:10:11PM -0700, Jon Steinhart wrote:
> 
> You made a big assumption that I was suggesting tossing prior work and API
> specs which I wasn't.  Would you have wanted to have the 32 bit system call
> API frozen because it worked and not wanted 64 bit versions?  History shows
> plenty of good work going into compatibility when the underlying technology
> evolves.

Unfortunately, Implementing all of the old API specs is not easy if
you're starting from scratch as you create your new OS.  As David
wrote in an earlier paragraph:

> For a while, it was possible to have a “POSIX emulation”
> module/layer/whatever (was Mach the first to go this route?) as a
> shortcut to this but the breadth of the APIs needed to run,
> eg. Chrome/ium is again orders of magnitude more work than what was
> needed to port vi/emacs/rn/etc.

And this is the same observation Rob Pike made in his cri du coeur in
2000:

  * To be a viable computer system, one must honor a huge list of
    large, and often changing, standards: TCP/IP, HTTP, HTML, XML,
    CORBA, Unicode, POSIX, NFS, SMB, MIME, POP, IMAP, X, ...

  * A huge amount of work, but if you don't honor the standards,
    you're marginalized.

  * I estimate that 90-95% of the work in Plan 9 was directly or
    indirectly to honor externally imposed standards.

> Don't know how much time you spend with "the kids" these days.  I make it a
> point to do so when I can; SIGCOVID has cut into that unfortunately.  One
> can get a CS degree without ever taking an OS course at many respectable
> institutions.  Many are not so much making a choice as doing what they can
> which is inadequate in my opinion.
> 
> Was discussing this with someone the other day.  I'm glad that I have an
> engineering degree instead of a computer science degree.  And I'm also glad
> that I prevailed with one of my mentees to double major in EE and CS when
> he wanted to bail on the EE.  While it's a generalization, as an engineeer I
> was educated on how the universe worked - chemistry, physics, and so on.  It
> was up to me to figure out how to apply that knowledge - I wasn't taught how
> to lay out a circuit board or to use a CAD package or to write an app.  A
> modern CS degree at many institutions is vocational training in programming.
> It's not the same thing.

When I studied CS in the late 80's, MIT's EE/CS department required
all EE's and CS's to take 2 foundational CS classes, and 2
foundational EE classes.  This meant that CS folks needed to
understand how to build op-amps from transitors (6.002) and descrete
and continuous FFT's (6.003).  And EE folks needed to be able
understand Lambda calculus (6.001), and to build stack and general
register computers using 74XX TTL chips on a breadbroad (6.004).
Furthermore, CS students needed to take an OS course and/or a compiler
course, so by the time you graduated, you understood computers from a
"full stack" perspective --- from transitors, to AND/OR gates, to CPU
design, to compilers, to OS's, to systems issues around desining big
systems like Multics and the SABRE Airline Reservations systems.

These days, at MIT, one of things students are taught is how figure
out what an under-documented abstraction (implemented in Python),
partially by reading the code (but it's way too complex), so it's
mostly by deducing the abstraction by running experiments on the
Python Library code in question.  Given how complex computers have
gotten, that's probably more realistic anticipation of what students
will need once they graduate, but yeah, it does seem a bit like
"vocational training in programming".  And that's quite a change.

When I was an undergraduate, MIT was proud of the fact that they
didn't teach CS students the C language; after all, that would be
*way* too practical/vocational.  The assumption was after you learned
Scheme and CLU, you'd be able pick up other languages on the fly.
(And they didn't really *teach* Scheme per se; the first lecture in
6.001 was about the Lambda calculus, and if you couldn't figure out
Scheme syntax from the reference manual so you could do the first
problem set, well, the EE/CS department was heavily over-subscribed
anyway, and it was a good way of filtering out the less committed
undergraduates.  :-)

      	       	  	    	- Ted

  parent reply	other threads:[~2021-09-17  2:49 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-01 21:58 Dan Cross
2021-09-02  8:42 ` Tony Finch
2021-09-03  0:19   ` John Cowan
2021-09-03  3:24     ` Douglas McIlroy
2021-09-03 13:21       ` Theodore Ts'o
2021-09-08 11:14         ` Tony Finch
2021-09-16 19:27         ` Dan Cross
2021-09-17  0:34           ` Theodore Ts'o
2021-09-17  0:44             ` Larry McVoy
2021-09-17 17:07               ` Bakul Shah
2021-09-17  1:33             ` Dan Cross
2021-09-02 15:41 ` Kevin Bowling
2021-09-02 20:12   ` Marshall Conover
2021-09-03 15:56 ` Warner Losh
2021-09-03 17:10   ` Adam Thornton
2021-09-03 17:28     ` Larry McVoy
2021-09-03 17:42       ` John Floren
2021-09-03 19:02       ` Lawrence Stewart
2021-09-03 19:11       ` Clem Cole
2021-09-03 17:46     ` [TUHS] ATC/OSDI'21 joint keynote: It's Time for Operating Systems to Rediscover Hardware [ really a comment on SoCs ] Jon Steinhart
2021-09-16 18:38 ` [TUHS] ATC/OSDI'21 joint keynote: It's Time for Operating Systems to Rediscover Hardware (Timothy Roscoe) Dan Cross
2021-09-16 19:34   ` Jon Steinhart
2021-09-16 19:41     ` Larry McVoy
2021-09-16 23:14       ` Marshall Conover
2021-09-16 23:44         ` Rob Pike
2021-09-17  0:37           ` Larry McVoy
2021-09-17  1:38         ` Jon Steinhart
2021-09-17  3:54         ` John Cowan
2021-09-16 23:45       ` Jon Steinhart
2021-09-17  0:06         ` Al Kossow
2021-09-17  4:06           ` John Cowan
2021-09-17  4:18             ` Al Kossow
2021-09-17  0:32         ` Larry McVoy
2021-09-16 23:54       ` David Arnold
2021-09-17  1:10         ` Jon Steinhart
2021-09-17  1:28           ` Larry McVoy
2021-09-17  1:40             ` Jon Steinhart
2021-09-17  2:04               ` Larry McVoy
2021-09-17  2:21                 ` Jon Steinhart
2021-09-17  2:48           ` Theodore Ts'o [this message]
2021-09-17 17:39         ` Bakul Shah
2021-09-17 17:51           ` Jon Steinhart
2021-09-17 18:07             ` Larry McVoy
2021-09-17 21:03               ` Derek Fawcus
2021-09-17 22:11                 ` Larry McVoy
2021-09-19  4:05                   ` Theodore Ts'o
2021-09-17 18:34             ` Bakul Shah
2021-09-17 18:56               ` Jon Steinhart
2021-09-17 19:16                 ` Bakul Shah
2021-09-17 19:35                   ` Jon Steinhart
2021-09-17 15:56     ` Bakul Shah
2021-09-17 18:24       ` ron minnich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YUQCALUxUkcDHZpv@mit.edu \
    --to=tytso@mit.edu \
    --cc=jon@fourwinds.com \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).