Talk:History of operating systems
|WikiProject Computing||(Rated Start-class, Mid-importance)|
- 1 Draft
- 2 Missing items
- 3 Protection
- 4 Removed plea for help
- 5 "Home computers" vandalism
- 6 GUI memory requirements
- 7 More ToDo
- 8 missing items and misc notes.
- 9 Restructure needed?
- 10 Not mentioning MULTICS in this Article is not a good thing
- 11 Bundling and unbundling
- 12 No machine language
- 13 Role of IBSYS/IBJOB
- 14 Apple's OS dominant (in 1989)?
- 15 TSS/360 never officially released?
- 16 Provenance of ESPOL versus JOVIAL and NELIAC
Timesharing was economically popular in the American computer industry in the 1960s and 1970s, in which users would share time-slices of CPU time, typically in round-robin fashion. Since the CPUs were much faster than human reaction time, the CPU appeared to be a single-user system to each user. The users would cluster around the computer room, typically in a separate area, with workstations such as Teletypes or dot-matrix printers with attached keyboards. Eventually video screens and keyboard combinations such as the VT-100 took over because they were quieter and faster than printing terminals. These video-display terminals sold for several thousand US Dollars apiece. In the computer room, the consoles still were printers and keyboards because they produced paper evidence in the event of a system crash.
The languages of the time were largely BASIC, FORTRAN and COBOL. Databases were hierarchical, as the Relational Database concepts were not yet widely published. Hundreds of Database companies competed at the time. Even Intel, a hardware company, started a database product, but abandoned it after learning that software development was slower than hardware development. Computer graphics were hugely expensive. Even in the late 1980's, the color monitors still sold for $100,000 apiece.
The operating systems, such as DTSS, for Dartmouth Time-Sharing System, GECOS, or GCOS (which name survives as a field in the UNIX etc/passwd file), TOPS-10 and TOPS-20 specifically supported multiple users.
Large corporations, such as GE, re-wrote their managerial accounting systems to support timesharing with GCOS.
The universities supported time-sharing systems to teach computer languages.
The MIT AI Lab flourished in this type of environment, where users could learn from each other, and wrote their own operating systems and utilies, in languages like Lisp, using EMACS (an editor that can understand Lisp) or TECO (an editor which also had a small language in it).
Surely the article should have mention of the following:
- bootstrap loader
- absolute addressing code
- relative addressing code
- relocatable code
- overlay systems
- virtual memory
- re-entrant code
- levels of protection (e.g Multics onion ring model)
- multiprocessor systems
- distributed systems
- real time operation (most modern OS's are NOT real time systems)
- user interfaces
- file system
- utilities etc. (e.g Unix providing a bundle of cooperating utilities)
- device independent I/O (factoring out the device independent code from the device dependent code)
- file redirection (related to above)
I'm not going to write, or rewrite the article- at this time at least- but these are surely relevant topics. --David Martland 10:24, 26 Aug 2003 (UTC)
- GNU and the free software movement are two more things for that list. Gronky 00:30, 18 June 2007 (UTC)
Article unprotected. --Κσυπ Cyp 09:50, 5 Nov 2003 (UTC)
Removed plea for help
Moved from after last paragraph. --Lexor 10:35, 7 Nov 2003 (UTC)
- "someone help me here on the history; this is just vague rambling;
- what about mini and mainframe history, development of Mach kernel, etc.,
- and the other gaps I'm leaving?"
"Home computers" vandalism
What's up with the "The case of Home computers" etc. section? Somebody has been editing it by merely deleting and inserting jibberish...why? If something's wrong with it, please discuss it here! --EpiVictor 16:24, 7 Oct 2004 (UTC)
GUI memory requirements
From the section on 8-bit computers:
- "the bare minimum for a GUI is around 512 kilobytes, as the case of the Commodore Amiga shows"
I know I'm probably wrong, but didn't the very first Amigas ship with 256k of memory? --Lovely_Chris
The first Mac had only 128MB. They could run MacPaint, and little else (or so I read at the time.)
- It ran MacWrite too, but it was tight. Many people, including myself, waited for the 512K "FatMac" which was much more usable. One should probably note that both have 128K of ROM twith a lot of the GUI built in. Maybe the sentence should read "bare minimum for a usable GUI." --agr 18:23, 10 March 2006 (UTC)
There is a great deal of material omitted here that is essential for understanding the nature of what operating systems do, how they have evolved, their relationship to hardware, and how (for instance) PC vs. industrial operating systems have varied over time from the inception of the PC, which is here represented as a linear step as opposed to the divergence it was and still remains.
These include but are not limited to:
- interrupt-driven IO vs. polling IO
- memory protection and privilege enforcement
- models of multiprogramming as relates to memory management
- models of multiprogramming as relates to task scheduling
- exception handling capabilities of cpus
- address translation capabilities of cpus
- formal models of operating system -managed resources (IRIM strings, queueing theory, etc.)
- Denning's WS advance in page replacement
- Corbato's and/or Kleinrock's multilevel queue and other task scheduling advancements (and possibly mistakes, e.g. early UNIX scheduling algorithms)
- How filesystems have evolved over time.
- various "massive mistakes", e.g. m88k
- trends in research operating systems (particularly past trends that are still in the process of getting deployed)
There is a lot of other missing material, such as the evolution of device capabilities, networking, and much more. Networking in particular posed unusual problems because of a vast namespace not representible by means of any preexisting operating system facilities and the newfound ability of users completely unassociated with the system to provide hostile stimuli (e.g. "packets of death", pingflooding) creating numerous problems for security models prepared only for potentially disallowable actions by local users in process context (hardware devices such as disks and tapes were generally implicitly trusted). It's not really that this vast amount of material didn't get covered, it's that none of it was even hinted at, and so the article ends up being completely uninformative as to what the functional and contextual differences between operating systems at various points in time were. For instance, a great deal of new and essential information is already imparted by the observation that hardware capabilities have vastly increased over time, and by so doing have lifted numerous restrictions operating systems had to traditionally impose as well as enabling them to provide tremendous amounts of new functionality. But this is not remarked upon at all. For all our poor reader knows after reading the article, operating systems have been in technological stasis from their inception. I would prefer not to clobber the article wholesale as I'm not prepared to supply references for much of this without preparatory research. But I would like to state the intention to incrementally contribute information about these aspects of OS history over time if others do not do so first. --Wli
missing items and misc notes.
I looked up this article hoping to find an answer to specific questions:
-- What was the first product to be called an "operating system" (as opposed to a runtime library or monitor) ?
-- When did work on that product begin?
-- When did it go into production?
Sorry to say I didn't find the answers. Anybody know?
Was disappointed at little or no discusion of the work at Xerox Parc during the 1970's and 80's, or of VAX/VMS.
It seems to me that there is a hybrid style of operating system that has been pervasive on workstations and midrange servers for some time and has recently migrated to PCs and is finding it's way into PDA's as well. If you look at the products coming out of Bell Labs, Xerox Parc, and DEC in the late 70's and early 80's you'll find precursors to most of the features of of today's most popular operating systems. (there are exceptions like the AS/400.)
I've looked at the list of proscpective items to be added and just wanted to point out that many are addressed in other articles. I do think including a timeline of when significant OS features were devised would be very holpful, but it could be composed largely of links to other articles. Where the info is available, it would always be nice to know when work began on adding a feature and when it was first demonstrated or put into production. (Helps get a sense of how ideas get around.)
- Define the scope and ojectives of the "top-level" articles about operating systems, since there appears to be some duplication and inconsistency. This would affect mainly Operating system and History of operating systems. I suggest Operating system should stick to the features and issues of modern operating systems (quite a large subject as it needs to cover Windows, Unix and offshoots, the Mac OSs and a few mainframe OSs. And it needs to point out that there also special-purpose OSs, e.g.: for embedded systems; for unusual applications such as airline reservations). Then History of operating systems can be a chronological summary of the major mile-stones in the history of OSs at a fairly high level, relying on e.g. History of IBM mainframe operating systems, articles about other hardware-specific OSs, Unix and Windows to provide more detailed accounts.
- Rewrite History of operating systems with separate main sections for mainframes, minicomputers, personal computers and special-purpose / embedded systems (which is a diverse group, e.g. PDAs, mobile phones, industrial process controllers, aircraft, smart weapons); each main section in a mainly chronological style. Correct errors as we notice them (e.g. History of operating systems mentions OS/360 but gives a slightly inaccurate picture of how that lineage developed, and does not mention DOS/360, whose successor z/VSE is still widely used).
Looking at the post just before this one, I think a short summary of when the main features of modern operating systems were first proposed and first implemented would also be useful. I used a similar approach in Evolution of mammals, which is mainly chronological but finishes with a section "Evolution of specific mammalian features", and it seems to have worked reasonably well. Philcha (talk) 18:24, 23 November 2007 (UTC)
Not mentioning MULTICS in this Article is not a good thing
Bundling and unbundling
There was no monotonic change from stripped down operating systems to bundling suites of applications. IBM's OS/360 included a suite of compilers for multiple languages, but in the wake of the ADR law suite IBM announced successor systems that didn't include any compiler other than the assembler and didn't even include a sort/merge utility. Insted, IBM offered chargable program products that the customer could order.
No machine language
The Burroughs B-5000 most certainly did have a machine language, documented in, e.g., Burroughs (1963). The Operational Characteristics of the Processors for the Burroughs B5000 (PDF). Revision A. 5000-21005. . In fact, while it did not have a separate assembler, ESPOL included statements for each of the syllables in the B5000's repertoire. Shmuel (Seymour J.) Metz Username:Chatul (talk) 22:46, 22 November 2010 (UTC)
- OK, does
- The B5000 was a stack machine designed to exclusively support high-level languages, with no software, not even at the lowest level of the operating system, being written directly in machine language or assembly language; the MCP was the first OS to be written entirely in a high-level language - ESPOL, a dialect of ALGOL - although ESPOL had specialized statements for each "syllable" (opcode) in the B5000 instruction set.
- describe that better? That's what I edited that sentence to say. Guy Harris (talk) 09:48, 23 November 2010 (UTC)
- That works. I noticed that the text could be read as conflating the B5000 with the B6500 and later machines, so I added a sentence, giving
Burroughs Corporation introduced the B5000 in 1961 with the MCP (Master Control Program) operating system. The B5000 was a stack machine designed to exclusively support high-level languages, with no software, not even at the lowest level of the operating system, being written directly in machine language or assembly language; the MCP was the first OS to be written entirely in a high-level language - ESPOL, a dialect of ALGOL - although ESPOL had specialized statements for each "syllable" (opcode) in the B5000 instruction set. MCP also introduced many other ground-breaking innovations, such as being the first commercial implementation of virtual memory. The rewrite of MCP for the B6500 is still in use today in the Unisys ClearPath/MCP line of computers.
- That works. I noticed that the text could be read as conflating the B5000 with the B6500 and later machines, so I added a sentence, giving
- In the early 1960s I attended a presentation by several Ferranti sales people and one of them explicitly offerred to sell an Atlas to my employer North American Aviation. Therefore the Atlas was intended as a commerical system, although NAA did not buy any. Greensburger (talk) 17:08, 23 November 2010 (UTC)
Role of IBSYS/IBJOB
While editing the text for OS/360 I noticed that there was no mention of IBSYS/IBJOB. IBSYS introduced several important concepts that resurfaced in OS/360, and IBM ported it from the 7090/7094 to two other product lines. I believe that it is notable and should be included in the article, although it would break the continuity for this state of affairs in the OS/360 section. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:27, 2 January 2011 (UTC)
- According to the History of IBM mainframe operating systems and SHARE Operating System (SOS) articles, SOS was created in 1959 and IBSYS was IBM's version of SOS ported to its new transistor-based computers 7090 and 7094 (around 1961). And therefore the "several important concepts" you mentioned may have been present in SOS. I first heard the expression "operating system" in 1960 in connection with an interim version of SOS called ISOS. IBSYS included relocatable object modules (SOS used hard-coded fixed addresses) and Job control language (JCL) with $IBJOB beginning in column 1 (later replaced by // JOB in OS/360). OS/360, unlike SOS was protected from modification by application programs, and provided random-access disk-access methods (BDAM and ISAM). Did IBSYS have those features? What other features did IBSYS have that SOS did not have? Greensburger (talk) 19:19, 2 January 2011 (UTC)
- AFAIK SOS was rather minimal and did not include, e.g., planned overlay structures, or any other facilities of IBJOB. In particular, it did not include compilers for COBOL, FORTRAN IV or MAP.
- There were components of IBSYS that didn't run under IBJOB, e.g., FAP.
- Storage protection in OS/360 was optional. Also, there were a large number of ways for an application to illicitly get into key 0.
- IOCS in IBSYS supported random access files on a 1301 or 1302, but did not have equivalents to BDAM or ISAM.
- Wouldn't the equivalent of the JOB statement in OS/360 be *ID or * XEQ?
Apple's OS dominant (in 1989)?
The quote, is that just one persons opinion? Not sure it and the sentence should be here. (And "Bill Gate's company" should say "Bill Gates' company". Not sure you should correct grammar in quotes..) comp.arch (talk) 15:28, 19 November 2013 (UTC)
TSS/360 never officially released?
IBM included TSS/360 in the S/360 catalog of programs and included its manuals IBM System/360 and System/370 Bibliography. IBM announced multiple releases of TSS/360 and even offered a TSS/370 PRPQ; given that, the claim but never officially released, TSS/360 seems strange. Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:18, 21 November 2014 (UTC)
The article refers to MCP as being the first to be implemented in a HLL. A citation is needed to establish that it preceded the use of JOVIAL and NELIAC for that purpose. Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:07, 2 December 2014 (UTC)
- Based on ALGOL 58