Fundamentals Of Time Shared Computers

Transcription

FundamentalsofTime SharedComputersby C. Professorof ComputerCarnegieof ComputerCorporation,Institute.ofDesign,Science setts,“Time-sharing” is discussed generally in this article to cover,anyapplication of a computer system that has simultaneous users. Thediscussion defines general purpose time-sharing so as to include specialpurpose time-sharing, “real time”, and “on line” systems as asubset. “Graceful Creation”, or the “boot strapping” of a system, isdescribed in which newly ‘created in.dividual user procedures are immediately available to the whole community of users, an,&the system expandsin a:n open-ended fashion because many users contribute to the formation.Although the discussion is separated into hardware, operating systemsoftware, and user components, a sharp delineation does not exist in reality.After the basic system. is specified, it is the phi1osoph.y of the authorthat the system should be formed in a time-shared environment(including the construction of the operating system software).Fewresrictive features or functions should be “built-in”, but instead, beoptionally available through the library or common files.The underlying design criteria should be: jtexibility, modularity,simplicity of module intercommun,ication, and open endedness.The basic objectives of time-sharing are to increase user and/or overallcomputer system productivity.Present general com&tationalsystemsare an extension of special, shared, nzulti l.ogram7, ed systemscentered around special applications (e.g., .process control, commandand control, information inquiry, etc.). As such, time sharing is anothertechnique that makes the computer a more general tool.All future computers will have at least some basic hardware for a formof time-shared usage. These systems forks will ruu the ga,,lut fromdedicated systems with a permanent user, fh rough geuera.1 systems withvarying number of users, to a network of shared computers.The article discusses 0x19 the basic stwwtuw of the system, with emphasison the hardware, because of space limitations. For example, fhe issue ofscheduling jobs is discussed only super*ficially by listing the system variableson which scheduling depends, to.gether with a common scheduling algorithm.-

INTRODUCTIONi/.HardwareTime-Sharingis the simultaneousshared use of a computer system byindependent users especting short orappropriate(or apparently instantaneous) responses, within the limitsof the request and system, to computational demand stimuli.Time sharing provides a level ofservice to a user who could only previously have had the service by owning his own computer.The sharingis based on the principle that there isenough capacity in a computer formultiple users, assuming: the properordering of requests; the user consoles are active only a small fractionof the time; and a console is beingused for input or output, in whichcase, another user can be processedon an overlappin g basis during theinput or ig. 2.HardwareT.Zl7UiI-alControlof process(originateprocess.stop process.etc,)Data for process(e.g.text for Editor)The hardware enacts the procedures required by either the user orthe operating system, and providesthe physical components which makea logical and physical implementation. possible. The hardware components are: processors, primary memories, peripherals(terminals and filememories),control and switches.System ngor 2.3.DataNew processestilxatyinformationinformationcontrolThe User’s Apparentorcontrolfl?vSystemThe User’s Apparent System includes the terminals,files, and aprocess as shown in Figure 2.The terminals provide a node fora communicationlink between thesystem and user for the control ofthe user process and transmission ofdata. Terminals are at the computer’s periphery and include deviceslike typewriters, printers, cathode raytube displays, audio output responseunits, etc.The files or data base retain theuser’s informationwhile in the system. This information includes bothhis dormant processes or programs,or, in general, all the data he wishesthe system to retain.The user process or user procedureor program directs the system for hisfile, terminal, and processing alHnrdwareLoqic a 1 edcompute&basic criteria are: being shared among multiple users; providing independenceamongthe users;and providingnear!y “instantaneous”service to itssimultaneous users (within the limitsof their requests).activity).ho.c.tr 1.\TIME-SHARINGPilesSys ternSoftware\process-terminalUser’s apparent system.The HardwareThe Operating System Software isresponsible for the allocation of resources among users and the efficientmanagementof the resources.InUser\pgocess-file.addition,it managesall commonsofhvare procedures (or program library), such as translators, management of files or data bases, editingprograms, etc. The system providessuch as messagelogicalabilities,s&itching among user terminals.SYSTEMSoftwareI4User’s,*1.The system components(see Figure 1) include the operating systemsoftware, the harduaare, and the user.The Operatinguserli-Systemof time-ahamd computer components.CriteriaFor each system component the relationshipamongusers may varyover a range from dependence(thesimultaneous attempt of a group tosolve a single problem)to independence (no user affects another user)A completelyindependentsystemwould require the system to performas though each user were the soleuser.45

