已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鼓浪屿导游考试题及答案
- 基于系统动力学的经济 - 能源 - 环境系统耦合协调发展研究
- 2025年考研择校资料包协议合同
- 2025年考研报名费用协议合同
- 2025年工业机器人操作培训协议合同
- 2025年清洁服务外包合同协议合同
- 2025年零售加盟合同协议合同
- 2025年网络贷款合同协议合同
- 2025年经典诵读试题理解及答案
- 基于粗糙集理论的变压器故障诊断:方法创新与实践应用
- 草莓授粉培训课件图片
- 建筑企业安全生产目标责任书范本
- 阴式手术的围手术期护理
- 书法机构印章管理制度
- 铁路调车员岗前培训
- 物业管理居间合同协议书
- 中医基础阴阳学说课件
- 冷链设施设备验证与校准培训课件
- 小学素养大赛考试参考题库300题(含各题型)
- 高压管道试压培训
- 新版静疗规范解读指南
评论
0/150
提交评论