Columbia COMS W4118 - Very Early Operating Systems

Unformatted text preview:

Very Early Operating Systems• The first computers had no operating systems☞ The concept isn’t very meaningful on a plugboard orelectromechanical device...• Dedicated time only, manually managedSteven M. Bellovin January 23, 2006 1The Early Punchcard Era• Punchcards — first used for data processing in the 1880s — madepreparing programs easier• But card readers were too slow; they tied up the (very expensive)CPU• Printers had similar problems• Solution: use slower, cheaper computer to copy input/output to/frommag tapeSteven M. Bellovin January 23, 2006 2Computers Helping Themselves• The realization that computers could help themselves was fairly early• The first assembler was written by 1952• Operating systems descend from this observation: that computerswere useful for non-numeric and non-data processing workSteven M. Bellovin January 23, 2006 3Only a Partial Solution!• Even mag tapes were slower than the CPU• Changing tapes is slow and manual (these weren’t cassette tapes!)• Something had to read the next “job” from the tape• Enter the “monitor” programSteven M. Bellovin January 23, 2006 4Monitor Programs• Monitors did a small part of running the computer• (Human operators were still very busy)• The operator’s primary interaction was with the monitor, not thehardwareSteven M. Bellovin January 23, 2006 5Primitive Monitors• Often loaded from punch cards or tapes• The same was true for most compilers — disks were rare (the firstmodel, in 1956, had 50 two-foot platters, and held 5M bytes total...)• Frequent need to reload monitor — no memory protectionSteven M. Bellovin January 23, 2006 6IBSYS for the IBM 7090/7094$JOB$EXECUTE IBJOB$IBJOB GO, options$IBFTC DECK1 options (Invoke Fortran)(Fortran source program)$DATA...78EOF (Special rows 7-8 overpunch)Steven M. Bellovin January 23, 2006 7I/O Libraries• Monitors also provided I/O libraries• I/O was complicated, especially if done efficiently• Better to do it right once• Examples: card column processing, disk rotational delay, card reader“clutch point”Steven M. Bellovin January 23, 2006 8Card Reader Programming• Start the card moving• Wait for a column interrupt• When it occurs, read the value of that column• Store it in the next memory location• When card finishes, decide quickly if another card should be readSteven M. Bellovin January 23, 2006 93rd Generation Computers — 1964• Something recognizably an operating system• Memory protection; multiprogramming• Programs stored on disk• Quote from a 1963 paper on disk usage:Some thought has also been given to the storage of frequentlyused problem codes on the disk. There does not appear to besufficient benefits attainable at the present time with thepresent problem “mix.” Also, the use of the disk for such activityis not attractive from a “computer-administrative” standpointdue to the addition and deletion of problems nor from the factthat less disk storage would be available for problem usage.• On that monitor system, programmers allocated disk sectorsthemselves...Steven M. Bellovin January 23, 2006 10Why — Efficiency• Mainframes still cost millions of dollars• The CPU was idle while I/O was going on• Save the cost of I/O computersSteven M. Bellovin January 23, 2006 11Why — Technology• Important concepts: memory protection, virtual memory, interrupts• Hardware had improved to the point that an OS was feasible:– Enough RAM (“core”) to hold it– Disks became the norm– Fast enough CPUs• Beginnings of remote accessSteven M. Bellovin January 23, 2006 12Multiprogramming• Run several programs at once• Protect each one’s memory against the others• When one program needs to do I/O, let another program use the CPU• As necessary, pre-empt a CPU-bound program to let another run• Use OS “daemons” for spooling — Simultaneous Peripheral OutputOnLineSteven M. Bellovin January 23, 2006 13Disks• Load OS and applications from disk• Manage disk space allocation• Store and retrieve files by name• Provide some protection for filesSteven M. Bellovin January 23, 2006 14Notable Early Operating Systems• IBM OS/360 (its descendants are still with us)3 variants, one of which wasn’t multiprogramming• Multics• TOPS-10 (For DEC’s 36-bit machines)Steven M. Bellovin January 23, 2006 15Timesharing• Support people on low-speed terminals• Systems ranged from remote editing and batch submission tospecialized restricted environments (BASIC) to operating systemsdesigned for the purpose.• Timesharing systems stressed responsivenessSteven M. Bellovin January 23, 2006 16Sample IBM Job Control Language (JCL)//J1 JOB UR00045,BELLOVIN,TIME=(1,30),REGION=130K// EXEC FORTRAN//SYSOUT DD SYSOUT=A//SYSDUMP DD SYSOUT=A//TEMP DD UNIT=DISK,SPACE=(TRK,10),DSN=SMB.TEMP,// DISP=(NEW,DELETE)//SYSIN DD*user data..../*Steven M. Bellovin January 23, 2006 17Controlling Monitors and Early OperatingSystems• Command language — moral equivalent of shell• Supply accounting information• Request resources — memory, CPU time, tapes, disk space• Invoke user or system programs• Batch-oriented — submit your “job” on punch cards, pick it up a fewhours laterSteven M. Bellovin January 23, 2006 18Enter the Minicomputer• Improved technology permitted small, (relatively) cheapminicomputers ($20-40K)• May or may not have had disks; programmed by punch cards orpaper tape• No memory protection — ran on monitors, not operating systems• Followed the same evolutionary path as mainframes• Most important early mini: DEC PDP-8Steven M. Bellovin January 23, 2006 19High-Level Languages and Operating Systems• Early OSs written in assembler• Notable exception: Burroughs 5000 designed for Algol (1961!)• Multics (started in 1965) used PL/I• Unix (early 1970s) used C• In mid-1970s, IBM migrated to PL/S, a medium-level languageSteven M. Bellovin January 23, 2006 20Microcomputers• By the late 1970s, minicomputers had memory protection and realoperating systems• By then, microcomputers had come along• These had no memory protection, no operating systems, and nodisks...• Windows XP is the first version of Windows that has few architecturalconcessions to this history• But the habit of users running as Administrator dates back to that era• Many Windows security problems are due to the recapitulation of1950s computer history!Steven M. Bellovin January 23, 2006


View Full Document

Columbia COMS W4118 - Very Early Operating Systems

Download Very Early Operating Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Very Early Operating Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Very Early Operating Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?