Talk:History of operating systems
From Wikipedia, the free encyclopedia
Contents |
[edit] Draft
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).
Unix arose in this period, but also survived the transition of computing to the PC by dint of the widespread popularity of its concepts.
[edit] Missing items
Surely the article should have mention of the following:
- bootstrap loader
- absolute addressing code
- relative addressing code
- relocatable code
- overlay systems
- paging
- 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)
- scripting
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)
[edit] Protection
Article unprotected. --Κσυπ Cyp 09:50, 5 Nov 2003 (UTC)
[edit] 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?"
[edit] "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)
[edit] 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.)
-- Zoltar
- 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)
[edit] More ToDo
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
[edit] missing items and misc notes.
Item 1:
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?
Item 2:
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.)
Item 3:
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.)
- ef