About site: Software/Operating Systems/History - Operating Systems History
Return to Computers also Computers
  About site: http://www.cs.gordon.edu/courses/cs322/lectures/history.html

Title: Software/Operating Systems/History - Operating Systems History A Brief History of Computer Operating Systems from the mid 1950s on.
LittleOS New operating system. Goal: to be stable and easy to use. Everyone can join. In Français and English. [Open Source]

Orchestra_Networks EBX.Platform helps companies to unify and manage their reference business data and parameters across systems. Based in Paris.

Metcom_Data_Labs Data conversion and migration for the healthcare industry.

Cosmin_Software Featuring the Globex suite Currency Exchanger, World Clock, Country Info Browser, and Interest Calculator. The site also features other shareware and freeware applications.

ONTC Web design company.

Mailfilter A utility to get rid of unwanted spam mails, before downloading them from the POP3 mailbox. (C++) [GNU/Linux, Unix, Windows 9x/2000/NT]


  Alexa statistic for http://www.cs.gordon.edu/courses/cs322/lectures/history.html





Get your Google PageRank






Please visit: http://www.cs.gordon.edu/courses/cs322/lectures/history.html


  Related sites for http://www.cs.gordon.edu/courses/cs322/lectures/history.html
    2and2_net Free hosting for pictures, has a 1mb limit per file and gives integration codes for forums and websites after upload.
    JCLE Fast and reliable web hosting backed by extensive customer support. Available in London and Washington.
    Imedia_Builders Development of FlareProducts, a family of products designed to make the creation of simple or comprehensive web-based animation and interactivity easy.
    RFC_3269 Author Guidelines for Reliable Multicast Transport (RMT) Building Blocks and Protocol Instantiation documents. R. Kermode, L. Vicisano. April 2002.
    eRecord_Ltd Service that records cell phone conversations in the UK.
    RSJ_Intermedia Offers digital media and video on demand services.
    Luabind Library to make bindings between C++ and Lua; description, manual, links. Rasterbar Software. Open source, MIT license.
    Netatalk A package that lets a Unix machine supply Appletalk print and file services on a LAN. The package supports AppleShare IP and classic Appletalk protocols.
    Xingtone_com Software to convert sound files into ringtones. [Windows]
    Smoke_in_C4D Offers examples and tutorial information on how to use visible lights to make wispy, smoky smoke in C4D.
    _CluelessCat? Thanks to a (previously) little-known company called "Digital Convergence," we now have our latest attack on the right to program. [Linux Weekly News] (September 7, 2000)
    RFKmap A free code which join FastTemplate and PHPlib's class (DB_Sql) to create an object system for a content management and viewer. A easy syntax to create one instance to access a complex queries and map
    NetworkWorldFusion__Overview_of_application_firewalls Article explaining some common port 80 attacks and the products available to combat them. (November 10, 2003)
    DMoniX_org BattleX, Codex, HTTP Debugger, Oracle Doc. Gen., Oracle, Session Man., Timex, and Toolex. [Requires JavaVM]
    COBOL-85_Test_Suite The COBOL85 test suite is a product of the National Computing Centre, UK. It is used to determine, insofar as is practical, the degree to which a COBOL processor conforms to the COBOL standard (ANSI X
    Boston_Websites Design and hosting assistance for small and medium-sized businesses. Based in Bebington, United Kingdom.
    Thomas_Scherrer_Z80-Family_Official_Support_Page Information about programming, hardware, software, utilities, CPUs, and assemblers for the Z80 processor family.
    GamesExcel Collection of games for Excel.
    A_Popularity_Contest Easy poll creator (with ads) for your personal website, or blog. Directory of active polls.
    Yahoo_Groups__SUSE Collection of electronic mailing lists about this distro. Topics often include troubleshooting, news, and tips. Some groups may require free registration.
This is websites2007.org cache of m/ as retrieved on 2008.09.07 websites2007.org's cache is the snapshot that we took of the page as we crawled the web. The page may have changed since that time.
CS322: Operating Systems History

CS322: A Brief History of Computer Operating Systems

The Bare Machine

Stacked Job Batch Systems (mid 1950s - mid 1960s)

A batch system is one in which jobs are bundled together with theinstructions necessary to allow them to be processed without intervention.Often jobs of a similar nature can be bundled together to further increaseeconomyThe basic physical layout of the memory of a batch job computer is shownbelow: -------------------------------------- | | | Monitor (permanently resident) | | | -------------------------------------- | | | User Space | | (compilers, programs, data, etc.) | | | --------------------------------------The monitor is system software that is responsible for interpretingand carrying out the instructions in the batch jobs. When the monitor starteda job, it handed over control of the entire computer to the job, which thencontrolled the computer until it finished.A sample of several batch jobs might look like: $JOB user_spec ; identify the user for accounting purposes $FORTRAN ; load the FORTRAN compiler source program cards $LOAD ; load the compiled program $RUN ; run the program data cards $EOJ ; end of job $JOB user_spec ; identify a new user $LOAD application $RUN data $EOJOften magnetic tapes and drums were used to store intermediate dataand compiled programs.Advantages of batch systems move much of the work of the operator to the computer increased performance since it was possible for job to start as soon as the previous job finished Disadvantages turn-around time can be large from user standpoint more difficult to debug program due to lack of protection scheme, one batch job can affect pending jobs (read too many cards, etc) a job could corrupt the monitor, thus affecting pending jobs a job could enter an infinite loop As mentioned above, one of the major shortcomings of early batch systemswas that there was no protection scheme to prevent one job from adverselyaffecting other jobs.The solution to this was a simple protection scheme, where certainmemory (e.g. where the monitor resides) were made off-limits to user programs.This prevented user programs from corrupting the monitor.To keep user programs from reading too many (or not enough) cards, thehardware was changed to allow the computer to operate in one of two modes:one for the monitor and one for the user programs. IO could only be performedin monitor mode, so that IO requests from the user programs were passed to themonitor. In this way, the monitor could keep a job from reading past it'son $EOJ card.To prevent an infinite loop, a timer was added to the system and the$JOB card was modified so that a maximum execution time for the jobwas passed to the monitor. The computer would interrupt the job and returncontrol to the monitor when this time was exceeded.

Spooling Batch Systems (mid 1960s - late 1970s)

One difficulty with simple batch systems is that the computer still needsto read the the deck of cards before it can begin to execute the job. Thismeans that the CPU is idle (or nearly so) during these relatively slowoperations.Since it is faster to read from a magnetic tape than from a deck of cards,it became common for computer centers to have one or more less powerfulcomputers in addition to there main computer. The smaller computers wereused to read a decks of cards onto a tape, so that the tape would containmany batch jobs. This tape was then loaded on the main computer and thejobs on the tape were executed. The output from the jobs would be writtento another tape which would then be removed and loaded on a less powerfulcomputer to produce any hardcopy or other desired output.It was a logical extension of the timer idea described above to have atimer that would only let jobs execute for a short time before interruptingthem so that the monitor could start an IO operation. Since the IO operationcould proceed while the CPU was crunching on a user program, littledegradation in performance was noticed.Since the computer can now perform IO in parallel with computation, itbecame possible to have the computer read a deck of cards to a tape, drum ordisk and to write out to a tape printer while it was computing. This processis called SPOOLing: Simultaneous PeripheralOperation OnLine.Spooling batch systems were the first and are the simplest of the multiprogramming systems.One advantage of spooling batch systems was that the output from jobs wasavailable as soon as the job completed, rather than only after all jobsin the current cycle were finished.

Multiprogramming Systems (1960s - present)

As machines with more and more memory became available, it was possibleto extend the idea of multiprogramming (or multiprocessing) as used inspooling batch systems to create systems that would load several jobs intomemory at once and cycle through them in some order, working on each onefor a specified period of time. -------------------------------------- | Monitor | | (more like a operating system) | -------------------------------------- | User program 1 | -------------------------------------- | User program 2 | -------------------------------------- | User program 3 | -------------------------------------- | User program 4 | --------------------------------------At this point the monitor is growing to the point where it begins toresemble a modern operating system. It is responsible for:starting user jobsspooling operationsIO for user jobsswitching between user jobsensuring proper protection while doing the aboveAs a simple, yet common example, consider a machine that can run two jobsat once. Further, suppose that one job is IO intensive and that the otheris CPU intensive. One way for the monitor to allocate CPU time between thesejobs would be to divide time equally between them. However, the CPU wouldbe idle much of the time the IO bound process was executing.A good solution in this case is to allow the CPU bound process (thebackground job) to execute until the IO bound process (theforeground job) needs some CPU time, at which point the monitor permitsit to run. Presumably it will soon need to do some IO and the monitor canreturn the CPU to the background job.

Timesharing Systems (1970s - present)

Back in the days of the "bare" computers without any operating systemto speak of, the programmer had complete access to the machine. As hardwareand software was developed to create monitors, simple and spooling batchsystems and finally multiprogrammed systems, the separation between the userand the computer became more and more pronounced.Users, and programmers in particular, longed to be able to "get to themachine" without having to go through the batch process. In the 1970s andespecially in the 1980s this became possible two different ways.The first involved timesharing or timeslicing. The ideaof multiprogramming was extended to allow for multiple terminals to beconnected to the computer, with each in-use terminal being associated with one or more jobs on the computer. The operating system is responsible forswitching between the jobs, now often called processes, in such away that favored user interaction. If the context-switches occurredquickly enough, the user had the impression that he or she had directaccess to the computer.Interactive processes are given a higher priority so that whenIO is requested (e.g. a key is pressed), the associated process is quicklygiven control of the CPU so that it can process it. This is usually donethrough the use of an interrupt that causes the computer to realizethat an IO event has occurred.It should be mentioned that there are several different types of timesharing systems. One type is represented by computers like our VAX/VMScomputers and UNIX workstations. In these computers entire processesare in memory (albeit virtual memory) and the computer switches betweenexecuting code in each of them. In other types of systems, such as airlinereservation systems, a single application may actually do much of thetimesharing between terminals. This way there does not need to be a differentrunning program associated with each terminal.

Personal Computers

The second way that programmers and users got back at the machine was theadvent of personal computers around 1980. Finally computers became smallenough and inexpensive enough that an individual could own one, and hencehave complete access to it.

Real-Time, Multiprocessor, and Distributed/Networked Systems

A real-time computer is one that execute programs that are guaranteedto have an upper bound on tasks that they carry out. Usually it is desiredthat the upper bound be very small. Examples included guided missile systemsand medical monitoring equipment. The operating system on real-time computersis severely constrained by the timing requirements.Dedicated computers are special purpose computers that are usedto perform only one or more tasks. Often these are real-time computers andinclude applications such as the guided missile mentioned above and thecomputer in modern cars that controls the fuel injection system.A multiprocessor computer is one with more than one CPU. Thecategory of multiprocessor computers can be divided into the followingsub-categories:shared memory multiprocessors have multiple CPUs, all with access to the same memory. Communication between the the processors is easy to implement, but care must be taken so that memory accesses are synchronized.distributed memory multiprocessors also have multiple CPUs, but each CPU has it's own associated memory. Here, memory access synchronization is not a problem, but communication between the processors is often slow and complicated.Related to multiprocessors are the following:networked systems consist of multiple computers that are networked together, usually with a common operating system and shared resources. Users, however, are aware of the different computers that make up the system.distributed systems also consist of multiple computers but differ from networked systems in that the multiple computers are transparent to the user. Often there are redundant resources and a sharing of the workload among the different computers, but this is all transparent to the user.$Id: history.html,v 1.3 2000/01/07 17:03:38 senning Exp $These notes are based on a set of notesby Prof. R. Bjork, Gordon College and the textbooks Operating SystemConcepts by Silberschatz and Galvin, Addison-Wesley, 1998 andOperating Systems: Design and Implementation by Tanenbaum andWoodhull, Prentice-Hall, 1997.
 

A

Brief

History

of

Computer

Operating

Systems

from

the

mid

1950s

on.

http://www.cs.gordon.edu/courses/cs322/lectures/history.html

Operating Systems History 2008 September

dvd rental

dvd


A Brief History of Computer Operating Systems from the mid 1950s on.

Rules




© 2008 Internet Explorer 5+ or Netscape 6+

Recommended Sites: 1. Arts - Business - Computers - Games - Health - Home - Kids and Teens - News - Recreation - Reference - Regional - Science - Shopping - Society - Sports - World Miss Gallery - Top Anime Hentai - DVD rental by mail - Problem Mortgage - Online Advertising - High Paying Adsense List - Online Loans - Eugene Grin
2008-09-07 00:19:05

Copyright 2005, 2006 by Webmaster
Websites is cool :) 286Bielizna - Hotels In Wroclaw - Wyhoduj Triopsy - Fishing Tackle - Hotel Hannover