Maat: px
Weergave met pagina beginnen:

Download ""

Transcriptie

1 ComputerSystemenenApplicaties CSA deel#1vanhetcollegedictaat PatrickvanderSmagt September1995 Secondedition

2 2 thenamesoftheauthorsandtheuniversityofamsterdamarementioned.permissionisalso grantedtousethisbookfornon-commercialcourses,providedtheauthorsarenotiedofthis thisbookfornon-commercialuse,aslongasitisdistributedasawholeinitsoriginalform,and c1994,1995theuniversityofamsterdam.permissionisgrantedtodistributesinglecopiesof beforehand. Theauthorscanbereachedat Kruislaan403,NL{1098SJAmsterdam UniversityofAmsterdam FacultyofMathematics&ComputerScience THENETHERLANDS Phone: Fax: September1994 ComputerSystemenenApplicaties

3 Contents 1Introduction 1.2Structure1:Layersofcomputation:::::::::::::::::::::::::: 1.1Howtounderstandacomputer?::::::::::::::::::::::::::: 2Operatingsystems 1.3Overviewofthisbook::::::::::::::::::::::::::::::::: Tasksofanoperatingsystem::::::::::::::::::::::::::::: Memorymanagement::::::::::::::::::::::::::::: Processmanagement::::::::::::::::::::::::::::::15 2.2Operatingsystemstructure:::::::::::::::::::::::::::::: Themonolithicstructure::::::::::::::::::::::::::: Filemanagement:::::::::::::::::::::::::::::::: Theclient-serverstructure::::::::::::::::::::::::::: Communication:::::::::::::::::::::::::::::::::22 3Networks 3.1Introduction::::::::::::::::::::::::::::::::::::::: Goalsofcomputernetworks:::::::::::::::::::::::::: Buildingblocksofanetwork::::::::::::::::::::::::: TheISO/OSImodel:::::::::::::::::::::::::::::::::: Typesofnetworks::::::::::::::::::::::::::::::: Thesessionandtransportlayers::::::::::::::::::::::: Thepresentationlayer::::::::::::::::::::::::::::: Theapplicationlayer:::::::::::::::::::::::::::::: Thenetworklayer::::::::::::::::::::::::::::::: Thephysicallayer::::::::::::::::::::::::::::::: Thedatalinklayer:::::::::::::::::::::::::::::::37 4Computerarchitecture 3.2.7Summingup:Thereality:::::::::::::::::::::::::::37 4.2Thebus:::::::::::::::::::::::::::::::::::::::::43 4.1Generations::::::::::::::::::::::::::::::::::::::: Architectureofacomputer::::::::::::::::::::::::::41 4.4Processors::::::::::::::::::::::::::::::::::::::::46 4.3Memory::::::::::::::::::::::::::::::::::::::::: Bits,bytes,sizes:::::::::::::::::::::::::::::::: CISCvs.RISCprocessors::::::::::::::::::::::::::: Measuringprocessorspeed:::::::::::::::::::::::::: Memorytypes::::::::::::::::::::::::::::::::: Pipelining,superscalarandvectorprocessors::::::::::::::::50 3

4 Oddmanout::::::::::::::::::::::::::::::::::51 CONTENTS ATechnologietrendsindeinformatica 4.5I/O:::::::::::::::::::::::::::::::::::::::::::: Videodisplays:::::::::::::::::::::::::::::::::52 A.3Mijlpalen::::::::::::::::::::::::::::::::::::::::58 A.2Watiseencomputer?:::::::::::::::::::::::::::::::::56 A.1Inleiding:::::::::::::::::::::::::::::::::::::::::55 A.4Hetexponentieletechnologie-groeimodel:::::::::::::::::::::::60 A.3.3Bedrijfssystemen::::::::::::::::::::::::::::::::60 A.3.1Hardware::::::::::::::::::::::::::::::::::::58 A.4.1Voorbeeldvanexponentieleontwikkeling:geheugenelementen:::::::60 A.3.2Programmeertalenen-methoden:::::::::::::::::::::::59 A.4.2Waarvoorwordtdierekenkrachtgebruikt?::::::::::::::::::61 A.4.3Waaromsteedskleiner?::::::::::::::::::::::::::::61 A.6Toekomstigeontwikkelingen::::::::::::::::::::::::::::::64 A.5Delevensloopvaneencomputer:::::::::::::::::::::::::::63 A.4.5Andereaspecten::::::::::::::::::::::::::::::::63 A.4.4Chipsvandichtbijbekeken::::::::::::::::::::::::::62 Bibliography BGlossary September1994 ComputerSystemenenApplicaties

5 ListofFigures 1.1Threeexamplesoflogicalgates:OR,AND,andNOT.::::::::::::::11 2.2Virtualvs.realmemoryspace.::::::::::::::::::::::::::::19 2.3AnexamplelesystemonaUnixcomputer.::::::::::::::::::::20 2.4Theexecutionofasystemcallinamonolithicoperatingsystem.:::::::::25 2.1Anexampleprocesstree.:::::::::::::::::::::::::::::::17 2.6Theclient-serveroperatingsystemlendsitselfperfectlyforatransparentlydistributedarchitecture.::::::::::::::::::::::::::::::::::27 2.5Theclient-serverstructureoftheMINIXoperatingsystem.::::::::::::26 3.1Alocalareanetwork,consistingofanethernetconnectingvariousdevicestogether 3.2TwohostsAandBcommunicatingoveranOSInetwork.:::::::::::::37 4.1Apictureoftheinsideofa1994workstation.::::::::::::::::::::42 andwiththeoutsideworld.::::::::::::::::::::::::::::::32 4.4Pipelininginaprocessor.:::::::::::::::::::::::::::::::51 4.3TheinsideofaCPU.::::::::::::::::::::::::::::::::::47 4.2Schematicdrawingof(partof)theinsideofacomputer.::::::::::::::42 B.1Virtualmachinesstackedontopofeachother.:::::::::::::::::::67 B.2Atypicaldiskstructure(yetthetrackwidthismuchenlarged).::::::::::68 5

6 6 LISTOFFIGURES September1994 ComputerSystemenenApplicaties

7 ListofTables 1.1Apossibleanatomyofthemoderndigitalcomputer(after(Tanenbaum,1984)).: 2.1BSDandSysVimplementationsofUnixoperatingsystems.::::::::::::14 3.1Namesofthehighest-levelInternetdomains.:::::::::::::::::::: Thehistoryofcomputerarchitecturegenerations.::::::::::::::::::40 3.2TheISO/OSIreferencemodelfornetworking.::::::::::::::::::::34 4.2Comparisonoftypesofmemory.:::::::::::::::::::::::::::46 4.4Numberofdhrystonespersecondforvariouscomputers.::::::::::::::50 4.3Variousprocessorsthroughouttheages.:::::::::::::::::::::::49 B.1TypicaldataforaSunSCSIharddisk.::::::::::::::::::::::::68 7

8 8 LISTOFTABLES September1994 ComputerSystemenenApplicaties

9 Chapter1 Introduction Whatmakesacomputerrun?Therearemanypossibleanswerstothisquestion,dependingon 1.1 thepointofviewofthequestioner.forinstance,anelectricalengineerwho'susedtobuilding Howtounderstandacomputer? circuitshimselfmayhaveatotallydierentviewthanasecretarytypinglettersforhisbosson amaccomputer. systems:thehierarchical,layeredstructure.thislayeredstructuredescribesincreasinglevels andmanyauthorssincethen. ofcomplexityofviewingacomputersystem.inthiswefollowtanenbaum(tanenbaum,1984) Inthischapter,andthroughoutthisbook,we'lladoptanot-so-shockingviewoncomputer 1.2Owego. intable1.1isusefultobreaksacomputersystemdownintosmallerparts.althoughthe Togetabetterunderstandingofthecomputer'sinnerworkings,thelayeredstructureasshown Structure1:Layersofcomputation LevelAbstraction 2546 high-levelprogramming 13 imperativeprogramming assemblylanguage operatingsystemkernel machinelanguage Table1.1:Apossibleanatomyofthemoderndigitalcomputer(after(Tanenbaum,1984)). 0 microprogram digitallogic dissection,aspresentedinthetable,willnotbeunfamiliarorcontroversialtotheinitiated, thedistinctionbetweenthelevelsisnotasclear-cutasthetablemaysuggest.thereisone importantdierence,however,whichmayberegardedasaguideline:ingeneral,thetranslation betweenthehigherlevelsoccursthroughcompilation;thetranslationamongthelowerlevels throughinterpretation.thatistosay,apascalprogramatlevel5will,ingeneral,becompiled thatcomputerwhich,ontheonehand,considersitlevel-by-level,butontheother,alsoexamines isactuallyinterpretedinthemicroprogramatlevel1,insteadofcompiled. tolevel4beforeitisexecuted.ontheotherhand,aprogramatlevel2(inmachinelanguage) Bydissectingadigitalcomputerinsuchaway,thistextwillattempttopresentaviewof 9

10 10 CHAPTER1.INTRODUCTION level-to-level.let'sconsiderthelevelsinturn. 6:Highlevelprogramming.Programminglanguageshavedevelopedalongseverallines.At thetoplevelwethereforedistinguishthree(mutuallyincomparable)programmingstyles: visualprogramming,declarativeprogrammingandobject-orientedprogramming.alanguagemaybelongtoseveralofthesecategories.eachofthethreecategoriescanbe explainedbestbycomparingittoimperativeprogrammingatlevel5(whereyouwillread: aprograminanimperativelanguageisanorderedsequenceofstatementsandprocedures callsspecifyingthestepsthecomputermustfollow). Visualprogrammingallowstheusertousegraphicstocreateaprogram.Sometypes ofcomplexprograms,suchasthosethatuseconcurrentprocessesordealwithreal-time systems,arediculttodescribewithtextuallanguages;graphicalspecicationsmaybe moreappropriate.forinstance,partoftheexspectlanguagethatweuseintheprogramminglabofthiscourseisgraphicalandistypicallyusedtospecifynetworksofinteracting components. Aprogramindeclarative(non-procedural)styletellsthecomputeronlywhatistobe accomplished,butnothowtodoit.logicallanguageslikeprolog,functionallanguages, andalgebraicspecicationlanguagesformsubclassesofdeclarativelanguages. Whereasprogramsinanimperativestyleareprocess-oriented,object-orientedprogrammingfocusesonthedescriptionofobjects:data-structureswiththerelatedoperations.Object-orientedprogrammingnaturallyleadstomodularstyleofprogramming. Somelanguageswithfeaturessupportingtheobject-orientedprogrammingparadigmare Simula,Smalltalk,C++andEiel. 5:Imperativeprogramming.Imperativeorproceduralprogrammingisstilltheprevalent style.aprograminanimperativelanguageisanorderedsequenceofstatementsand procedurescallsspecifyingthestepsthecomputermustfollow.thestatementsreect basicmachineoperations.thenumberandsizeoftherequiredstepsvarywithvarious imperativelanguages.wellknownlanguagesinthisclassarepascal,fortran,algol, COBOL,BASICandC. 4:Assemblylanguage.Thisisthelowestlevelthattheuserusuallysees,ifatall.Assembly languageprogramsconsistoflongsequencesofcodedinstructionssuchasadd,jump,load. Eachinstructiondirectlycorrespondswithaprocessorinstruction.Thereforeassembly languagesarelow-levellanguages:theyaretotallymachinedependent.thisincontrast withthelanguagesatlevels5{8,calledhigh-levellanguages,whichcanusuallybeported fromonemachinetoanotherwithoutmuch(orany)adaptation. Inassemblylanguages,thereareonlyafewdatatypesavailable(forinstance,oating point,character,andinteger),andnoinstructionstobuildnewtypesfromtheexisting ones,suchasispossibleinallhigh-levellanguages.secondly,thereareinstructionsfor jumpingtootherinstructionsand,often,thepossibilitytocallsubroutines(procedures, functions).itisalsopossibletomakesystemcallsbyjumpingtosystemsubroutines:read akeyboardcharacter,readablockfromdisk,etc.suchcallsarehandledbytheoperating system. 3:Operatingsystemkernel.Thislevelcanbeseenasanextensiontolevel2.Thelanguage availableatthatlevelisstillavailablehere,butiscomplementedwiththeoperatingsystem, whichhidesmuchofthelargeintestineofthecomputer.chapter2discussesoperating systems. 2:Machinelanguage.Machinelanguageislikelevel4(assembly),butdoesnotprovidecalls totheoperatingsystem.thisisbare-boneassembly,andgivesthefullpowerofthe September1994 ComputerSystemenenApplicaties

11 1.2.STRUCTURE1:LAYERSOFCOMPUTATION machinetotheuser.prettycumbersometoprogram,this,andwewillnotgointothis 11 1:Microprogram.Onsomecomputers,instructionsonlevel2areinterpretedbythemicroprogramintomicrocodeonlevel1.Considerthefollowingexample.Aninstructionto levelanyfurther. addtonumbers,oneinmemorylocationaandtheotherinmemorylocationb,together andstoretheresultina,mightbeinterpretedasfollows: 2.decodetheinstruction;inthiscase,itisfoundthatthevaluesofaandbmustalso 1.readthenextinstructionstoredatthememoryaddressindicatedbytheprogram befetched. counter. 3.fetchthevalueofa. 4.fetchthevalueofb. 5.getcontentsofmemorylocationa. 6.getcontentsofmemorylocationb. 9.incrementtheprogramcountertoskiptothenextinstruction. 8.storetheresultbackinmemorylocationa. 7.addtwonumberstogetherintheprocessor. tion4.4),theallowableinstructionsaresocomplexthattheycannotbedirectlyexecuted Insomeprocessordesigns(tobeprecise,CISCprocessorswhicharediscussedinsecstructionstoredinmemoryiskept. Theprogramcounterisaregisterintheprocessorinwhichtheaddressofthenextin- 0:Digitallogic.Thenallevel,thatofthedigitallogic,representsthecomputerprogram hardware.nomoreonthislevel,too. inhardwarebutarebrokenintosmaller,simpler,instructionsthatcanbeexecutedin anddataby0and1valuesontheso-calledlogicalgates.thesegatesperformboolean operationssuchasandandorontheirinputs.someexamplesareshowningure1.1. symbol: x1 x2 x1 NOT y=x1jx2 y x2y=x1&x2y zy=xy truthtable: Cnotation: standardnotation: y=x1+x2 00 x1x2y y=x1x2 00 x1x2y y=x 01x y10 can'tbuildaclock,though,withoutacrystal).indeed,computersconsistforalargepart TheAND,OR,andNOTgatestogethersuce(inprinciple)tobuildacomputer(you Figure1.1:Threeexamplesoflogicalgates:OR,AND,andNOT. ComputerSystemenenApplicaties September1994

12 12 fromtheselogicalgates.bycombiningseveraltypesofgates,youcanbuildadders(i.e., CHAPTER1.INTRODUCTION circuitsthataddtwonumbers)andmemory. allnumbersareeither0or1,isnamedaftergeorgeboole(1815{1864)whorstpublished onthesubject.thegatesarefunctionsinthatalgebra,andeachfunctioncanbedescribed Todesigncircuitryusingthesegates,Booleanalgebraisused..Thisalgebra,inwhich byatruthtableasshowninthegure.thesetruthtablesgivetheoutputofthegate Example1Showhowasinglememorycell(i.e.,apieceofcircuitrythatcanstorea0 or1)canbedesignedfromtwonand's(anandisanandfollowedbyanot,which foreachinput;thisispossibleduetothefactthattheinputsarebinary. Letustakeanotherview,somewhatmorehigh-level,atcomputersystems. thereforeoutputsa0whenbothinputsare1,and1otherwise.insymbolsy=x1+x2). Clearly,theauthorstrytocramawholecurriculumintoonecourse.Firstofallwewanttolook 1.3 thelevelsofcomputationinmoredetail.chapter2,forinstance,looksattheoperatingsystem, Overviewofthisbook aroundlevel3andgropingupwardsanddownwards.chapter3makes,literallyandguratively, howtheyconnect.thisleadstoanewlayeredsystemknownasosi.backtobasicsinchapter4, architectures.nextsetoflevels:theprogramminglanguages.moretobewrittenonthatin aside-stepbyplacingafewofthelevel-hierarchiesofcomputersystemsinanetwork,andsee whichconcentratesondesignissuesoccurringbelowlevel3:thehow,what,andwhyofcomputer thisintroduction. underlyingtheoreticalconcepts.howdowemodeltheconnectionbetweentoprocessesrunning ononecomputer?howtopreventdeadlocks?toensuresecurecomputation(nicewhenyou're operatinganuclearplantorasubmarine)?eachchapterwillshowsidestepstosuchtopics. So,apartfromwalkingalongtheroadofboringfactafterfact,wealsowanttoelucidatethe Thuswewillnotonlygointothewhatofcomputerscience,butalsothewhy. toofartoexplainindetail,butareinterestingtoknowanyway. And,thewheniscoveredinappendixA.AppendixBgivesaglossaryoftopicswhichgo September1994 ComputerSystemenenApplicaties

13 Chapter2 Operatingsystems theoperatorprogrammedthemachinebyprovidingitwithasetofinstructions,whichwere Earlycomputing1inthe1940'sand1950'swasabitlikeworkingonapowerfulpocketcalculator: directlyexecutedbythehardware.programmingoccurredinmachinelanguage,codedasbinary orhexadecimalnumbers.withthedevelopmentoftechnologyduringthe1960's,computers becamelarger,faster,andmorecomplex.soonitbecameinfeasibletohaveasingleperson controlallpartsofthecomputersystembyhand.partbypartthesetaskswereautomatedto easethejoboftheoperator:therstoperatingsystemswereborn.inthe1960'scomputers becamepowerfulenoughtoservemultipleusersatthesametime,inordertodecreasethe alsoknownasmultiprogramming,wasborn.mit,belllabs,andgeneralelectricmadean timethatsomeonehadtowaitbeforehecouldgetaccesstothecomputer.thustime-sharing, ofuserstoconnectsimultaneouslytoasinglecomputer. attemptatwritinganoperatingsystemtosupporttime-sharing.thisoperatingsystem,called MULTICS(MULTiplexedInformationandComputingService),wastoallowseveralhundreds Indeed,acurrent-daycomputerwithoutoperatingsystemisunthinkableandvirtuallyunusable. ity,too,inordertokeepthecomputerusableandunderstandableforalargevarietyofusers. Inthelayeredstructureofacomputersystemshownintable1.1,themiddlelayerisrepresentedbytheoperatingsystem.Thismiddlelayerisveryimportant,sinceitshieldsthe particularitiesoftheunderlyinghardwarefromtheabovelayersasmuchaspossible(andde- Asthecomplexityofcomputersincreased,operatingsystemsincreasedinsizeandcomplex- whatevermachinewithoutmuchextrawork;or,thatyoucanupdatetoanext,faster,version thisusercandothesameoperationsonverydierentcomputers.thisasksfortheexistence sired).theoperatingsystempresentstheuserwithavirtualmachine(glossaryp.67)suchthat ofstandards,suchthatyourprogramscanbeusedonasun,silicongraphics,next,pc,or anditwillbeusedeverafter.withpatches,extensions,andalterationstillkingdomcome, ofthesamecomputerwithouthavinganysideeects. ormakesacomputerarchitecturewhichissubsequentlywell-marketed,itspopularitybooms, tokeepupwithnewtrends.unixisaverygoodexample(see(goodheart&cox,1994)fora Unfortunately,standardsareusuallydefacto.Thatistosay,someonewritesaprogram camemuchfurtherthanrunningonafewcomputersatmit.however,kenthompsonfrom toocomplexaproject,belllabsandgeneralelectricbailedout,andtheoperatingsystemnever wonderfuldescriptionofthehistoryofunix).atthetimethatmulticswaswritten,itwas BellLabs,whohadbeenworkingontheMULTICSproject,simpliedMULTICStoprovide accesstoacomputerforoneuser(infact,hehimselfrunningapdp{7),leadingtoanoperating systemwhichhedubbedunics(uniplexedinformationandcomputingservice).together AppendixAislessconcise. withdennisritchie,alsofrombelllabs,theyrewrote,redesigned,andrespelledtheoperating 1Therstsectioninchapter4alsogivesaconcisehistoryofcomputing,notverydierentfromthisone. 13

14 systemtounixinthehigh-levelprogramminglanguagecdesignedbyritchie.whyisunixso 14 CHAPTER2.OPERATINGSYSTEMS popular?well,whenthompsonandritchiehadwrittenunix,at&tlicensedtheoperating systemtouniversitiesalmostforfree,andthusitgainedverymuchinpopularity.sincethen manyavoursofunixsawthelight,andafewattemptsforstandardisationleadtoanincreasing 4;see(Goodheart&Cox,1994)). mess. (SystemFive)wasdesignedatAT&TBellLabs,andintendedasastandardisationofUnix isaavourofunixthathasbeendevisedattheuniversityofcaliforniaatberkeley.sysv ThetwomainstandardisationsareBSDandSysV(alsoknownasSVR4forSysVRevision whichwouldsurpassprevioushacks ataskthathasmostlybeenreached.oneofthemost BSDstandsforBerkeleyStandardDistributionand versions,takingthebestfromallworlds.table2.1showssomeuniximplementations,and importantfeaturesofsysvunixisthatitcombinesbsd,svr3,sunos,andotherunix whetherthey'rebsdorsysv.so,whatisthedierencebetweenthesetwoavours?well,it Table2.1:BSDandSysVimplementationsofUnixoperatingsystems. SunOS(=Solaris1) Solaris(v.2andhigher)Sun Irix NeXTStep OSname machine NeXT,486,Sun,:::BSD SiliconGraphics type Tondoutwhichoperatingsystemyou'reusing,typeuname-a.IfitsaysSunOS5.2orhigher,thenit'sSolaris. Linux PC SysV wouldbepossibletoprovidealistofdetailswheretheonediersfromtheother(wewon't; don'tworry.ifyoureallyneedsuchalist,consult(frisch,1991)and(goodheart&cox,1994)). But:::fundamentaldierences?AccordingtoPerryHutchison, fromstrenuousdisagreementastowhichisthebrokenone. Thefundamentaldierenceisthatoneisbroken,theotherisnot.Theamesarise thesunos4.1.3bsdenvironmentmaybebroughttolight. But,ofcourse,manypeopledisagree. areforthisenvironment,butinafewcasesdierencesbetweensuchasysvenvironmentand Asthetableshows,Solaris2.3isSysVbased.Mostoftheexamplespresentedinthisbook Thematerialinthischapterisforalargepartbasedon(Tanenbaum,1987)and(Hwang,1993), amodulardescriptionofthetasksthathavetobeperformedbyanoperatingsystem. useful. butalsoderivedfromdiscussionswithvariousknow-it-all's.forthis,theinternetisextremely partsarecombinedinsection2.2,whichshowsagoodandanot-so-goodwayofsettingupan operatingsystem. Thestructureofthischapterisasfollows.Insection2.1,therealworkisbegun:itgives Morepracticalissuesarecoveredintheprogramminglabmanual,whichalsocoverstheshell All September1994 indetail.sincetheshellisactuallynotapartoftheoperatingsystembutratheraninterface towardsit,itisnotcoveredhere. ComputerSystemenenApplicaties

15 2.1.TASKSOFANOPERATINGSYSTEM Tasksofanoperatingsystem Aswehaveseeninsection1.2,acomputersystemcanbedissectedinanumberoflayers.One ofthelayersistheoperatingsystem,whichagainconsistsofafewlayers2.inthischapterwe willstudythelayeredstructureofanoperatingsystem. Traditionallythe`layeredness'ofoperatingsystemswasmoreaprinciplethanafact.After all,ifyoureallywanttoseparatepartsofthefunctionalityofanoperatingsystem,youwillalso havetoprovideameansofcouplingthosepartstogether.inatrulymodularsystemthatmeans communication,andcommunicationmeansoverhead:itsimplycoststimetocommunicate,and ifthattimebecomesnoticeable,userswilltendtochooseafasteroperatingsystem.yet,with theincreaseofmemorysize(seesection4.3)andcomputingpower(seesection4.4)ofcomputers, modernoperatingsystemscanindeedassumealayeredstructure,wherethepartsofthesystem arecompletelyseparatedandcooperatebypassingmessages. Theintroductionofthischapterattemptedtoshowwhyyoureallyneedanoperatingsystem. Inthesubsequentsectionswewillstudysometasksanoperatingsystemhastoperform.In ordertosimplifytheunderstandingofanoperatingsystem,thetasksithastoperformcanbe dissectedinanumberofclasses.theseclassesarerelatedtopartsofthecomputer:thecpu (processmanagement),i/o(lemanagement),andthememory(memorymanagement).we willdiscussthesethreepartsinturn.notethatthistrisectionisonlyexemplar;forexample,a textdescribingacomputerdedicatedtodatabasesmighthaveincludedasectionondatabase management;thiscouldalsobeincludedasapartoftheoperatingsystem.or,asystemusedfor imageprocessingmayhaveaspecialpartoftheoperatingsystemdedicatedtospecicoperations forimageprocessing.putallpartstogetherandyouhaveanoperatingsystem Processmanagement Inthemostsimpleoperatingsystems,suchasMSDos,thereisalwaysoneprogramrunning atanytime.forexample,theuserstartstoeditaprogram,andwhennishedquitsthe editor.next,thecompilercanbestartedtocompiletheprogram.thentheuserrunsit.this schememaybesucientforsuchsimpleuse,butisveryinecientandannoyingwhenmore complicatedproblemshavetobetackled.forinstance,aminimumrequirementwouldbeto useacomputerwhileatextisbeingprinted.thisexampleiseasilyextendedtothedesireto runatime-consumingcomputation,whilethecomputercanstillbeusedforediting,compiling, orwhatever.thisalsoleadstoamuchmoreecientuseofacomputer:forinstance,during editingtheeditorspendsintheorderof99.6%3ofitsrunningtimewaitingfortheusertopress thenextkey valuabletimewhichcanbeusedforotherthings. Perhapsthemostimportantsingletaskofanoperatingsystemistoprovidetheuserwith processmanagement.belowtheoperating-systemlevel,adigitalcomputerconsistsofa`stream' ofsimplecommandsinmachinelanguage.thesesimplecommandswillberecognisedbythe processorandleadtosomekindofaction:jump(conditional)toapartoftheprogramstored inmemory,orcallaprocedure(i.e.,retainthereturnaddress);addormultiply;assignvalues. Clearly,atthislevelitwouldnotbeeasytomakeaprogramwhichallowsausertorunmultiple programsatthesametime. Thereforeanoperatingsystemoersprocessmanagement.Aprocess,withincomputer scienceterminology,isaprograminaction.eventhoughwewouldliketorunmultipleprocesses, weoftenhaveonlyoneprocessoratourdisposal.thisproblemissolvedwithtimeslicing. Therunningtimeoftheprocessorisslicedintoverysmallparts,intheorderof10{500ms. 2Andtheshell?Well,theshellactuallyisaninterpreterofadeclarativelanguage.Itmaythereforebeplaced atlevel5,althoughthisisnotreallywhatismeantbythatlevel. 3ThiswasmeasuredbymonitoringvariousviprocessesrunningonSun's. ComputerSystemenenApplicaties September1994

16 16 CHAPTER2.OPERATINGSYSTEMS OnaUnixmachine,theprogrampsshowsalistofprocessesrunningunderthatshell.To getacompletelistofprocesses,typeps-waxu(bsd)orps-edf(sysv).thetopprogram continuouslyshowstherunningprocesses.mostimportantaretheowner,name,processid, andstatusthatareshown. Aprocesscanbecreatedby,forexample,startingaprogramfromtheshell.E.g.,whenyou typetop,youwillalsoseetopasanactiveprocess.youcansendthis(oranyotherprocess ofwhichyouaretheowner)asignal.e.g.,youcankillthetop-processbytyping,inanother window,kill-killprocnr,withprocnrtheprocessidoftop. Duringeachtimeslice,aprocessischosenbytheschedulerandsubsequentlyexecuted.Atthe endoftheslice,theprocessisputinthewaitingstate,andanextprocessischosen.switching fromoneprocesstoanextoneiscalledacontextswitchorprocessswitchandmaytake intheorderof100sonasunsparc.sotheprocessorcontinuouslyswitchesfromrunningone processtoanotherone.thetimethatoneprocessisrundependsonvariousfactors:howmany processesarerunning,howimportantistheprocess,howlongdoesacontextswitchtake.for instance,when100processesarerunningandeachprocessisaallowedtorun100ms,thenit willtake10sbeforeyoureditorwilldisplaythecharacteryoutyped wellabovetheirritation limit. Anoperatingsystemwheretheschedulercontinuouslyswitchesfromonerunnableprocess toanotherissaidtoimplementpreemptivescheduling.thisasopposedtoaso-calledrun tocompletionsystemwhereeachprocessiscompletedbeforeanotheroneisstarted.aswe shallseebelow,althoughpreemptiveschedulingisanecessityonmodernoperatingsystems, itcanleadtoraceconditionswhenmorethanoneprocessneedtoshareresources(e.g.,the disk).aconsiderableeortneedstobeputintheoperatingsystemtosolvethesefacts-of-life. Anotherdisadvantageofpreemptiveschedulingisthatthecomputercannotbeusedforprocess controlanymore.therunningtimeofanyprocesscannotbepredicted,sinceitdependsonother processes.thesystemisnotreal-timeanymore;whenyoutrytocontrolanuclearplantora robotwithsuchasystemyoumayendupwithnastysurpriseswhensomeimportantprocess hadtowaitafewmsbecausenewmailarrived!4 Aprocessisalwaysstartedbyanotherprocessusingoneofvarioussystemcalls.Asystem callislikeanordinaryfunctioncall,butthefunctioniscodedintheoperatingsystem.when processacreatesprocessb,aiscalledtheparentprocessandbthechild.thisleadstoa processtreeasshowningure2.1. Foreachprocessthatisrunningonasinglemachineanentryintheprocesstableis maintained.eachprocesshasaprocessnumber,aprocessstate,andaparentprocess number.theprocessnumberisauniqueidenticationofthatprocess,andisusedtochange therunningpriorityoftheprocess,killaprocessorsenditanothersignal,andsoon.the processstate(seebelow)indicateswhetheraprocessisrunning,sleeping,etc.theparent processnumberindicateswhichprocessstartedthisone;forinstance,forprocessesthatwere startedbytheuser(e.g.,ls,vi)thisistheshellprocessinwhichtheprocesswasinitiated. Theimportanceoftheprocessconceptisthatonecandescribethecomputerintermsofautonomousentities. Processstateandscheduling. Aswasalreadymentioned,anyprocesscanbeinoneofseveralstates.Thesestatesinclude: 4Ofcourse,processescanbegivenaprioritylevel.OnSolarisitisevenpossible(fortrustedusers)tostart real-timeprocesses.theschedulerwillalwaysrunareal-timeprocesstocompletionbeforestartingpreemptive schedulingagain.anyway,caremustbetaken. September1994 ComputerSystemenenApplicaties

17 2.1.TASKSOFANOPERATINGSYSTEM 17 rpcbind sched ttymon init xinit startxpageout keyservfsflushstartedfromkernel ttymonprocessreplacedbyxwindowsession X theuserdecidedtorunxwindows syslogd tcsh xterm xterm tcsh xterm tcsh xclock xcalc OnUnixsystems,initisalwaystherstprocess.Initisthereforetherootofthetree(not Figure2.1:Anexampleprocesstree. xtetris memorymanagerandlesystem).finallytheuserendsupwithxterm,whichinfactstartsashell. runningaprocessisrunning,i.e.,ithasbeenselectedbythescheduler.alsoknownasactive. countingthethreeotherprocessesstartedfromthekernel:thescheduler,andtwoprocessesforthe sleepingasleepingprocessisaprocesswaitingforaninterrupt,orforanotherprocesstoreturn runnablearunnableprocessisabletorun,butcurrentlynotchosenbythescheduler.also controltothisprocess.forinstance,whenaprocessissuesasystemcalltoreaddatafrom knownasreadyorwaiting. Thusthestateofaprocessdependsonwhattheprocessisdoing,andwhetherthescheduler sleepingprocesswillneverbechosenbythescheduler.alsoknownasblocked. disk,theprocesswillbeputinsleepingstateuntiltherequesteddataisavailable.a choseittorunornot.forexample,whenaprocessawantstoreadsomedatafromdisk, theprocesswillbeputintosleepingstatewhileitsrequestisbeinghandled,suchthatother processesmayutilisetheprocessorduringthetimethataiswaitingforitsdata. tocomplywithafewrules.usually,short-runningprocessesareprevalentoverlong-running ones,inordertokeeptheuser,whojustwantstolistadirectory,notwaitingtoolong.secondly, processesmayhaveahigh(0)orlow(127)priority,dependingonhowimportanttheyare,how Whenisaprocesschosenforexecution?Thereareseveralschedulingalgorithms,whichhave longtheyhaverunalready,andothersimilarfactors. Whenmanyprocessesareloaded(eventhoughtheymaybedormant),eachoftheseprocesses 2.1.2Memorymanagement willtakingupapartthecomputer'smemory.notonlyisitwastefulthatnotactiveprocesses isallowedtoreadfromorwritetoeachmemoryaddress,orelseitwouldbeeasytostealor importantmethodsforsolvingthisproblem:swappingandpaging.theissueofsecuritywill usethatmemory,buttheresimplymaynotbeenoughmemorytoholdthemall.therearetwo changesomeoneelse'sdata! notbetreatedhere;however,itbenotedthatthisissueisequallyimportant:noteveryuser ComputerSystemenenApplicaties September1994

18 18 CHAPTER2.OPERATINGSYSTEMS Run,onSolaris(SysV),ps-el(makesureyouhavetherightone.Thispsisstored whichhasthesamefunctionalitybutdierentags(c.q.,-waxu).).everyprocesswillhave /usr/bin/ps.ifnot,specifythefullpath.thealternativemightbethebsd/usr/ucb/ps in/usr/bin;whenyouexecutetheshell-builtincommandwhichpsitshouldshow oneofthefollowingstates: Orunning; Iidle:theprocessisbeingcreated; Ssleeping,i.e.,waitingforaneventtooccur(e.g.,diskinterrupt); Rrunnable,i.e.,itmaybeselectedbytheschedulertorun; Zzombie.Thisoccurswhenaprocesshasnished,butitsparentprocessiskilled.Thechild Ttraced:theprocesshasreceivedaSIGSTOPsignalbecausetheparentistracingit; isstillpresentintheprocesstable. processisnotaliveanymore(thereforecannotbekilled;hencethename`zombie'),but OfeachprocessisalsoshowntheID(processnumber)ofitsparentinthePPIDcolumn.The Xtheprocessiswaitingforamemorypagetobeputintomemory; treehasinitatitsroot. fsflushwritesdiskblocksbacktodiskatregularintervals(`ushing').notethattheprocess pageoutispartofthememorymanager,towritepagesofmemorybacktodiskatintervals, rstfourprocessesare:schedisthescheduler,initistheparentofallfollowingprocesses, InUnixaprocesscanbeassignedanicevalue,whichisanintegerbetween?20and+19 (valueslessthan0canonlybesetbythesuper-user).normally,processesrunatnice-value 0;aprocesswithahighernice-valuehasalowerchancetobepickedbytheschedulerfor execution.atvalue19,aprocessisonlyexecutedifnootherprocess(withalowernice-value) iswaiting.nice-valuescanbecheckedandsetwithtop. September1994 ComputerSystemenenApplicaties

19 2.1.TASKSOFANOPERATINGSYSTEM Swapping 19 WhenaprocessAissleeping,andthememoryitreservesisneededbyanotherprocessB,A canberemovedfromthemainmemory(swappedout)andwrittenonapartitionofthelocal disk,calledtheswapspace.thefreespace,whenbdoesnotneedmorememorythanadid, cannowbeoccupiedbyb. muchswappingmakesacomputerslow.whereasittakesonlyafewmsforacputoswitch fromrunningoneprocesstorunninganother,swappingoutafewmegabytesofmemorytakes tensuptohundredsofmilliseconds. Duetotheharddiskusage(whichareveryslowincomparisonwithmainmemory(table4.2), Paging Butwhatdoyoudowhenasingleprogramistoolargetotintheavailablememory?InMSDos, whenasingleprogramistoolargetotinthemainmemory,usesoverlaysinwhichaprogram issplitup somethingwhichisnotdonebytheoperatingsystembutbytheprogrammer. Firsttherstpartofaprogram(the.exe)isloadedandrun;thispartismainlythecontrol part.itloadstherstoverlay(an.ovlle,usually)fromdiskintomemoryandrunsit.when nished,thesecondoverlayisloadedandrun,andsoon.ofcoursethisisverycumbersomeand inexible;therefore,matureoperatingsystemssupportasystemcalledpaging.theavailable memoryofthecomputerisdividedinanumberofpages.theamountofvirtualmemorythat pagesofthevirtualmemoryareactuallypresentinrealmemory(gure2.2).whenablockof theoperatingsystempresentstotheuserisarbitrarily5larger.atanytime,onlyafewofthe realmemory page1 page2 page3 memoryisrequiredthatisnotinrealmemory,anotherblockwillbemovedoutandreplaced bytherequestedblock.variousmethodsexisttooptimallyimplementapagereplacement Figure2.2:Virtualvs.realmemoryspace. technique(tanenbaum,1987). mainmemoryorram(randomaccessmemory):thememorychipsinyourcomputer.but Withoutexplicitlysayingso,theprevioussectiondiscussedonlyonekindofmemoryknownas 2.1.3Filemanagement thereareothertypesofmemoryfordierentpurposes.thissectiondiscusseshowanothertype ofmemory,viz.diskisused. ComputerSystemenenApplicaties andsegmentation. 5Naturally,thereexistdesignconsiderations.Consult,e.g.,(Tanenbaum,1987)tolearnmoreaboutpaging September1994

20 20Duetothefactthatadiskaveryslowmediumiscomparedtomainmemory(i.e.,the CHAPTER2.OPERATINGSYSTEMS transferofdataismuchslower),itisusedfordierentpurposes.dataondisksisusually accessedthroughles.aleisaprogramorapieceoftextordataonadisk.forexample, alemaybeacprogram,oraletterformattedwithawordprocessor,orindeedthatword processoritself.fileshavenamesandcontents. doesnotstorelesbutblocksofdata;itisthetaskoftheoperatingsystemtolettheuser transfersofblocksofdata. accessthedataonthediskthroughles.theoperatingsystemtranslatestheseletransfersto However,alehasnothingtodowithhowadisk(glossaryp.68)actuallyoperates;adisk les.adirectoryisanodeinthedirectorytreeandmaycontainvariouslesanddirectories. Therootdirectoryingure(2.3)iscalled/inUnix.Subdirectoriescanbeaccessedthrough Filesaregroupedtogetherwithdirectories.Directoriescanbeseenasaspecialkindof opt devices home share man include adam includeles.thedirectory/homeisusedforstoringtheso-calledhomedirectoriesoftheusers optionalsoftwareisstored.thesubdirectorymanstoresmanpages,andincludeisusedforc Therootdirectoryiscalled/.OnSolaris,itcontains,forinstance,thedirectoryoptinwhich Figure2.3:AnexamplelesystemonaUnixcomputer. theirabsolutepath,e.g.,thegamesdirectoryofadamcanbeaccessedas/home/adam/games. onthatcomputer.eachuseragainmayhaveherorhistreeofdirectoriestostoreprogramsand However,whenAdamhasloggedinonthesystem,hiscurrentworkingdirectory(CWD) data. willmostlikelybe/home/adam(whichisknownasadam'shomedirectory).adamcanthen movetohisgamesdirectorybytypingcdgamesinsteadofcd/home/adam/games;heneedonly I/Omanagement specifytherelativepath. terminology.buttwoothertypesofleexist:characterspeciallesandblockspecial Apartfromthedirectories,theleswehaveconsideredsofarareknownasnormallesinUnix les.thesespeciallesareassociatedwithi/o(input/output)devices.forinstance,whereas thekeyboardonacomputerisadevice,itcanbetreatedasifitwereale,anditispossible toreadfromitandwritetoitjustasifitwerealestoredonadisk;nospecialprogramsor systemcallsarerequired.thekeyboardisanexampleofacharacterspecialle:transfergoes September1994 thesedevicesgoesperblockoftypically512or1,024bytes. onecharacteratatime.blockspeciallesaretypicallydisksortapes.transfertoandfrom ComputerSystemenenApplicaties

21 2.1.TASKSOFANOPERATINGSYSTEM Theprogrampwd(printworkingdirectory)descendsthedirectorytree,startingfromthe21 currentworkingdirectory,uptotherootandprintsthepathitdescended.thereisalsoa followingchangedirectory(cd)commands. shellbuilt-incommanddirswhichprintsthecurrentworkingdirectorywhichiskeptfrom Thebasicprogramtoreadfromorwritetoaleiscat.Sincethe`keyboardinput',known asstandardinputorstdin,isalsoale,asis`screenoutput'knownasstandardoutput toprinttheinputofletostdout. promptechoestheinput,linebyline,untiltheend-of-lecharacter^disgiven.typecatle orstdout,thesimplestoperationofcatistocopystdintostdout.typingcatattheshell directoryusingls-l/dev.youwillnoticethatcharacterspeciallesaremarkedbya`c' OnUnixmachines,thespeciallesarekeptinthedirectory/dev.Geta`longlist'ofthe andblockspeciallesbya`b'.mark,forinstance,thele/dev/floppy:thisisthele associatedwiththeoppydisk(providedyourmachinehasone).youwillhavedirectaccess tothediskthroughthisblock-specialle:forinstance,youcanreadfromthediskbytyping, Interrupthandlers.Inaprevioussectionwediscussedthescheduler,whichisapieceof more/dev/floppy. theoperatingsystemwhichrepeatedlychoosesaprocessfromtheprocessqueue,andallowsit Afterall,theschedulerisjustanotherprocess. torunforashortwhile.onequestionwedidnotask,however:whoschedulesthescheduler? aninterrupt.thisinterruptisgeneratedby,inhardware,switchingoneoftheprocessor's aprocessforexecution,itissuesasleep()systemcall,whichallowsittogotosleepfor thespeciedamountoftime.whenthistimehaselapsed,thesystemclockwillgenerate Theanswertothatquestionisthefollowing.Whentheschedulerhasnishedchoosing instructiontellstheprocessorwhichinterrupthandleritwillhavetoexecute. workingon,andreadthenextinstructionfromthedevicethatinitiatedtheinterrupt.this interruptlines`on.'theprocessorwillnowbeinterrupted,stoprunningtheprocessitwasjust interrupthandlerwouldcausetheschedulertoberunagain.whentheschedulerisnished playingaroundwiththeprocesstable,thenextprocesswillbeallowedtorun. handlerfortheharddisk,fortheclock,etc.wouldexist.inthecaseofthescheduler,theclock Thisinterrupthandlerisapieceofcodeintheoperatingsystem.Typically,aninterrupt willstartrunningthedevicedriverforthedisk,andonlyresumecontroltotheinterrupted nishedloadingablockfromthedisktomemory).inthiscase,however,theinterrupthandler programwhenthatdevicedriverisnished. Asimilarthingoccurswhenadiskcontrollergeneratesaninterrupt(e.g.,becauseithas systemonedevicedriverexistsforeachconnectedtypeofdevice;i.e.,onefortheoppydrive, Devicedrivers.WitheachI/Odeviceisassociatedadevicedriver.Ineachoperating oneforthekeyboard,oneforthescreen,etc.thedevicedrivescontainthedevice-dependent softwarenecessarytocontrolthatdevice.forinstance,forascreenthatmaybecodetowrite abytetothescreen,toscrollthescreenonelineup,toclearthescreen,etc. system,andthei/odevices.forinstance,auserprocessmayissuearead()systemcall.the device-independentpartofthei/osoftwareintheoperatingsystemwill,dependingonwhere theissuedreadissupposedtoreadfrom(ale,keyboard,anetwork,:::)forwardthecallto Thedevicedriversprovidetheinterfacebetweenthedevice-independentpartoftheoperating ComputerSystemenenApplicaties thecorrespondingdevicedriver. September1994

22 22 CHAPTER2.OPERATINGSYSTEMS 2.1.4Communication Averyimportantsubjectthatwehavetoconsideriscommunication.Communicationwithin computersystemsconsistsatvariouslevels:communicationbetweenthevariouspartsofthe operatingsystem;communicationbetweentwoprocessesrunningonasingleprocessor;communicationbetweentwoprocessorsinaparallelcomputer;communicationbetweenprocesses runningontwocomputersconnectedtogether;communicationbetweentwoprocessesrunning oncomputersthousandsofmilesapart. Chapter3willstudythistopicinmoredetail.However,inthissectionwewanttodiscuss afewimportantissuesofcommunicationencounteredincomputerscience.inparticular,we willonlydiscussthoseissuesthatareencounteredininter-processcommunicationoripc: thecommunicationbetweenvariousprocessesononecomputer(or,insomecases,betweentwo computersinanetwork). Considerthefollowingcase.SupposetherearetwooperatorsZoe,workinginatravelagency inzierikzee,andzachary,workinginzurich,whobothwanttobookaseatonight521 fortheirrespectivecustomer.thedatabaseforallightbookingsiscentrallymaintainedby Airlines.Asithappens,ZoeandZacharybothmaketheirreservationviaamodematthesame time.accordingtomurphy'slaw6,thefollowingwillhappen.whenzoerequeststheseating availabilityoftheplane,thisdatawillbesenttoher.shepassesittohercustomer,whoneeds afewsecondstodecidehewantstohaveawindoworanaisleseat.whileheisattempting tomakeupismind,zacharygetsthesameinformationfromthecentraldatabase,andhis customerthendecidesshewantstotakeseat11a,whichisstillfree.dittozoe'scustomer!so, Zoewritesbackareservationforseat11a,andsodoesZachary,thusoverwritingZoe'srequest. Who'sgoingtogettheseat? Situationslikethisareknownasraceconditions. Withalittleimaginationitiseasy toseethatthiscaseisalsoverylikelytooccurinanoperatingsystem,forinstancewhentwo processeshavesimultaneousaccesstoadiskblock.whenraceconditionsarenotproperlytaken careof,deadlocksareboundtooccur.adeadlockisaconditionwhereprocessaiswaiting forprocessbwhileprocessbiswaitingfora.inasituationlikethis,neitherprocesswillever continueoperation:adeadlock.naturally,deadlocksshouldalwaysbeprevented. Criticalsections Howcantheseraceconditionsbeavoided?Asolutiontothisproblemistheintroduction ofcriticalsections.acriticalsectionisthatpartofaprogramwheresharedread/write resourcesareaccessed;forexample,accesstosharedmemoryorshareddatabases.whenitcan beguaranteedthatatnotimetwoprocessesaresimultaneouslyintheircriticalsections,race conditionscanbeprevented. Throughouttheyearsofcomputingmanywaysofimplementingcriticalsectionshavebeen invented.mostoperatingsystembookslistmanyoftheseinventions,butwewillkeepthelist downanddiscussonlytwoprincipalmethods. Disablinginterrupts.Theeasiestmethod,whichwouldworkonasingle-usersingle-process machine:disableinterrupts,i.e.,donotallowthecurrentprocesstobeinterruptedbythe scheduler.allcomputershaveaninstructiontothiseect.however,suchapowerfulinstruction couldneverbegiventoauseronatime-sharingsystem:shewouldhavethemachineentirely toherself,andnallythemachinewouldcometoagrindinghalt!fortunately,bettersolutions exist. 6Murphy'srstlawreads:`everythingthatcangowrongwillgowrong.'That'stheonewereferto.His secondlaw,alsonottobeforgotten,maintains,`everythingthatcan'tgowrong,willgowrongnonetheless.' September1994 ComputerSystemenenApplicaties

23 2.1.TASKSOFANOPERATINGSYSTEM Semaphores.Semaphores,introducedbyE.W.Dijkstrain1965,arecounterswhichcan 23 beincrementedanddecrementedbytheinstructionsupanddown,respectively.thedown sleepingonthatsemaphore,oneoftheseprocessesiswokenupandcancompleteitsdown instructiononasemaphorechecksifitsvalueis0.ifitis,theprocessissuingthatdown instruction. Theupinstruction,ontheotherhand,incrementsasemaphore.Ifoneormoreprocesseswere instructionisputtosleep;otherwise,thesemaphoreisdecrementedandtheprocesscontinues. processesthathavetobeexecuted:thebaker'sjob,inwhichacookieisbakedandbroughtto thestore;andthecookie-monster'sjob,inwhichthecookiehastobeboughtandsubsequently computer)whocontinuouslyalternatesinbeingabakerandacookie-monster.therearetwo Considerthefollowingexample.Itconsistsofasingleperson(cf.theprocessorinyour eaten. twovariablesindicatewhetherthestoreisfull(nomorecookiescanbestored)orempty(no don't-interrupt.thecookievariableindicatestheshelfcontainingthecookies.thenext morecookiescanbebought).finally,don't-interrupthastomakesurethatthecookiemonsterdoesnotdecrementthecookiecounter(i.e.,bybuyingacookie)whenthebakerisjust incrementingit.theprogramlookslikethis: processbaker's-job: repeat bake-cookie(cookie); down(store-is-empty); down(don't-interrupt); Thereareafewsharedvariables:cookie,store-is-empty,store-is-full,and forever bring-to-store(cookie); up(don't-interrupt); up(store-is-full); processcookie-monster's-job: repeat down(store-is-full); down(don't-interrupt); buy(cookie); up(don't-interrupt); up(store-is-empty); Notethatthedownandupinstructionsmayneverbeinterrupted!Inanoperatingsystem forever eat-cookie(cookie); theywouldbeimplementedassystemcalls;thesesystemcallsthencouldbewritteninsucha ifthetwodown'sinthebaker'sandcookiemonster'sjobswerereversed,deadlockswouldbe However,youmustbevery,verycarefulwhenprogrammingwithsemaphores.Forinstance, waythattheyneverbeinterruptedbythescheduler. Interprocesscommunication boundtooccur(why?). ComputerSystemenenApplicaties Nowthatwehavelookedintoraceconditionsbetweentwoprocessesrunningononeprocessor, letusshortlylookintosomecommunicationprimitivestobroadentheperspective.theabove September1994

24 solutionwillonlyworkwhentheprocessessharingresourcesrunononeormoreprocessors 24 CHAPTER2.OPERATINGSYSTEMS whichhaveaccesstocommonmemory,i.e.,apieceofmemorytheycanallwritetoandread from.whenyoumovethisideatoadistributedsysteminwhicheachprocessorhasitsownbit Messagepassing.Tothisend,twocommunicationprimitivesareintroduced: betweenremoteprocesses. ofmemory,thatsolutionisnotfeasibleanymore.somehow,theinformationmustbeshared totheoperatingsystem.oneprocesssendsamessagetoanotherprocess,andmayblockuntil send(destination,message)andreceive(source,message)whicharebothsystemcalls thetimeuntilamessagearrives. ananswerarrives.thereceivingprocesscouldbeservingtherstprocess,andmayblockall Remoteprocedurecall.Insomeoperatingsystems,interprocesscommunicationisdone throughremoteprocedurecallorrpc.inrpc,amessageispassedbyaclientprocess sendsamessagetotheserverstubprocedure,whichthencallstherequiredprocedureswithin theservertohandlethemessage.then,amessageissentback,theclientstubwillreceivethe toaserverprocessbycallingaprocedurecalledtheclientstubprocedure.thisprocedure message,andtheclientprocesswillcontinueoperation. getsitsanswer. clientandserver.foralltheycare,thestubprocedurescanbeimplementedusingsemaphores. `Generally,'sincesomethingscangowrong.Forinstance,theservermaycrashbeforetheclient Naturally,thenicepartaboutthisisthatthecommunicationisgenerallytransparenttothe 2.2 Intheprevioussectionsomeofthemoreimportanttasksthatanoperatingsystemhasto performhavebeenlaidout.assumingthatallthesetaskscanbeseparatelysolved,allofthese Operatingsystemstructure discusstwowaysofdoingto:themonolithicstructure,andtheclient-serverstructure. solutionshavetobebroughttogetherintoasingleoperatingsystem.inthissectionwewill 2.2.1Themonolithicstructure Anoperatingsystemwithamonolithicstructurehas,infact,nostructureatall.Allpartsare puttogetherintoonebigchunkofprogram.thisappearstobethemostsimplechoice:make lestogetherintooneexecutable.anyprogrammerwithabitofexperiencewithdesigninglarge separatesourcecodesforthedierentparts,compilethoseintoobjectles,andlinkallobject Unix.Thisisbecauseofthecomputationaleciency:whenallpartsarelinkedtogetherinto fromthepointofviewofmaintenance,portability,clarity,andsoon.yetitisthestructure followedbymanyoperatingsystems,suchasmsdosand,inlesserextent,earlyversionsof programswillimmediatelyrecognisethatthismostobviouschoiceisalsotheworstone,ifonly toandfro.however,withthenecessaryincreasingcomplexityofoperatingsystems,theprice ofthisoverheadtradesverywellagainstthepriceofmaintainingmonolithicoperatingsystems. oneprogram,theycansharedatathroughglobalvariables,insteadofhavingtosendmessages Also,thecostofoverhead(theoperatingsystemrunsslowerbecauseofthetimeneededtopass messagesbetweenitsparts)decreaseswithincreasingcomputerpower. modereal-timemodeexists,whichhasthehighestprecedence).userprocessesnormallyrun berunninginusermodeorkernelmode(insomeoperatingsystemssuchassolaris,athird inusermode.whenauserprocessrequestssomeactionfromtheoperatingsystem,suchas LetusshortlystudyhowamonolithicUnixoperatingsystemworks.Themachinecaneither September1994 openingaleorreadingablock,theuserprocessissuesasystemcall.so,thissystemcall ComputerSystemenenApplicaties

25 2.2.OPERATINGSYSTEMSTRUCTURE userlevel 25 systemcallhandler userprogram kernellevel system le manager memory hardwarelevel hardwarecontrol Figure2.4:Theexecutionofasystemcallinamonolithicoperatingsystem. transferscontroltotheoperatingsystem(seegure2.4),i.e.,theprogramissuingthesystem willbesetinkernelmode:theprocessnowrunningwillhavemanymorepermissions,e.g.,todo callwillbeputinsleepingstateandtheoperatingsysteminrunningstate.next,thecomputer I/Ocontrol,killprocesses,andsoon.Therequestedactionwillbeperformedbytheoperating systemkernel,whichpossiblyhastowaitfori/odevicestocompletearead/writeoperation. Whenthekernelisnishedwithhandlingtherequest,controlisreturnedtotheuserprocess (i.e.,itwillbeputinrunnablestate).induetime,itwillbechosenforexecutionagainbythe scheduler Theclient-serverstructure Thereasonthatthisstructureisonlynowbecomingpopularisthatthecommunicationoverhead ideaisverygeneral:thereisoneserverwhichhandlesrequestsofmanyclients.thisstructureis alsorapidlyincreasingpopularity(or,infact,alreadybecomingstandard)inoperatingsystems. Wehavealreadycomeacrosstheclient-serverstructurebetweencommunicatingprocesses.The computersthatareavailablenowadays.pcownerswhohaveeverexperimentedwithrunning MINIX7ona8088ora80286processorwillquicklylearntoappreciatetheirMSDosoperating system,eventhoughitisuser-unfriendlybeyondcomparison.minix,albeitanoperating (messagepassingoripc)thatitleadstoisonlynowbecomingnegligibleduetothefast aslittleaspossiblecodeintothekernel.thekernel,whichisnowreducedtoamicrokernel, systemwithacrystal-clearorganisation,isjusttooslowforsucharchaiccomputerarchitectures. operatesasaservertohandlerequestsofvariousclients.thetaskthatislefttothismicrokernelisverylimited:handlethecommunicationbetweentheprocesses,andgivetheprimitives Theideabehindtheclient-serverstructureforoperatingsystemsisthefollowing.One:put server8,leserver,memorymanager,etc.theremainingmicrokernelisleftwithonlyonetask: necessarytopreventraceconditions. 7MINIXisaUnix-likeoperatingsystem(BSD)writtenbyA.S.Tanenbaum(Tanenbaum,1987)forPC's.The Two:migrateasmuchaspossiblefunctionalitytostand-aloneclients,suchastheprocess ofminixasanoperatingsystemislimited,however,duetothefactthatitisratherslow thecommunication overhead,whilethreads(seebelow)arenotavailable,neckitwhentoomanyprocessesareactive. fromscratch,partlyforteachingpurposes,andendedupwithaverywell-structuredproduct.thepopularity distributionandthereforestudyoftheiroperatingsystem.tanenbaumthendecidedtorewriteasimilarproduct reasonhewroteitwasthat,inthe1980's,at&tbecameawareofthedistributabilityofunix,andprohibitedthe ComputerSystemenenApplicaties 8Inthiscasetheword`server'hasanotherconnotationthanthesamewordwhenusedfortheclient-server September1994

26 handlethecommunicationbetweenthevariousclients. 26 CHAPTER2.OPERATINGSYSTEMS AlthoughMINIXisnotactuallyusedonmanycomputers,itsclearstructureaidsintheunderstandingofhowoperatingsystemswork.ThestructureoftheMINIXoperatingsystemisbuild upoutoffourlevels,asdepictedingure2.5.atthelowestlevel,thecommunicationbetween Asaveryneatexampleofaclient-serverbasedoperatingsystemwewillconsiderisMINIX. clockdiskcamera::: useruser manager memory user system le::: processmanagement Figure2.5:Theclient-serverstructureoftheMINIXoperatingsystem. andmessagepassing Themicro-kernelonlyperformsprocessmanagementandhandlesthecommunication(passingof theprocessesistakencareof,andtrapsandinterrupts(explainedbelow)arecaught.this messages)betweenthememorymanager,lesystem,etc.i.e.,thekernelservestheother lowestlevelisverysimilartothemicrokerneldiscussedbefore,exceptthatprocessmanagement processors. devicedrivers.theseprocessesareallcompletelystand-aloneandcommunicatewitheachother bymessagepassingthroughthemicrokernel.layer3,containing(amongothers)thememory isalsodoneatthislevelandnotbyaseparateclient.atthesecondlowestlevelarethei/o memorymanagement(e.g.,forkforstartinganewprocessorbrkforchangingtheamountof managerandlesystem,presentstheuserwithsystemcalls.forinstance,allsystemcallsfor manager,whichwillsubsequentlysendmessagestothelowerlevels. inthreedierentways: memorythatisreservedforaprocesstostoreitsdata)arecallstofunctionsinthememory interruptaninterrupt,aswesawbefore,isaconditionthatisnotinuencedbytherunning Atlayer4theuserprocessesarerunning.Ingeneral,userprocesseshaveaccesstothekernel hascompletedthetransferofablockofdata.thediskcontrollerchipwillgeneratean Asanotherinterruptexample,assumeaprogramArunningwhilethediskhardware areused,amongotherthings,fortheschedulertochoosewhentorunanextprocess. programbutratherbysomethingexternal,e.g.,adisk,ortheclock.clockinterrupts backtoa.so,aninterruptcanbeseenasatransparentprocedurecall,instantiatedby thediskinterrupthandler.whenthisprogramisnished,controlwillbetransferred interrupt.theprocessorwillthenstopexecutingprogramaandtransferexecutionto trapatrapissimilartoaninterrupt,butisdirectlygeneratedbytherunningprogramitself. externalinuences. Therearetwokindoftraps:thoseresultingfromanerrorofsomekind,andthoseresulting themachineinkernelmode.theformer,error-generated,trapsresultforinstancewhen servestotransfercontrolfromauser-programtotheoperatingsystem'skernel,andput aspecialinstructioncalledthetrapinstruction,alsoknownasakernelcall.thistrap fromasystemcall,e.g.,readingfromale.thissystemcallmakestheprocessorexecute model;admitted,veryunfortunate::: adivisionby0occurs,oraoatingpointoverow,anillegalinstruction,orareferenceto apartofmemorywhereaprogramisnotallowedtoreadorwrite. September1994 ComputerSystemenenApplicaties

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

Machinevirtualisatie. Raphael kena Poss Universiteit van Amsterdam. Besturingsystemen

Machinevirtualisatie. Raphael kena Poss Universiteit van Amsterdam. Besturingsystemen Machinevirtualisatie Raphael kena Poss Universiteit van Amsterdam Besturingsystemen 1 vandaag... zal je leren: wat machinevirtualisatie is waarvoor het wordt gebruikt hoe het werkt het verschil tussen

Nadere informatie

slides2.pdf April 12,

slides2.pdf April 12, Werking van CPU CSN CS2 CPU, I/O en Memory management Piet van Oostrum 12 april 2002 De ALU kan alleen eenvoudige operaties uitvoeren (bijv. twee getallen optellen, vermenigvuldigen of testen of iets >

Nadere informatie

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? Hoofdstuk 3: Processen: Beschrijving en Besturing Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? 1 Wat is een proces? Een proces is een programma in uitvoering

Nadere informatie

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading Geheugen en Adressering Binding Geheugen (main memory, primary storage) is noodzakelijk voor de uitvoering van programma's. te beschouwen als array van adresseerbare bytes (of woorden). verschillende processen

Nadere informatie

A2: Bedrijfssystemen. A2 en PC. Boek. Voorkennis

A2: Bedrijfssystemen. A2 en PC. Boek. Voorkennis A2 en PC De eerste helft van het 2e jaars vak, oude curriculum A2 (Bedrijfssystemen) is het 1e jaars vak, nieuwe curriculum PC (Processen & Concurrency) geworden (ivm. Master/Bachelor gedoe) Erik Poll

Nadere informatie

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen?? Vragen?? Vandaag Hoofdstuk 4: threads (tentamenstof : 4.1 t/m 4.2) Kleine Opgaven 4.1 (niet alleen ja of nee, ook waarom!) en 4.4 inleveren maandag Centrale begrippen hoofdstuk 3 processen proces state:

Nadere informatie

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Tim Mallezie Architectuur van besturingssystemen: Vraag A2. Procesbeheer: kenmerken van moderne besturingssystemen. 1. Bespreek de (drie) meest typische kenmerken van moderne besturingssystemen. 2. In hoeverre beantwoorden UNIX, Linux en Windows NT hieraan? Geef

Nadere informatie

Vereenvoudigingvangedistribueerde IntegratievanSunRPCenC Applicatieontwikkeling DoctoraalscriptievanAskePlaat 24juni1992 ansic prp? rpcgen? Studienummer53697 FaculteitderEconomischeWetenschappen ErasmusUniversiteitRotterdam

Nadere informatie

De PROFIBUS, PROFINET & IO-Link dag. Edegem, 8 juni 2010. PROFIBUS Belgium VZW PROFIBUS, PROFINET & IO-Link

De PROFIBUS, PROFINET & IO-Link dag. Edegem, 8 juni 2010. PROFIBUS Belgium VZW PROFIBUS, PROFINET & IO-Link De PROFIBUS, PROFINET & IO-Link dag Edegem, 8 juni 2010 PROFIBUS Belgium VZW PROFIBUS, PROFINET & IO-Link 2010 2 Agenda 1. Omschrijving project 2. Voorstelling materialen 3. Redundancy 4. Visualisatie

Nadere informatie

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken.

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken. Tentamen Operating Systems Dinsdag 14 juni 2016,10:00-13:00 Examinator: dr. K. F. D. Rietveld ' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen

Nadere informatie

IN1805 I Operating System Concepten

IN1805 I Operating System Concepten IN1805 I Operating System Concepten Hoofdstuk 8: Main memory 6-1 Geheugen en Adressering Geheugen (main memory, primary storage) is noodzakelijk voor de uitvoering van programma's. te beschouwen als array

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

Windows NT 4.0. Performance Monitoring. Gino Damen 28 oktober 1997 Versie: 1.0

Windows NT 4.0. Performance Monitoring. Gino Damen 28 oktober 1997 Versie: 1.0 Performance Monitoring Gino Damen 28 oktober 1997 Versie: 1.0 Inhoudsopgave 1. Opbouwen en starten van een systeem log...2 1.1. Aandachtspunten...2 1.2. Aanmaken van een log file...2 1.3. Starten van het

Nadere informatie

SuperOffice Systeemvereisten

SuperOffice Systeemvereisten Minimale systeemvereisten voor SuperOffice CRM De minimale systeemvereisten voor SuperOffice CRM zijn tevens afhankelijk van het besturingssysteem en de services/applicaties die op het systeem actief zijn.

Nadere informatie

Computerarchitectuur en netwerken Toets 1 4 okt

Computerarchitectuur en netwerken Toets 1 4 okt 11.00 13.00 De open vragen moet je beantwoorden op tentamenpapier. De multiple-choice antwoorden moet je op het vragenblad invullen in de rechtervakjes en dat blad inleveren. Schrijf je naam, studentnummer

Nadere informatie

IO-Link is Smart Industry

IO-Link is Smart Industry De toenemende vraag naar informatie en intelligente interactie op alle communicatieniveau 's IO-Link presentatie 02.06.2015 Avans Hogeschool Den Bosch Inhoud Filmpje"What is IO-Link" Smart Industry: Doel

Nadere informatie

Applications & Clients

Applications & Clients Applications & Clients APPLICATIONS & CLIENTS OS Financieel Wind ows XP Windows Home of Starter Editions Windows XP Windows Vista Windows Vista Business, Enterprise 32-bits zonder SP, SP1 32-bits Windows

Nadere informatie

Applications & Clients

Applications & Clients Applications & Clients APPLICATIONS & CLIENTS OS Financieel Wind ows XP Windows Home of Starter Editions Windows XP Windows Vista Windows Vista Business, Enterprise 32-bits zonder SP, SP1 32-bits Windows

Nadere informatie

Manual Debug software. VMC next

Manual Debug software. VMC next Manual Debug software VMC next Land: NL Ned Air bv maart 2012 Ver. 0.05 1 Algemeen... 3 2 Opbouw VMC next... 3 3 VMC Next Debugger... 4 4 Status... 7 5 Registers... 8 5.1 Knoppen... 9 5.1.1 Download...

Nadere informatie

Totally Integrated Automation. Realizing visions every day in every industry

Totally Integrated Automation. Realizing visions every day in every industry Totally Integrated Automation Realizing visions every day in every industry Industriële trends Hardware complexer en krachtiger Kortere innovatiecycli en snellere modelwijzigingen om in te spelen op veeleisende

Nadere informatie

Inleiding Practicum Operating Systems

Inleiding Practicum Operating Systems Inleiding Practicum Operating Systems Mattias Holm & Kristian Rietveld Tot nu toe Shell: verkennen interface tussen user-space en kernelspace. User space System calls Kernel space Doel van deze presentatie

Nadere informatie

MOSIX Clusters voor iedereen

MOSIX Clusters voor iedereen MOSIX Clusters voor iedereen Geert Vernaeve & Jan De Beule Ghent University Mosix: clusters voor iedereen p.1/10 Clusters voor iedereen? Standaard huis-, tuin- en keukenhardware Mosix: clusters voor iedereen

Nadere informatie

Inleiding Practicum Operating Systems

Inleiding Practicum Operating Systems Inleiding Practicum Operating Systems Mattias Holm & Kristian Rietveld Doel - In komende 3 practica zullen we gaan werken met een custom OS. - Kort introduceren van: - Hardware. - Kernel. - Tools. - De

Nadere informatie

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers English Instructions Windows 8 out-of-the-box supports the ICARUS Illumina (E653) e-reader. However, when users upgrade their Windows

Nadere informatie

Hoofdstuk 7. Computerarchitectuur

Hoofdstuk 7. Computerarchitectuur Hoofdstuk 7 Computerarchitectuur 1 controlebus CPU MEMORY I/O databus adresbus Figuur 71 Schematische opbouw van een computersysteem 8 Figuur 72 Een busverbinding Buslijn Out E A In Out E B In Out E C

Nadere informatie

Het configureren van de NETGEAR.

Het configureren van de NETGEAR. AVAYA VPN Phone met een NETGEAR VPN Router. Thuis werken in dezelfde omgeving zoals op het werk, geen aanpassingen als mobiele werkers vanaf huis willen werken en de identieke omgeving voor thuiswerkers.

Nadere informatie

Viktor van den Berg. Xpert Training Group VMware Authorized Training Center Citrix Authorized Learning Center Microsoft CPLS Eigen datacenter

Viktor van den Berg. Xpert Training Group VMware Authorized Training Center Citrix Authorized Learning Center Microsoft CPLS Eigen datacenter VIRTUALISATIE IRTUALISATIE & C...EEN EEN INTRODUCTIE & CLOUD COMPUTING VIKTOR VAN DEN BERG (XTG) INTRODUCTIE Viktor van den Berg VMware Certified Instructor Product Manager VMware Trainingen Dutch VMUG

Nadere informatie

HMI s ontsluiten machines naar het WEB

HMI s ontsluiten machines naar het WEB HMI s ontsluiten machines naar het WEB Grip op uw machine onafhankelijk van zijn locatie Door: Bert-Jan Ruesink Email: b.ruesink@duranmatic.nl Machinebouw event 2015 Pag. 1 Duranmatic B.V. Technische handelsonderneming,

Nadere informatie

Onderzoeksnetwerk via Linux

Onderzoeksnetwerk via Linux Onderzoeksnetwerk via Linux Het onderzoeksnetwerk biedt opslagruimte en printers voor onderzoeksdoeleinden. Deze quickreference beschrijft hoe u vanaf een Linux computer de gedeelde opslagruimte kunt benaderen

Nadere informatie

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly

Nadere informatie

CONFIGURATIEHANDLEIDING. File Exchange

CONFIGURATIEHANDLEIDING. File Exchange CONFIGURATIEHANDLEIDING File Exchange Contents Contents... 2 1. Benodigde software... 3 1.1. Geostar 200/250... 3 1.1.1. Sync Software... 3 1.1.2. Sync Account... 3 1.1.3. Perceel Manager... 3 1.2. Viper4...

Nadere informatie

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur Tentamen 17 augustus 2000 Opgaven - 1 - Computerarchitectuur Tentamen Computerarchitectuur (213005) 17 augustus 2000 2 bladzijden met 5 opgaven 3 antwoordbladen Het raadplegen van boeken, diktaten of aantekeningen

Nadere informatie

Belangrijkste ideeën/concepten uit OS, incl. proces

Belangrijkste ideeën/concepten uit OS, incl. proces Operating System Overview (Hfst 2) Wat is een OS? Wat was een OS? Evolutie van OS. OS als virtuele machine OS als beheerder van hulpbronnen (resources) Belangrijkste ideeën/concepten uit OS, incl. proces

Nadere informatie

Hoe werkt een rekenmachine?

Hoe werkt een rekenmachine? Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type

Nadere informatie

Windows Basics. yvan vander sanden. 22 februari 2015

Windows Basics. yvan vander sanden. 22 februari 2015 Windows Basics yvan vander sanden 22 februari 2015 Windows is nog altijd een veel gebruikt operating system. Als technicus moet je bekend zijn met het Windows operating system om gebruikers te kunnen helpen,

Nadere informatie

Virtueel Geheugen en demand paging (1)

Virtueel Geheugen en demand paging (1) Virtueel Geheugen en demand paging (1) Programma's zijn vaak niet in hun geheel in het geheugen nodig, vanwege: zelden gebruikte onderdelen groter gedeclareerde arrays dan nodig als programma helemaal

Nadere informatie

Voltijdse dagopleiding PC technicus

Voltijdse dagopleiding PC technicus Voltijdse dagopleiding PC technicus Kies je voor een opleiding bij SYNTRA Midden-Vlaanderen, dan kan je rekenen op een professionele opleiding die steeds vertrekt vanuit de praktijk. Je krijgt les van

Nadere informatie

Mitel User Group. Mitel-licentiestructuur. Jan Jansen. Account Director april 2015

Mitel User Group. Mitel-licentiestructuur. Jan Jansen. Account Director april 2015 Mitel User Group Mitel-licentiestructuur Jan Jansen Account Director april 2015 De concrete vraag Kan iemand van Mitel de licentiestructuur uitleggen? 2 Agenda Waarom licenties Basis Mitel-licentiestructuur

Nadere informatie

SIM-PL, auteursomgeving voor digitale componenten

SIM-PL, auteursomgeving voor digitale componenten SIM-PL, auteursomgeving voor digitale componenten Ben Bruidegom en Wouter Koolen-Wijkstra, AMSTEL-insituut UvA Samenvatting SIM-PL is een auteursomgeving om componenten te construeren en te simuleren voor

Nadere informatie

Applicaties op afstand draaien met X11

Applicaties op afstand draaien met X11 LinuxFocus article number 222 http://linuxfocus.org Applicaties op afstand draaien met X11 door Guido Socher (homepage) Over de auteur: Guido houdt van Linux en niet alleen omdat het interessant is te

Nadere informatie

Intel Pentium G3258. Productinformatie ARTIKELNUMMER FABRIKANTNUMMER BX80646G3258 FABRIEKSGARANTIE. Bring in Service (36 maanden) Processor

Intel Pentium G3258. Productinformatie ARTIKELNUMMER FABRIKANTNUMMER BX80646G3258 FABRIEKSGARANTIE. Bring in Service (36 maanden) Processor Intel Pentium G3258 ARTIKELNUMMER FABRIKANTNUMMER 48693 BX80646G3258 FABRIEKSGARANTIE Bring in Service (36 maanden) Productinformatie Processor Processorfamilie Frequentie van processor Intel Pentium G

Nadere informatie

Les 11: systeemarchitectuur virtuele machines

Les 11: systeemarchitectuur virtuele machines Les 11: systeemarchitectuur virtuele machines Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Virtuele machines Motivatie Interfaces Virtualisatie: inleiding

Nadere informatie

COIL MACHINE Probleemoplossingsgids. Coil Machine Troubleshooting Guide

COIL MACHINE Probleemoplossingsgids. Coil Machine Troubleshooting Guide COIL MACHINE Probleemoplossingsgids Coil Machine Troubleshooting Guide CribMaster. 2013 All rights reserved. Windows is a registered trademark of Microsoft Corporation CribMaster 1955 West Oak Circle Marietta,

Nadere informatie

De PROFIBUS, PROFINET & IO-Link dag. Ede, 18 november

De PROFIBUS, PROFINET & IO-Link dag. Ede, 18 november De PROFIBUS, PROFINET & Ede, 18 november 2011 IO-Link dag 2011 The basics of PROFINET Harm Geurink Product Manager AUTOMATION Phoenix Contact bv hgeurink@phoenixcontact.nl PROFINET Trends in de markt:

Nadere informatie

Instellen van IP-Aliasing op een Linux Machine Mini-HOWTO

Instellen van IP-Aliasing op een Linux Machine Mini-HOWTO Instellen van IP-Aliasing op een Linux Machine Mini-HOWTO Harish Pillay h.pillay@ieee.org Vertaald door: Ellen Bokhorst bokkie@nl.linux.org Dit is een procedure handboek over hoe IP aliasing op een Linux

Nadere informatie

Stappenplan bij het gebruik van SQL 2008 Versie 2.0, 17-09-2010

Stappenplan bij het gebruik van SQL 2008 Versie 2.0, 17-09-2010 Stappenplan bij het gebruik van SQL 2008 Versie 2.0, 17-09-2010 Installatie stappen Microsoft SQL Server 2008 Express: Het is raadzaam om de volledige installatie met een gebruiker zonder beperkingen uit

Nadere informatie

Avaya IP Office release 8.0 update

Avaya IP Office release 8.0 update Avaya IP Office release 8.0 update Patrick Kneefel Pre Sales Specialist Westcon Convergence 14 maart 2012 Avaya IP Office 8.0 update Samenvatting nieuwe features IP Office Editions en licenties Beschikbaar

Nadere informatie

ASUS DESKTOP GT51CH-BE016T 2 099,00. Kenmerken COMPUTRADE. Artikelcode : ITASGT51CHBE016

ASUS DESKTOP GT51CH-BE016T 2 099,00. Kenmerken COMPUTRADE. Artikelcode : ITASGT51CHBE016 ASUS DESKTOP GT51CH-BE016T Artikelcode : ITASGT51CHBE016 ASUS ROG GT51CH-BE016T. Frequentie van processor: 4,2 GHz, Processorfamilie: Zevende generatie Intel Core i7, Processormodel: i7-7700k. Intern geheugen:

Nadere informatie

Access to innovation. Televersal Deltatraining OpensScape Business. OpenScape Business Deltatraining. Backup en restore.

Access to innovation. Televersal Deltatraining OpensScape Business. OpenScape Business Deltatraining. Backup en restore. Access to innovation OpenScape Business Deltatraining Backup en restore Backup & Restore Backup & Restore devices Scheduled Backups Complete Backup vs. Diagnosis data only Notes / Hints 2 Via Backup en

Nadere informatie

Remote maintenance 4.0

Remote maintenance 4.0 Locatie A Locatie B Remote maintenance 4.0 Onderwerpen 1 2 Uitleg Remote maintenance 4.0 Verschillende manieren van Remote maintenance 3 Remote maintenance als een service 4 Twee voorbeelden van services

Nadere informatie

Writing a Bachelor Thesis in Computer Science. Siegfried Nijssen

Writing a Bachelor Thesis in Computer Science. Siegfried Nijssen Writing a Bachelor Thesis in Computer Science Siegfried Nijssen Motivation In a few weeks, you will be writing a thesis Writing a text is not easy for many academics Bad Academic Writing is a Problem Differences

Nadere informatie

MVoice PP Dealer Handleiding 1.0

MVoice PP Dealer Handleiding 1.0 MVoice PP Dealer Handleiding 1.0 Inleiding MVoice PP is de Pre Paid Cloud telefonie oplossing van MaXXus en is geschikt voor alleen uitgaand verkeer. Met MVoice PP zijn bespairngen tot 70 % op de gesprekkosten

Nadere informatie

How To Do mbspider met VIPA Modbus-TCP coupler

How To Do mbspider met VIPA Modbus-TCP coupler How To Do mbspider met VIPA Modbus-TCP coupler Inhoud 1. Inleiding... 2 2. Instellingen hardware... 2 2.1 VIPA 053-1MT00... 2 2.2 mbspider... 4 3. Instellingen mbconnect24 V2... 4 3.1 Network Component...

Nadere informatie

ACER CHROMEBOX CXI3 289,00. Kenmerken VBC COMPUTERS. Artikelcode : ITACCHROMEBOXCL

ACER CHROMEBOX CXI3 289,00. Kenmerken VBC COMPUTERS. Artikelcode : ITACCHROMEBOXCL ACER CHROMEBOX CXI3 Artikelcode : ITACCHROMEBOXCL Acer Chromebox Chromebox CXI3. Frequentie van processor:,8 GHz, Processorfamilie: Intel Celeron, Processormodel: 3865U. Intern geheugen: 4 GB, Intern geheugentype:

Nadere informatie

EM7680 Firmware Update by OTA

EM7680 Firmware Update by OTA EM7680 Firmware Update by OTA 2 NEDERLANDS/ENGLISH EM7680 Firmware update by OTA Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Release notes:... 3 4.0 (NL) Overige

Nadere informatie

WinCCFlex. WinCC Flex MeRa 1/22

WinCCFlex. WinCC Flex MeRa 1/22 WinCCFlex 1. Invoegen van TP in het S7 project...2 2. Instellen van communicatie HMI...2 3. Aanmaken van tags...4 4. Aanmaken van de schermen...5 5. Invoegen van een objecten...6 5.1. Invoegen van een

Nadere informatie

Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server

Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server Opdracht Installeer op je Knoppix installatie de ProFTPD ftp-server. Doelstelling Het leren van: 1. het installeren van ProFTPD, en 2. de basis

Nadere informatie

Computerarchitectuur en netwerken 4 Processen en Threads

Computerarchitectuur en netwerken 4 Processen en Threads Computerarchitectuur en netwerken 4 Processen en Threads Lennart Herlaar 19 september 2016 Inhoud Scheduling scheduler prioriteiten real-time scheduling Processen ouder-kind processen Unix: fork en exec

Nadere informatie

Oracle Cloud, slim bekeken!

Oracle Cloud, slim bekeken! Oracle Cloud, slim bekeken! van zachte theorie naar harde praktijk Spreker(s) : Datum : E-mail : Patrick Munne / Laurus de Jonge 13 december 2016 vragen@transfer-solutions.com WWW.TRANSFER-SOLUTIONS.COM

Nadere informatie

L A TEX-cursus 5 e sessie: scriptie in L A TEX

L A TEX-cursus 5 e sessie: scriptie in L A TEX L A TEX-cursus 5 e sessie: scriptie in L A TEX TEXniCie A Eskwadraat 17 november 2014 Vorige week Vorige week hebben jullie het volgende geleerd: Vectorplaatjes importeren Presentaties maken met beamer

Nadere informatie

VMWORLD 2011 US WRAP

VMWORLD 2011 US WRAP VMWORLD 2011 US WRAP UP VIKTOR VAN DEN BERG MARCEL VAN OS WELKOM ELKOM & A & AGENDA Viktor van den Berg, Dutch VMUG Leader Marcel van Os, Senior Technical Trainer @ XTG Agenda VMUG Update (Viktor) VMware

Nadere informatie

ARTIKELNUMMER FABRIKANTNUMMER PRIJS 415,90 FABRIEKSGARANTIE. Vierde generatie Intel Core i7. Intel Core i Desktop series.

ARTIKELNUMMER FABRIKANTNUMMER PRIJS 415,90 FABRIEKSGARANTIE. Vierde generatie Intel Core i7. Intel Core i Desktop series. Intel Core i7 4790K ARTIKELNUMMER FABRIKANTNUMMER 48690 BX80646I74790K PRIJS 415,90 FABRIEKSGARANTIE Bring in Service (36 maanden) Productinformatie Processor Processorfamilie Frequentie van processor

Nadere informatie

Netwerkprinter Dell 1320C installeren op Ubuntu 10.04 LTS - Lucid Lynx

Netwerkprinter Dell 1320C installeren op Ubuntu 10.04 LTS - Lucid Lynx Netwerkprinter Dell 1320C installeren op Ubuntu 10.04 LTS - Lucid Lynx Er is geen Linux driver voor deze printer, maar het werkt ook met de driver van de Fuji Xerox DocuPrint C525A Direct link to Linux

Nadere informatie

How To Do Visualisaties met mbconnect24 V2

How To Do Visualisaties met mbconnect24 V2 How To Do Visualisaties met mbconnect24 V2 Inhoud 1. Inleiding... 2 2. Aanmaken Network Component (VIPA PLC) & Tag Server... 3 2.1 Network Component; VIPA PLC... 3 2.2 Tag Server... 4 3. Tags aanmaken...

Nadere informatie

Keynote. Innovatiedag. November Opleidingen Consultancy Detachering Remote Services

Keynote. Innovatiedag. November Opleidingen Consultancy Detachering Remote Services Keynote Innovatiedag November 2018 Wat is de Innovatiedag? Iedere eerste vrijdag van de maand organiseert AT Computing een Innovatiedag. Deze dag staat in het teken van het opdoen en delen van kennis en

Nadere informatie

VIDEO RECORDING Afstand beheren

VIDEO RECORDING Afstand beheren DIGITAL VIDEO RECORDER (DMR): Afstands toegang (adres gegeven door S & P) Internet Explorer Windows Chrome of Firefox computer Programma NIET AANBEVOLEN: met ActiveX (erratische werking) Apple computer

Nadere informatie

Voltijdse dagopleiding netwerkbeheerder

Voltijdse dagopleiding netwerkbeheerder Voltijdse dagopleiding netwerkbeheerder Kies je voor een opleiding bij SYNTRA Midden-Vlaanderen, dan kan je rekenen op een professionele opleiding die steeds vertrekt vanuit de praktijk. Je krijgt les

Nadere informatie

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Geheugenbeheer. ICT Infrastructuren 2 december 2013 Geheugenbeheer ICT Infrastructuren 2 december 2013 Doelen van geheugenbeheer Reloca>e (flexibel gebruik van geheugen) Bescherming Gedeeld/gemeenschappelijk geheugen Logische indeling van procesonderdelen

Nadere informatie

Social Media en webanalyse Social media analytics en Social reports

Social Media en webanalyse Social media analytics en Social reports Social Media en webanalyse Social media analytics en Social reports Roel Willems Consultant, OrangeValley 21 maart 2012 Even voorstellen Wat is Social Media Waarom Social Media marketing Social media web

Nadere informatie

Procedure Reset tv-toestellen:

Procedure Reset tv-toestellen: Procedure Reset tv-toestellen: Volgende procedure is te volgen wanneer er een tv-toestel, op een van de kamers niet meer werkt. TV Re-installation Factory Default Her-installeren van de TV Fabrieksinstellingen

Nadere informatie

Mobile Devices, Applications and Data

Mobile Devices, Applications and Data Mobile Devices, Applications and Data 1 Jits Langedijk Senior Consultant Jits.langedijk@pqr.nl Peter Sterk Solution Architect peter.sterk@pqr.nl Onderwerpen - Rol van Mobile IT in Tomorrow s Workspace

Nadere informatie

Gebruiker afschermen van de hardware

Gebruiker afschermen van de hardware Device driver 1 Gebruiker afschermen van de hardware Prog1 Prog2 System calls/ API Operating Systeem Device drivers Hardware 2 Introductie Een device driver is een computer programma dat direct communiceert

Nadere informatie

IO-Link : de industriële communicatiestandaard. IO-Link Group Belgium stelt voor

IO-Link : de industriële communicatiestandaard. IO-Link Group Belgium stelt voor IO-Link : de industriële communicatiestandaard IO-Link Group Belgium stelt voor Trends in production & automation Industry 4.0 digitizes the entire industrial value chain R&D Supplier Procurement Production

Nadere informatie

Industrie 4.0 /Industrial IoT: de praktijk aan de hand van case studies en referenties

Industrie 4.0 /Industrial IoT: de praktijk aan de hand van case studies en referenties Industrie 4.0 /Industrial IoT: de praktijk aan de hand van case studies en referenties Jim ten Broeke Business Development Manager ifactory Advantech Europe B.V. 4 Milestones voor een succesvolle Smart

Nadere informatie

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation TeleBank Contents Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation Introduction - TeleBank Automatic bank services Initiates a Dialog with

Nadere informatie

Tentamen Computersystemen

Tentamen Computersystemen Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:

Nadere informatie

Introductie UNIX/Linux

Introductie UNIX/Linux Introductie UNIX/Linux Erik Poll en Martijn Warnier Katholieke Universiteit Nijmegen http://www.cs.kun.nl/~erikpoll/linux October 31, 2002 Abstract Dit is een collectie opdrachten om wat aspecten van het

Nadere informatie

Installatiehandleiding TiC Narrow Casting Manager

Installatiehandleiding TiC Narrow Casting Manager Installatiehandleiding TiC Narrow Casting Manager Inhoudsopgave 1. Algemeen - 3-2. Installatie PostgreSQL database server - 4-3. Installatie FTP server - 9-4. Aanmaken account in FileZilla server - 13

Nadere informatie

Configuratiehandleiding

Configuratiehandleiding Configuratiehandleiding Cisco / Linksys Type: IP Phone Configuratiehandleiding Cisco / Linksys Versie 1.2 Contents 1 Inleiding 1 2 Begrippen en afkortingen 1 3 Firmware-versie controleren 1 4 Inloggen

Nadere informatie

Wat is een busverbinding?

Wat is een busverbinding? Wat is een busverbinding? gemeenschappelijke verbinding tussen CPU, geheugen en I/O-schakelingen onderscheid tussen: databus/adresbus/controlbus intern/extern serieel/parallel unidirectioneel/bidirectioneel

Nadere informatie

Oude Bomgar B200 Teardown

Oude Bomgar B200 Teardown Oude Bomgar B200 Teardown Ik nam apart een oude Network Streaming (nu Bomgar) B200, en nam foto's. Geen echte verrassingen. Deze website is de laatste plaats waar je deze foto's zou verwachten. Als u overweegt

Nadere informatie

Functionele beschrijving: Scannen naar Fidura-oplossing

Functionele beschrijving: Scannen naar Fidura-oplossing Functionele beschrijving: Scannen naar Fidura-oplossing Algemeen Met KYOCERA scannen naar Fidura beschikt u over een efficiënte oplossing om uw documenten te scannen naar Fidura. Met deze oplossing kunnen

Nadere informatie

Real-Time Systems (RTSYST)

Real-Time Systems (RTSYST) Real-Time Systems (RTSYST) Week 2 Process/Thread states ready running Wait for I/O or I/O or completion blocked / sleeping Scheduler = deel van OS dat de toestanden van processen/threads bepaald. OS gebruikt

Nadere informatie

Netwerken. 6 januari 2014 David N. Jansen

Netwerken. 6 januari 2014 David N. Jansen Netwerken 6 januari 2014 David N. Jansen Huiswerkopdracht 2 donderdag 9 januari al inleveren! Leerstof voor vandaag. Stallings hoofdst 17 www.williamstallings.com /OS/OS6e.html M17_STAL6329_06_SE_C17.QXD

Nadere informatie

NMOZTMKUDLVDKECVLKBVESBKHWIDKPDF-WWUS Page File Size 9,952 KB 29 May, 2016

NMOZTMKUDLVDKECVLKBVESBKHWIDKPDF-WWUS Page File Size 9,952 KB 29 May, 2016 NAVIJVEN MINILAMPJES OM ZELF TE MAKEN KERSTFIGUREN UIT DE LAPPENMAND VOOR DE KINDERSSALOON EN COWBOYS VAN LOLLYSTOKJES KAMERBREED BOEKENREK VOOR EEN SMAL BUDGETGEBAKKEN KOEKFIGUURTJES HANGEN WE IN DE KERSTBOOM

Nadere informatie

Beter, Sneller, Mooier. Processoren 27 maart 2012

Beter, Sneller, Mooier. Processoren 27 maart 2012 Beter, Sneller, Mooier Processoren 27 maart 2012 Beter! Sneller! Krach:gere CPU: microcode Snellere CPU: pipeline, out- of- order execu:on Sneller RAM: cache meer mogelijkheden... Welke extra s kan processor-

Nadere informatie

Het SDT200 en SDT270-stuurprogramma installeren

Het SDT200 en SDT270-stuurprogramma installeren Het SDT200 en SDT270-stuurprogramma installeren Het SDT200 en SDT270-stuurprogramma installeren in windows XP Het SDT200 en SDT270-stuurprogramma installeren in Windows 7 of Vista Het SDT200 en SDT270-stuurprogramma

Nadere informatie

11/05/2015. Deel 1. Hardware en sporendragers. Hardware en sporendragers. Hardware en sporendragers. Hardware en sporendragers

11/05/2015. Deel 1. Hardware en sporendragers. Hardware en sporendragers. Hardware en sporendragers. Hardware en sporendragers Didactische doelstellingen Deel 1 De cursist : herkent en benoemt de belangrijkste digitale gegevensdragers waarop sporen kunnen worden teruggevonden. Oost-Vlaamse Politieacademie vzw Sprendonkstraat 5

Nadere informatie

AlarmShield Interactive Security System Quickstart Guide. Model No. OPG2204

AlarmShield Interactive Security System Quickstart Guide. Model No. OPG2204 AlarmShield Interactive Security System Quickstart Guide Model No. OPG2204 Nederlands Stap 1: Installatie Zorg dat u toegang heeft tot uw router (max. 3 meter afstand). Verbind de Security Shuttle met

Nadere informatie

we secure YOUR network Veilige verbindingen Ries van Son

we secure YOUR network Veilige verbindingen Ries van Son we secure YOUR network Veilige verbindingen Kooy Symposium 2011 Cyber Operations Ries van Son Agenda Ontwikkeling Nederlandse beveiligingsproducten NBV Cyber security strategie Bestaande Nederlandse oplossingen

Nadere informatie

- Installatie-instructie CHECK PC2Web

- Installatie-instructie CHECK PC2Web Handleiding - Installatie-instructie CHECK PC2Web (bijgewerkt tot en met versie 2011.07 / 5.1) augustus 2011 ComponentAgro B.V. augustus 2011 (HL201107001/4081/RH) Pagina 1 van 7 2009 ComponentAgro B.V.,

Nadere informatie

Selling software anno 2014, een vak apart? Reint Jan Holterman 14 mei 2014

Selling software anno 2014, een vak apart? Reint Jan Holterman 14 mei 2014 Selling software anno 2014, een vak apart? Reint Jan Holterman 14 mei 2014 Even voorstellen Marketingadvies voor softwarebedrijven Marketing strategie Product positionering Content creatie Interim marketing

Nadere informatie

Data Acquisitie in een modern jasje. Wordt het de tablet of toch iets anders?

Data Acquisitie in een modern jasje. Wordt het de tablet of toch iets anders? Data Acquisitie in een modern jasje. Wordt het de tablet of toch iets anders? Marco Bischoff Yokogawa Europe BV 7 november 2013 Yokogawa IA Control Products --- Business domain Technologischeontwikkelingen

Nadere informatie

Operating Systems. Hoofdstuk 3 Beschrijving en besturing van processen. William Stallings. Windows Cluster UNIX. Apple ANDROID.

Operating Systems. Hoofdstuk 3 Beschrijving en besturing van processen. William Stallings. Windows Cluster UNIX. Apple ANDROID. William Stallings Operating Systems Hoofdstuk 3 Beschrijving en besturing van processen UNIX Windows Cluster ANDROID Apple unix G..A. van Lierop LOGO LINUX www.themegallery.com Operating Systems: Internals

Nadere informatie

Virtualisatie met SAN 12/10/2010

Virtualisatie met SAN 12/10/2010 Virtualisatie met SAN 12/10/2010 1 Wat is virtualisatie? Extra laag tussen hard en software OS onafhankelijk van de hardware Laat verschillende OS toe op éénzelfde hardware 2 Klassieke situatie Een server

Nadere informatie

Functioneel IDS7 beheerder (Geavanceerd) Training programma

Functioneel IDS7 beheerder (Geavanceerd) Training programma Functioneel IDS7 beheerder (Geavanceerd) Training programma Uitleg van het programma Het programma is onderverdeeld in verschillende modules en is gebaseerd op basieke kennis van het PACS systeem zowel

Nadere informatie