* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Download CITS2002 Systems Programming An Introduction to Operating
Mobile operating system wikipedia , lookup
Library (computing) wikipedia , lookup
Copland (operating system) wikipedia , lookup
Spring (operating system) wikipedia , lookup
Burroughs MCP wikipedia , lookup
Security-focused operating system wikipedia , lookup
Distributed operating system wikipedia , lookup
CITS2002SystemsProgramming 1 next→ CITS2002 help2002 CITS2002schedule AnIntroductiontoOperatingSystems Whatisanoperatingsystem? Apieceofsystemssoftwarethatprovidesaconvenient,efficientenvironmentfortheexecutionofuserprograms. It'sprobablythelargestandmostcomplexprogramyou'lleverrun! Whydoweneedanoperatingsystem? Theuser'sviewpoint: toprovidetheuserinterface,commandinterpreter,anddirectorystructure,andtoexecuteapplicationprograms(wordprocessor,emailclient,web browser,MP3player). Theprogrammingenvironmentviewpoint: toenhancethebaremachine,toprovideutilityprograms(suchascompilers,editors,filters),toprovidehigh-levelinputandoutput(I/O),tostructure informationintofiles,andtoimproveaccesstomemory(size,protection,sharing). Theefficiencyviewpoint: toreplacethe(longdeparted)humanoperator,toscheduletasks,toefficientlystoreandretrievedata,andtoinvokeandshareprograms. Theeconomicviewpoint: toallowsimultaneoususeandschedulingofresources,includingdisk-bounddataandexpensiveperipherals. Traditionally,wewouldsummarizeanoperatingsystem'sgoalsasmaking"thesystem"convenienttouseandschedulingitsresourcesefficientlyandfairly. Inaddition,itmustsupporthardwareandsoftwarenotyetdeveloped. CITS2002SystemsProgramming,Lecture4,p1,11thAugust2016. CITS2002SystemsProgramming ←prev 2 next→ CITS2002 help2002 CITS2002schedule OperatingSystem≠User/ComputerInterface Anoperatingsystemisoftensimplyseenanddescribedastheuser/computerinterface. Weoften(mistakenly)claimtounderstand,andlikeordislike,an"operatingsystem"basedonitsinterface. Suchaninterfaceprovidesuswith: programcreation(editors,compilers,debuggers,linkers) programexecution(characterandgraphical) accesstoI/Odevices(bothfixedandremovable) constrainedaccesstofilesofmedia constrainedaccessto"internal"resources errordetection,response,reporting,and accountingandmonitoring. Whetherornotacertaininterfacerunsonaparticularhardwareoroperatingsystemplatformisusuallydictatedbyeconomics,marketing,andpolitics-not technology. CITS2002SystemsProgramming,Lecture4,p2,11thAugust2016. CITS2002SystemsProgramming ←prev 3 next→ CITS2002 help2002 CITS2002schedule OperatingSystem≡ResourceManager Anoperatingsystemisbetterconsideredasbeingincontrolofitshardwareandsoftwareresources. Betterstill,becausethe"controls"areoftentemporalorexternaltotheoperatingsystemitself,let'sconsidertheoperatingsystemasaresource manager. Anoperatingsystemisjustanotherprogramrunningontheavailablehardware. Mostofthetime,theoperatingsystemrelinquishescontroltotheuserprocessesuntilthehardwareagaindispatchesthecontrol. CITS2002SystemsProgramming,Lecture4,p3,11thAugust2016. CITS2002SystemsProgramming ←prev 4 next→ CITS2002 help2002 CITS2002schedule OperatingSystemsMustBeExtensible Ofimportanceisanoperatingsystem'sabilitytoevolvetomeetnewhardwareandsoftwaredemands: Newhardwareisconstantlyintroduced-addingmorememorypresentslittledifficulty;newtypesofdisks,videocards,etc,aremoreproblematic. Newapplicationprograms,tools,andsystemservicesareadded. Fixesandpatchesarereleasedtocorrectoperatingsystemdeficiencies. Allofthissuggeststhattheoperatingsystem,asaprogram,needstobeextensible-amodulardesignseemsessential.Considerthefollowingfigure, takenfromStallings. LayersandViewsofaComputerSystem CITS2002SystemsProgramming,Lecture4,p4,11thAugust2016. CITS2002SystemsProgramming ←prev 5 next→ CITS2002 help2002 CITS2002schedule TraditionalOperatingSystemServices CPUscheduling: distributeorapportioncomputingtimeamongseveralprocesses(ortasks)whichappeartoexecute simultaneously. Memorymanagement: divideandsharephysicalmemoryamongseveralprocesses. Swapping: moveprocessesandtheirdatabetweenmainmemoryanddisktopresenttheillusionofabiggermachine. I/Odevicesupport: providespecializedcodetooptimallysupportdevicerequirements. Filesystem: organizemassstorage(ondisk)intofilesanddirectories. CITS2002SystemsProgramming,Lecture4,p5,11thAugust2016. CITS2002SystemsProgramming ←prev 6 next→ CITS2002 help2002 CITS2002schedule TraditionalOperatingSystemServices, continued Utilityprograms: accounting,setting/constrainingsystemresourceaccess,manipulatingthefilesystem. Acommandinterface: textualorgraphical,toenableinteractiveinterrogationandmanipulationofoperatingsystemfeatures. Systemcalls: allowconstrainedaccesstotheinterioroftherunningoperatingsystem(asaprogram). Protection: keepprocessesfrominterferingwitheachother,theirdata,and"thesystem",whilstpermittingsharingwhen requested. Communication: allowusersandtheirprogramstocommunicationwithinasinglemachine,andacrossnetworks. CITS2002SystemsProgramming,Lecture4,p6,11thAugust2016. CITS2002SystemsProgramming ←prev 7 next→ CITS2002 help2002 CITS2002schedule AWhirlwindHistoryofOperatingSystems Tounderstandthewaymodernoperatingsystemsarethewaytheyare,itisusefultoexaminetheirevolutionoverthelastsixtyyearsorso. Advancesinoperatingsystemsoftenaccompaniedadvancesinhardware,fallingprices,and"exploding"capacities. ThefirsttruedigitalcomputerwasdesignedbyEnglishmathematicianCharlesBabbage(17921871). AlthoughBabbagespentmostofhisworkinglifeandfortunebuildinghis"analyticalengine",its mechanicaldesignandthewoodentechnologyofthedaycouldnotprovidetherequiredprecision. Needlesstosay,theanalyticalenginedidnothaveanoperatingsystem. “ Everythingthatcanbeinventedhasbeeninvented. — CharlesH.Duell,Commissioner,U.S.OfficeofPatents,1899. CITS2002SystemsProgramming,Lecture4,p7,11thAugust2016. CITS2002SystemsProgramming ←prev 8 next→ CITS2002 help2002 CITS2002schedule 1945-55:VacuumTubesandPlugboards UntilWorldWarII,littleprogresswasmadeinconstructingdigitalcomputers.Sixsignificantgroupscanreasonablyclaimthefirstelectricalcomputers: TommyFlowersandMaxNewman,BletchleyPark,England, HowardAitken,Harvard, JohnvonNeumann,InstituteofAdvanceStudies,Princeton, J.P.EckertandW.Mauchley,UniversityofPennsylvania,and KonranZuse,Germany. TomKilburnandFreddieWilliams,Manchester, Asinglegroupofpeopledesigned,built,programmed,operatedandmaintainedeachmachine.Althoughfillingsmallwarehouses,withtensofthousands ofvacuumtubes,theywerenomatchfortoday'scheapesthomecomputers. “ Ithinkthereisaworldmarketformaybefivecomputers. — ThomasWatson(1874-1956),ChairmanofIBM,1943. Programswereloadedmanuallyusingconsoleswitches,ormorelikelybydirectreconfigurationofwiring;indicationofaprogram'sexecutionand debuggingreturnedthroughconsolelights. Advantages: Interactive,anduserreceivedimmediateresponse. Disadvantages: Expensivemachinewasidlemostofthetime,becausepeople'sreactions(andthinking)wereslow. Programminganddebuggingweretedious;hardwarewasveryunreliable. Eachprogramwasselfcontained,includingitsowncodeformathematicalfunctionsandI/Odevicesupport. CITS2002SystemsProgramming,Lecture4,p8,11thAugust2016. CITS2002SystemsProgramming ←prev 9 next→ CITS2002 help2002 CITS2002schedule 1955-65:TransistorsandBatchSystems Programminglanguagesandoperatingsystems(asweknowthemtoday)stillunheardof.Collectionsofsubroutines(procedures)todriveperipheralsand toevaluatetrigonometricfunctionswerethefirstexamplesofoperatingsystemsservices.Themid-1950ssawtheuser(stillastheprogrammer)submitting adeckofpunchedHollerithcardsdescribingajobtobeexecuted. Giventhehighcostofcomputers,waystoincreasetheirutilitywerequicklysought.Thegeneralsolutionwasthebatch system. Similar/relatedprograms,perhapseachrequiringtheFORTRAN(FORmulaTRANslation)compiler,orasetof mathematicalroutines,werebatchedtogethersothattherequiredroutinesneedonlybephysicallyloadedonce. Programswerefirstwrittenonpapertape,intheemergingFORTRANlanguageorinassemblylanguage,andthencopiedtopunchedcards.Suchdecks ofcardsincludedjobcontrolcards,theprogramitself,andoftentheprogram'sdata. Jobssubmittedbydifferentusersweresequencedautomaticallybytheoperatingsystem'sresidentmonitor.Earlyperipherals,suchaslargemagnetictape drives,wereusedtobatchinput(jobsanddata)andspool(fromSimultaneousPeripheralOperationOnLine)output. CITS2002SystemsProgramming,Lecture4,p9,11thAugust2016. CITS2002SystemsProgramming ←prev 10 next→ CITS2002 help2002 CITS2002schedule 1955-65:TransistorsandBatchSystems, continued Generally,aninexpensivecomputer,suchasanIBM1401,wasusedforreadingcardsandprintingfromoutputtapes.Theexpensivemachine,suchasan IBM7094,wasusedsolelyforthemathematicalcomputations. Advantages: The(true,computational)computerwaskeptbusier. Disadvantages: Thecomputerwasnolongerinteractive.Jobsexperiencedalongerturnaroundtime. TheCPUwasstillidlemuchofthetimeforjobs.Otherjobsremainedqueuedforexecution. Thesignificantoperatingsysteminnovationatthistimewastheintroductionofacommandinterpreter(ajobcontrollanguage-JCL)todescribe,order, andcommenceexecutionofjobs. Theresidentmonitorwasalsoprotectedfromtheuserprograms,andmanagedtheautomatedloadingoftheprogramsafterthemonitor. CITS2002SystemsProgramming,Lecture4,p10,11thAugust2016. CITS2002SystemsProgramming ←prev 11 next→ CITS2002 help2002 CITS2002schedule 1965-1980:IntegratedCircuitsandMultiprogramming Intheearly1960s,computermanufacturerstypicallymadetwotypesofcomputers-word-oriented,largescalescientificcomputers(suchasthe7094), andcharacter-orientedcommercialcomputers(suchasthe1401),whichwerereallybettersuitedforI/O. Incompatibilityandalackofanupgradepathweretheproblemsoftheday. IBMattemptedtoaddressbothproblemswiththereleaseoftheirSystem/360,afamilyofsoftwarecompatiblemachinesdifferingonlyincapacity,price andperformance.Themachineshadthesamearchitectureandinstructionset. WithheavyCPU-boundscientificcalculations,I/Oisinfrequent,sothetimewastedwaitingwasnotsignificant.However,commercialprocessingprograms intheemergingCOBOL(ComputerOrientedBusinessOrganizationalLanguage)oftenspent80-90%ofitstimewaitingforI/Otocomplete. TheadventofseparateI/OprocessorsmadesimultaneousI/OandCPUexecutionpossible. TheCPUwasmultiplexed(shared),oremployedmultiprogramming,amongstanumberofjobs-whileonejobwaswaitingforI/Ofromcomparativelyslow I/Odevices(suchasakeyboardortape),anotherjobcouldusetheCPU. JobswouldrununtiltheircompletionoruntiltheymadeanI/Orequest. Advantages: Interactivitywasrestored. TheCPUwaskeptbusyifenoughjobswerereadytorun. Disadvantages: Thecomputerhardwareandtheoperatingsystemsoftwarebecamesignificantlymorecomplex(andtherehasbeennolookingbacksince!). CITS2002SystemsProgramming,Lecture4,p11,11thAugust2016. CITS2002SystemsProgramming ←prev 12 next→ CITS2002 help2002 CITS2002schedule 1965-1980:IntegratedCircuitsandMultiprogramming, continued Still,thedesireforquickerresponsetimesinspiredavariantofmultiprogramminginwhicheachusercommunicateddirectlywithoneofamultitudeofI/O devices. Theintroductionoftimesharingintroducedpre-emptivescheduling.Jobswouldexecuteforatmostpre-definedtimeinterval,afterwhichitwasanotherjob's turntousetheCPU. Thefirstserioustimesharingsystem(CTSS,fromMIT1962)lackedadequatememoryprotection. Most(modern)operatingsystemcomplexitywasfirstintroducedwiththesupportofmultiprogramming-schedulingalgorithms,deadlockprevention, memoryprotection,andmemorymanagement. Theworld'sfirstcommerciallyavailabletime-sharingcomputer,theDECPDP-6,wasinstalledinUWA'sPhysicsBuildingin1965-cf. Cyberhistory,byKeithFalloon,UWAMScthesis,2001,andpdp6-serials. CITS2002SystemsProgramming,Lecture4,p12,11thAugust2016. CITS2002SystemsProgramming ←prev 13 next→ CITS2002 help2002 CITS2002schedule EarlyOperatingSystemSecurity Veryearlyoperatingsystems,onone-user-at-a-timecomputersystems,assistedtheusertoloadtheir programsandcommencetheirexecution. Therewaslittletoprotectand,ifanerrantprogrammodifiedtheexecutiveprogram,thenonlythecurrentuser wasaffected.Asmoreofacourtesy,theexecutivemightclearmemorysegmentsandcheckitselfbefore acceptingthenextprogram. Asmulti-taskingoperatingsystemsemerged,accountabilityofresourceusebecamenecessary,and operatingsystemmonitorsoversawtheexecutionofprograms. Aswithmodernoperatingsystems,therewastheneedto: protecttheoperatingsystemfromtheprogram, protectprogramsfromthemselves, protectprogramsfromeachother,and constraindataaccesstothecorrectprogram(s). Untilsystemresourcesbecamemoreplentiful(andcheaper)attemptsweremadetomaximizeresourcesharing-securitywasaconsequent,notaninitial, goal. e.g.processschedulingpoliciesweredominatedbyalreadyrunningprocessesrequestingresources(suchaslibrariesand tapes)thatwerealreadyinuse. Atthislevel,computersecurityismoreconcernedwithreliabilityandcorrectness,thanaboutdeliberateattacksonprograms,data,andthesystem. CITS2002SystemsProgramming,Lecture4,p13,11thAugust2016. CITS2002SystemsProgramming ←prev 14 next→ CITS2002 help2002 CITS2002schedule 1970s:MinicomputersandMicrocomputers “ ThereareonlytwothingstocomeoutofBerkeley,UnixandLSD,andI don'tthinkthisisacoincidence. — JeremyS.Anderson. Anothermajordevelopmentoccurringinparallelwasthephenomenalgrowthinminicomputers,startingwiththeDEC(DigitalEquipmentCorporation)PDP1(ProgrammedDataProcessor)in1961.ThePDP-1,with4Kof18-bitwordscostonlyUS$120,000-5%oftheIBM7094. Thetrendwastowardsmanysmallmid-rangepersonalcomputers,ratherthanasinglemainframe. Earlyminicomputersandmicrocomputersweresimpleintheirhardwarearchitectures,andsotherewassomeregressiontoearlieroperatingsystemideas (singleuser,nopre-emption,nomultiprogramming). Forexample,MS-DOSonanIBM-PC(circa.1975)wasessentiallyintroducedasabatchsystem,similartothoseofthe1960s,withafewmodern additions,suchasahierarchicalfilesystem. Withsomenotableexceptions,thetrendquicklymovedtowardssupportofallmodernoperatingsystemfacilitiesonmicrocomputers. “ Thereisnoreasonanyonewouldwantacomputerintheirhome. — KenOlsen,DECFounderandChairman,1977. Perhapsmostsignificanthasbeentheevolution,andimportance,ofoperatingsystems'userinterfaces. Inparticular,thegraphicaldesktopmetaphorhasremainedforsometime. CITS2002SystemsProgramming,Lecture4,p14,11thAugust2016. CITS2002SystemsProgramming ←prev 15 next→ CITS2002 help2002 CITS2002schedule 1980-90:PersonalComputersandNetworking “ 640Koughttobeenoughforanybody. — BillGates(1955-),in1981. Thedecentralizationofcomputingresource,nowdataandnotthehardware,requiredmoresupportforinter-operatingsystemcommunication-both physicalsupportandapplicationprogramsupport. Asminicomputersshrunkinsize,butexplodedincapacity,thepowerfulcomputerworkstationwasborn.CompaniessuchasSunMicrosystems(SUN)and SiliconGraphics(SGI)rodethiswaveofsuccess. Local-areanetworks(primarilyEthernetandtoken-ring)connectedworkstations,whilewide-areanetworksconnectedminicomputers. Operatingsystemdevelopmentsincludedthedevelopmentoffastandefficientnetworkcommunicationprotocols,dataencryption(ofnetworksandfile systems),security,reliability,andconsistencyofdistributeddata. CITS2002SystemsProgramming,Lecture4,p15,11thAugust2016.