




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter3:Processes,ChapterObjectives,Tointroducethenotionofaprocess-aprograminexecution,whichformsthebasisofallcomputation.Todescribethevariousfeaturesofprocesses,includingscheduling,creationandtermination,andcommunication.Todescribecommunicationinclient-serversystems.,ContentOverview,ProcessConceptProcessSchedulingOperationsonProcessesCooperatingProcessesInterprocessCommunicationCommunicationinClient-ServerSystems,3.1ProcessConcept,Anoperatingsystemexecutesavarietyofprograms:BatchsystemjobsTime-sharedsystemsuserprogramsortasksTextbookusesthetermsjobandprocessalmostinterchangeablyProcessaprograminexecution;processexecutionmustprogressinsequentialfashionAprocessincludes:programcounterStackheapdatasectiontextsection,ProcessinMemory,ProcessState,Asaprocessexecutes,itchangesstatenew:Theprocessisbeingcreatedready:Theprocessiswaitingtobeassignedtoaprocessorrunning:Instructionsarebeingexecutedwaiting:Theprocessiswaitingforsomeeventtooccurterminated:Theprocesshasfinishedexecution,DiagramofProcessState,ProcessControlBlock(PCB),InformationassociatedwitheachprocessProcessstateProgramcounterCPUregistersCPUschedulinginformationMemory-managementinformationAccountinginformationI/Ostatusinformation,ProcessControlBlock(PCB),CPUSwitchFromProcesstoProcess,3.2ProcessScheduling,Theobjectiveofmultiprogrammingistohavesomeprocessrunningatalltimes,tomaximizeCPUutilization.TheobjectiveoftimesharingistoswitchtheCPUamongprocessessofrequentlythatuserscaninteractwitheachprogramwhileitisrunning.Tomeettheseobjectives,theprocessschedulerselectsanavailableprocess(possiblyfromasetofseveralavailableprocesses)forprogramexecutionontheCPU.Forasingle-processorsystem,therewillneverbemorethanonerunningprocess.Iftherearemoreprocesses,therestwillhavetowaituntiltheCPUisfreeandcanberescheduled.,ProcessSchedulingQueues,JobqueuesetofallprocessesinthesystemReadyqueuesetofallprocessesresidinginmainmemory,readyandwaitingtoexecuteDevicequeuessetofprocesseswaitingforanI/OdeviceProcessesmigrateamongthevariousqueues,ReadyQueueAndVariousI/ODeviceQueues,RepresentationofProcessScheduling,Schedulers,Long-termscheduler(orjobscheduler)selectswhichprocessesshouldbebroughtintothereadyqueueShort-termscheduler(orCPUscheduler)selectswhichprocessshouldbeexecutednextandallocatesCPU,AdditionofMediumTermScheduling,Schedulers(Cont.),Short-termschedulerisinvokedveryfrequently(milliseconds)(mustbefast)Long-termschedulerisinvokedveryinfrequently(seconds,minutes)(maybeslow)Thelong-termschedulercontrolsthedegreeofmultiprogrammingProcessescanbedescribedaseither:I/O-boundprocessspendsmoretimedoingI/Othancomputations,manyshortCPUburstsCPU-boundprocessspendsmoretimedoingcomputations;fewverylongCPUbursts,ContextSwitch,WhenCPUswitchestoanotherprocess,thesystemmustsavethestateoftheoldprocessandloadthesavedstateforthenewprocessContext-switchtimeisoverhead;thesystemdoesnousefulworkwhileswitchingTimedependentonhardwaresupport,3.3OperationsonProcesses,ProcessCreationParentprocesscreatechildrenprocesses,which,inturncreateotherprocesses,formingatreeofprocessesResourcesharingParentandchildrenshareallresourcesChildrensharesubsetofparentsresourcesParentandchildsharenoresourcesExecutionParentandchildrenexecuteconcurrentlyParentwaitsuntilchildrenterminate,ProcessCreation(Cont.),AddressspaceChildduplicateofparentChildhasaprogramloadedintoitUNIXexamplesforksystemcallcreatesnewprocessexecsystemcallusedafteraforktoreplacetheprocessmemoryspacewithanewprogram,ProcessCreation,CProgramForkingSeparateProcess,intmain()pid_tpid;pid=fork();/*forkanotherprocess*/if(pid0)/*erroroccurred*/fprintf(stderr,ForkFailed);exit(-1);elseif(pid=0)/*childprocess*/execlp(/bin/ls,ls,NULL);else/*parentprocess*/wait(NULL);/*parentwillwaitforthechildtocomplete*/printf(ChildComplete);exit(0);,AtreeofprocessesonatypicalSolaris,ProcessTermination,Processexecuteslaststatementandaskstheoperatingsystemtodeleteit(exit)Outputdatafromchildtoparent(viawait)ProcessresourcesaredeallocatedbyoperatingsystemParentmayterminateexecutionofchildrenprocesses(abort)for:ChildhasexceededallocatedresourcesTaskassignedtochildisnolongerrequiredIfparentisexitingSomeoperatingsystemdonotallowchildtocontinueifitsparentterminatesAllchildrenterminated-cascadingtermination,3.4InterProcessCommunication,IndependentprocesscannotaffectorbeaffectedbytheexecutionofanotherprocessCooperatingprocesscanaffectorbeaffectedbytheexecutionofanotherprocessAdvantagesofprocesscooperationInformationsharingComputationspeed-upModularityConvenienceCooperatingprocessesrequireanInterprocesscommunication(IPC)mechanismsharedmemory/messagepassing,CommunicationsModels,MessagePassingSharedMemory,Shared-MemorySolutionProducer-ConsumerProblem,Paradigmforcooperatingprocesses,producerprocessproducesinformationthatisconsumedbyaconsumerprocessunbounded-bufferplacesnopracticallimitonthesizeofthebufferbounded-bufferassumesthatthereisafixedbuffersize,Bounded-Buffer,Shareddata#defineBUFFER_SIZE10typedefstruct.item;itembufferBUFFER_SIZE;intin=0;intout=0;Solutioniscorrect,butcanonlyuseBUFFER_SIZE-1elements,Bounded-BufferInsert()Method,while(true)/*Produceanitem*/while(in=(in+1)%BUFFERSIZEcount)=out);/*donothing-nofreebuffers*/bufferin=item;in=(in+1)%BUFFERSIZE;,BoundedBufferRemove()Method,while(true)while(in=out);/donothing-nothingtoconsume/removeanitemfromthebufferitem=bufferout;out=(out+1)%BUFFERSIZE;returnitem;,Message-PassingSystems,MessagesystemprocessescommunicatewitheachotherwithoutresortingtosharedvariablesIPCfacilityprovidestwooperations:send(message)messagesizefixedorvariablereceive(message)IfPandQwishtocommunicate,theyneedto:establishacommunicationlinkbetweenthemexchangemessagesviasend/receiveImplementationofcommunicationlinkphysical(e.g.,sharedmemory,hardwarebus)logical(e.g.,logicalproperties)DirectorindirectcommunicationSynchronousorasynchronouscommunicationAutomaticorexplicitbuffering,*ImplementationQuestions,Howarelinksestablished?Canalinkbeassociatedwithmorethantwoprocesses?Howmanylinkscantherebebetweeneverypairofcommunicatingprocesses?Whatisthecapacityofalink?Isthesizeofamessagethatthelinkcanaccommodatefixedorvariable?Isalinkunidirectionalorbi-directional?,DirectCommunication-Naming,Processesmustnameeachotherexplicitly:send(P,message)sendamessagetoprocessPreceive(Q,message)receiveamessagefromprocessQPropertiesofcommunicationlinkLinksareestablishedautomaticallyAlinkisassociatedwithexactlyonepairofcommunicatingprocessesBetweeneachpairthereexistsexactlyonelinkThelinkmaybeunidirectional,butisusuallybi-directional,IndirectCommunication-mailbox,Messagesaredirectedandreceivedfrommailboxes(alsoreferredtoasports)EachmailboxhasauniqueidProcessescancommunicateonlyiftheyshareamailboxPropertiesofcommunicationlinkLinkestablishedonlyifprocessesshareacommonmailboxAlinkmaybeassociatedwithmanyprocessesEachpairofprocessesmayshareseveralcommunicationlinksLinkmaybeunidirectionalorbi-directional,IndirectCommunication,OperationscreateanewmailboxsendandreceivemessagesthroughmailboxdestroyamailboxPrimitivesaredefinedas:send(A,message)sendamessagetomailboxAreceive(A,message)receiveamessagefrommailboxA,IndirectCommunication,MailboxsharingP1,P2,andP3sharemailboxAP1,sends;P2andP3receiveWhogetsthemessage?SolutionsAllowalinktobeassociatedwithatmosttwoprocessesAllowonlyoneprocessatatimetoexecuteareceiveoperationAllowthesystemtoselectarbitrarilythereceiver.Senderisnotifiedwhothereceiverwas.,Synchronization,Messagepassingmaybeeitherblockingornon-blockingBlockingisconsideredsynchronousBlockingsendhasthesenderblockuntilthemessageisreceivedBlockingreceivehasthereceiverblockuntilamessageisavailableNon-blockingisconsideredasynchronousNon-blockingsendhasthesendersendthemessageandcontinueNon-blockingreceivehasthereceiverreceiveavalidmessageornull,Buffering,Queueofmessagesattachedtothelink;implementedinoneofthreeways1.Zerocapacity0messagesSendermustwaitforreceiver2.BoundedcapacityfinitelengthofnmessagesSendermustwaitiflinkfull3.UnboundedcapacityinfinitelengthSenderneverwaits,*3.5ExamplesofI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 切分音(一)教学设计-2023-2024学年小学音乐五年级下册人音版(主编:曹理)
- 2025年合同审查关键点剖析
- 2025农业合作经营合同违约情形及法律责任(合同范本)
- 2025二手设备买卖合同范本下载
- 第19课 部屋の鍵を忘れないでください教案 -2024-2025学年新版标准日语初级上册
- 5.1.2《等式的性质》说课稿-2024-2025学年人教版七年级数学上册
- 本单元复习与测试教学设计-2023-2024学年中职语文拓展模块语文版
- 印刷厂员工住房补贴管理规定
- 6.22 抗日战争的胜利 说课稿 2025-2026学年部编版八年级历史上册
- 2025年西安幸福测试题目及答案
- 罗才军《少年闰土》省公开课一等奖全国示范课微课金奖课件
- 放射科造影剂过敏反应应急处理预案
- 触电事故应急演练方案
- 2025年上海市高考英语热点复习:阅读理解说明文
- (完整版)八上新闻拟标题专项训练题
- 国家管网集团合同范本
- 《新能源汽车动力电池及管理系统检修》全套教学课件
- 妇产科三基三严培训内容
- 中医全科学科
- 2024年《招标采购专业知识与法律法规》考前必刷必练题库500题(含真题、必会题)
- 《张仲景活血通络法研究》
评论
0/150
提交评论