已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 痔疮套扎术术后健康教育内容
- 2026年传统节日仪式感与心理归属
- 2026年家庭中情绪表达规则与健康模式构建
- 2026年处方点评管理及实施细则
- 2026年食品安全诚信体系年度建设计划
- 幼儿园学期工作计划5篇
- 哈尔滨市第三中学七年级语文期末考试卷含答案及解析
- 《新能源汽车底盘技术》课件-液压制动系统检修
- 《数据通信与计算机网》-项目四:组建中小型企业网
- WHO指南临床应用
- 【《某沙滩垃圾清理车结构设计》10000字(论文)】
- 小学一年级数学(苏教版上册)得数69加法核心知识清单
- 半导体芯片制造工应急处置考核试卷及答案
- 2025年计量操作人员考试题库及答案(完整版)
- 船岸交接制度规范
- 防性侵教育男生篇课件
- 2026年移动源污染治理项目可行性研究报告
- 2025-2026学年高三统编版历史一轮复习历史备考策略+课件
- 园林绿化养护标准 DG-TJ08-19-2023
- 水文地质调查员风险评估竞赛考核试卷含答案
- 仓储管理信息系统操作流程及规范
评论
0/150
提交评论