4 ms·
IBM's SSEC, the first computer that could modify a stored program
- einpoklum 4y agoThe machine was "designed, built, and placed in operation in only two years" ... impressive!
- jmclnx 4y agoI remember the time when modifying running programs were a big rage. Now seems many OSs are going in the opposite direction with OpenBSD leading the race.
- baabaloo 4y agoIt's a security vulnerability tbh
- addaon 4y agoIs OpenBSD moving away from program loading and dynamic linking? Even many embedded systems allow software updates these days…
- jmclnx 4y agoWhat I am referring to is not dynamic linking, but something else. My memory of that is rather faded and I only remember seeing in in various docs something like 40 years ago
- addaon 4y agoDynamic linking is by far the dominant use of self-modifying code these days, followed shortly by JIT code generation.
- flangola7 4y agoWhat is OpenBSD pivoting towards? Immutable images?
- deanmen 4y agoHe's probably referring to the W^X (write xor execute) feature of OpenBSD https://en.wikipedia.org/wiki/W%5EX https://en.wikipedia.org/wiki/W%5EX http://www.openbsd.org/papers/ven05-deraadt/mgp00009.html http://www.openbsd.org/papers/ven05-deraadt/mgp00009.html
- chx 4y agoPersnickety but also curious comment: wasn't the System/360 the first mainframe?
- rst 4y agoBy the time the S/360 was announced, IBM had already been producing top-of-the-line systems with the main processor sharing memory with several I/O "channels" for several years -- which would be "mainframes" by any reasonable definition I can think of other than "S/360 and derivatives" (which, by the way, excludes competing mainframe systems from Univac and Burroughs, among others).
- KerrAvon 4y agoThe UNIVAC, in 1951, was probably the first mainframe recognizable as such. Big boxes, tape drives, lots of I/O. For a brief time, "Univac" was synonymous with "computer". IBM quickly put a stop to that, of course. https://en.wikipedia.org/wiki/UNIVAC https://en.wikipedia.org/wiki/UNIVAC
- cwillu 4y agoHence Asimov's “The Last Question” referring to the computer as Multivac and variations thereof, culminating in “Universal AC”.
- msla 4y agoAs others have said, the System/360 line wasn't even IBM's first generation of mainframes, but it was the first line of computers with an ISA as we understand the term: A document describing an environment for software to be written for independent of any specific machine, such that the machines would be implementations of that ISA and multiple different machines could all run the same software. IBM used this to make a whole line of different mainframes at different price points that could all run (mostly) the same software, to the limits of different machines having different amounts of RAM and some machines not having disk drives and some opcodes not being implemented on certain low-end models, just like how it works these days. But that came about in the mid 1960s, and IBM had been making commercial mainframes for over a decade by then.
- deleted 4y ago[deleted]
- dev_tty01 4y agoSPICE, the integrated circuit simulation software, used to "compile" at run time an optimal chunk of machine code specific to the matrix to be solved. This was only for CDC machines. There was actually a parameter called LVLCOD that the user could use to specify that custom machine code was generated at runtime or not.
- breput 4y agoJust in case anyone wants to see the rather delightful cartoon referenced in the article, which is now a dead link[0]: [0] https://web.archive.org/web/20050305233206/https://www.columbia.edu/acis/history/newyorker-720-lo.jpg https://web.archive.org/web/20050305233206/https://www.colum...
- kps 4y agoNow at http://www.columbia.edu/cu/computinghistory/newyorker-720-lo.jpg http://www.columbia.edu/cu/computinghistory/newyorker-720-lo... (the Columbia article links do redirect). Edit: perhaps that image is not hotlinkable.
- luuuzeta 4y agoI get "Object Not Found!"
- breput 4y agoSame
- kps 4y agoOdd. I had visited the Columbia page¹ first, so it may be an anti-hotlinking measure. ¹ http://www.columbia.edu/cu/computinghistory/ssec.html http://www.columbia.edu/cu/computinghistory/ssec.html
- breput 4y agoI get the same 404 error in both a browser (manually entering the URL, not following the link) and curl: * Trying 128.59.105.24... * TCP_NODELAY set * Connected to www.columbia.edu (128.59.105.24) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Change cipher spec (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 * ALPN, server did not agree to a protocol * Server certificate: * subject: C=US; ST=New York; O=Columbia University; CN=.columbia.edu start date: Jan 21 00:00:00 2023 GMT * expire date: Feb 21 23:59:59 2024 GMT * subjectAltName: host "www.columbia.edu" matched cert's ".columbia.edu" issuer: C=US; ST=MI; L=Ann Arbor; O=Internet2; OU=InCommon; CN=InCommon RSA Server CA * SSL certificate verify ok. > GET /cu/computinghistory/ssec.html HTTP/1.1 > Host: www.columbia.edu > User-Agent: curl/7.64.1 > Accept: / > < HTTP/1.1 404 Not Found
- kps 4y agoThe linked article doesn't mention that the SSEC's modifiable-program nature is debated, since it normally read instructions from paper tape. It did have a small (150 word) relay store from which it could also read instructions (so I personally think it counts). http://www.quadibloc.com/comp/cp04.htm#ssec http://www.quadibloc.com/comp/cp04.htm#ssec http://www.columbia.edu/cu/computinghistory/ssec.html http://www.columbia.edu/cu/computinghistory/ssec.html