已阅读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年廉政法规知识测试试题(答案)-图文
- 古诗词挑战120题
- 2025年重庆市公务员录用考试《行测》真题、答案
- 2025年安全员B证考试试题【满分必刷】附答案详解
- 2025年初级护师试题护理学《专业实践能力》测试题
- 2025陕西省继续教育公需科目备考题库(含答案)
- 三基考试题库及答案
- 会计基础考试大纲
- BIM一级历年真题解析题库大全
- 小学教师招聘考试模拟试题附答案
- 冷链设施设备验证与校准培训课件
- 生态环境标准应用 课件 大气污染物综合排放标准2
- 小学素养大赛考试参考题库300题(含各题型)
- 高压管道试压培训
- 新版静疗规范解读指南
- 护理学专业职业素养教育
- 大学生生涯发展展示
- 混凝土机械知识培训课件
- 2025年上海市各区初三一模语文试卷(打包16套无答案)
- 《水利水电工程可行性研究报告编制规程》
- 2024-2025学年北京西城区高一(上)期末语文试卷(含答案)
评论
0/150
提交评论