TABLESpecialized1.PrimarySystemService,CAPACITYor ysmallvery( lo?sniall( I03typewriter,noneinputkeyboard,stripscopes, audio output, orspecial console.printer,Stock quotationsmallsmallvery( lo?small( diumreservationssmall( 103smallapprox.( lOs)6 ( lO?10 uagesun-boundedCULLER-FRIED(lo’- um-largeseemedium-largemedium( small( ucers,terminals.typewriter,printer,see above.telephonescope.tiles/user.(medium)( ximumFile independence,for esample, isby associating informationwith the file concerningthe file’susers, and uses to x\.hich the file maybe put. Such file directory data provides system capabilityto cover a ontrollcd\\-ide rangeabovephysical(small).,headings,raphies,of applicationsconcern-ing private and public data bases.111 fact, systeltls could be categorizedby the oqanizationof their databases. Table 1 presents sollle specialpurpose systems whit-h are ordered: pproxinialelyin term5 of the filingclcIrlaIlck.For ‘s;1111pIc, a file containing a traching proqnnInay beUnix crsally avaiiab!e,\\hilc a program for luonitoringthe teachingprogramor for grading the usersmay not.Process or programdrixnclvnce)independrnccis thenlostes-prnsive hardware aspert of user independence.One program cannotaffect nor destroy another; on theother hand, a lwhnnism for makingprocedures nxGlnble to the cotlI llI rlity’s niclrlbcrs is necessary.46above,(lo’- ,tapeconsoles.(lo’- ,scopes.approx.( onareCriteriaTheinstantaneousnatureof atimr-sharing system includes both direct terminals for the users and rapidresponse to user demands.That is,users are “online” and s&ved in“real time”. An on line computer isone which provides terminals whicliallow users to directly communicatewith it by a single, simple action,( e.g., like pressing a. typewriter key or looking 3-f a display).The systemis nc\w farther away than the n.&r’ c5t terminal.A co wrrsatio ial frogram is an on linr progxml whichallows a user to directly comniunicate or “converse” with it in termsof questsand, acknowledgementdialogues at an appropriatelyrapidIrate.4A real time systrm is one whichhas tbc ability to csrrutt: a rrquirrdprocess or program in an “acceptable” period of time as governed bythe extra computer process requesting computationpower. All systemsarc r(x1 time if they are acceptablyfast: e.g., overnight for payroll cal-Yset10 sec.culation might be acceptable!Normally, \\-eassociate “real time”Lvith a mechanicalprwess in whicha computer is constrained by a mechanism, e.g., a “real time” computerfor air traffic control must be able toprocess all the inputs from the radarsystem such that aircraft positionalinformationis not lost.The res)onw time or total time for ’the system to respond to a demandstimulus is the sum of the reactiontime (the tillle until a program isacti\.ated from thr request time) plusthe processiflg tiru (the the to procc’ss the request).I esponse times for human usersshould vary in accordance with theitrequesteddemands.The responsetime for a computationaldemand,although known and determined bythe system, can only he judged forarcrptat itityInary, “rulby its users. In su111tirnc” for ;I nlcd ; iic :ltprowss means keeping up with theprocess(notlosinginformati(WforaIlIllll IIcw.1.“RWIti111c”procc5si5 KiIirlg an appropriate: I (‘sponse in accordancewith requests.

SharedCriteriaSPECIAL’ PURPOSE ANDshnring of a system by rnultiusers rrprcscnts an economicGENERALPURPOSE TIME-SHARINGTile 2justificationby ordering or optimizing random resource requests. TheallocationOfresourcesis a majorsystem function and includes:proor the allocationcessor scheduling,of processing capacity for process orprogramexecution;file allocationprovides for the user assigned spacefrom the available file space; primary or memory allocationis the allotmentof memory space for theexecution of processes; and terminalallocationor the assignment of terminals to users.GeneralCriteriaPurposeTime-SharingAll of the above criteria must bemet for a time-sharingsystem. Inaddition, one other criteria, generality, or open endedness, separates special purpose and generalpurposesystems.A general purpose tirnesharing system must provide for theopen-ended creation of new processesor procedures during system operation tb.e, which in themselves maybe considered part of the “system.”This ability, or graceful creation, ofan improved or ever-expandingsystem with increasing abilities definesan open-endedgeneral system.Inthe limit, users concerned with thedevelopment of the operating systemsoftware may, for example, operateand test a complete, new time-sharing system program to replace theexisting system within the frameworkof the old system. As new processeslanguages, procedures, etc., are add:ed to the operating system softwareor placed in the general useis public domain, the line delineating theoperatingsystem process and theuser process becomes less sharpThe method (or language) of procedure creation, testing, and execution is the measure of generality.Insummary, a simple test for generalitycan be made by determining whethera new language can be added to thesystem from a normal terminal orconsole. The user should have freedom inherent in the hardware (or atleast in the processor), including theability to write programs in machinelanguage.In most new systems, basic timesharing hardware can be easily provided in the design at low cost. Thegeneral organization of all computersprovides the inherent ability to forma time-sharing system. Indeed, timesharing systems have been implemented on machines covering a widerange of problem applications.Ingeneral, the systems formed, usingcomputerswhich have little or nosupplementaryhardware,are restricted to a single application.Theease with which a total system ma bi: implemented on a configuration isdetermined for the most part by theconfiguration and the inherent hardware facilities that aid the configuration sharing.The features whichassist resource allocation must be includedfor im: ‘:mentinggeneralpurpose systems. The hardware canlimit the general purposeness in afashion similar to the operating system software.The additional hardware to provide some form of resource sharing can be quite small.MediaforAlthough the ability to imp?err.e-ta ycncral purpose s s:r:n on a :5ecific hardware confiyr: rionrca --Jea desirable design criteria for &ehardware, a special purpose or CMicated system may he more d&r&LA configuration dedicated to a atitular use may be desikmed to provide a much more efficien: utiIiza5o of the resources than one which rittempts to serve all users soIvii2g 2.2problems.It may be more ad\ *%gmtoform communities of usez who &r-ethe same system and are only titerested in sohing speciE cl&eofproblems on single sJxte m. Sqzswhich already are limit,-d by a & eresource might stand alone. For example, present ha&c-are 5!e cap and file access capabilidsapFtolimit desired library s -sre (Thus,a general system cannot 5 ppb &enecessary resources, nor 511 the resources be supplied even if a dedicated system were b1uilt.J Table 1gives a list of dedicatedcompu

Time-Sharing is the simultaneous shared use of a computer system by independent users especting short or appropriate (or apparently instanta- neous) responses, within the limits of the request and system, to com- putational demand stimuli. Time sharing provides a