王丽201919102007 思考题 (1)系统是怎样创建进程的?1.申请空白PCB(进程控制块);2.为新进程分配资源;3.初始化PCB;4.就新进程插入就绪队列;(2)当首次调用新创建进程时,其入口在哪里?fork()函数被调用一次,但返回两次;两次返回区别在于:子程序返回值是0,而父进程返回值是子进程的ID。子进程和父进程运行相同的代码,但是有自己的数据空间。(3)程序的多次运行结果为什么不同?如何控制实验结果的随机性?多个进程的并发执行,每个进程都有先获取cpu的可能性,故而哪一个进程先执行是随机的。可以通过等待,睡眠的等操作来实现多个进程的同步。(1)可执行文件加载时进行了哪些处理?进程用exec( )装入命令ls ,exec( )后,子进程的代码被ls的代码取代,这时子进程的PC指向ls的第1条语句,开始执行ls的命令代码(2)什么是进程同步?wait( )是如何实现进程同步的?进程同步是指多个相关进程在执行次序上进行协调,以使并发执行的主进程之间有效的共享资源和相互合作,从而使程序的执行具有可再现性。首先程序在调用fork()创建了一个子进程后,马上调用wait(),使父进程在子进程调用之前一直处于睡眠状态,这样使子进程先运行,子进程运行exec()装入命令后,然后调用wait(0),使子进程和父进程并发执行,实现了进程同步。(3)wait( )和exit()是如何控制实验结果的随机性的?可以看出在使用了exec()函数后程序使用了ls的命令,列出/bin/目录下的文件信息,执行完execl()函数后,子进程调用exit()函数,退出当前进程,我们可以发现在使用wait()函数后,父进程永远将在其他的子进程完成之后才执行,所以在输出的结果中我们可以看到最后输出的将是父进程的信息,这样进而可以控制实验结果的随机性。
在这里插入图片描述 在这里插入图片描述
#mermaid-svg-7MOQ0z0Z1t85wE0p .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .label text{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .node rect,#mermaid-svg-7MOQ0z0Z1t85wE0p .node circle,#mermaid-svg-7MOQ0z0Z1t85wE0p .node ellipse,#mermaid-svg-7MOQ0z0Z1t85wE0p .node polygon,#mermaid-svg-7MOQ0z0Z1t85wE0p .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-7MOQ0z0Z1t85wE0p .node .label{text-align:center;fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .node.clickable{cursor:pointer}#mermaid-svg-7MOQ0z0Z1t85wE0p .arrowheadPath{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-7MOQ0z0Z1t85wE0p .flowchart-link{stroke:#333;fill:none}#mermaid-svg-7MOQ0z0Z1t85wE0p .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-7MOQ0z0Z1t85wE0p .edgeLabel rect{opacity:0.9}#mermaid-svg-7MOQ0z0Z1t85wE0p .edgeLabel span{color:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-7MOQ0z0Z1t85wE0p .cluster text{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-7MOQ0z0Z1t85wE0p .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-7MOQ0z0Z1t85wE0p text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-7MOQ0z0Z1t85wE0p .actor-line{stroke:grey}#mermaid-svg-7MOQ0z0Z1t85wE0p .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .sequenceNumber{fill:#fff}#mermaid-svg-7MOQ0z0Z1t85wE0p #sequencenumber{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p #crosshead path{fill:#333;stroke:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .messageText{fill:#333;stroke:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-7MOQ0z0Z1t85wE0p .labelText,#mermaid-svg-7MOQ0z0Z1t85wE0p .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-7MOQ0z0Z1t85wE0p .loopText,#mermaid-svg-7MOQ0z0Z1t85wE0p .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-7MOQ0z0Z1t85wE0p .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-7MOQ0z0Z1t85wE0p .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-7MOQ0z0Z1t85wE0p .noteText,#mermaid-svg-7MOQ0z0Z1t85wE0p .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-7MOQ0z0Z1t85wE0p .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-7MOQ0z0Z1t85wE0p .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-7MOQ0z0Z1t85wE0p .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-7MOQ0z0Z1t85wE0p .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .section{stroke:none;opacity:0.2}#mermaid-svg-7MOQ0z0Z1t85wE0p .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-7MOQ0z0Z1t85wE0p .section2{fill:#fff400}#mermaid-svg-7MOQ0z0Z1t85wE0p .section1,#mermaid-svg-7MOQ0z0Z1t85wE0p .section3{fill:#fff;opacity:0.2}#mermaid-svg-7MOQ0z0Z1t85wE0p .sectionTitle0{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .sectionTitle1{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .sectionTitle2{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .sectionTitle3{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-7MOQ0z0Z1t85wE0p .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .grid path{stroke-width:0}#mermaid-svg-7MOQ0z0Z1t85wE0p .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-7MOQ0z0Z1t85wE0p .task{stroke-width:2}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskText:not([font-size]){font-size:11px}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-7MOQ0z0Z1t85wE0p .task.clickable{cursor:pointer}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskText0,#mermaid-svg-7MOQ0z0Z1t85wE0p .taskText1,#mermaid-svg-7MOQ0z0Z1t85wE0p .taskText2,#mermaid-svg-7MOQ0z0Z1t85wE0p .taskText3{fill:#fff}#mermaid-svg-7MOQ0z0Z1t85wE0p .task0,#mermaid-svg-7MOQ0z0Z1t85wE0p .task1,#mermaid-svg-7MOQ0z0Z1t85wE0p .task2,#mermaid-svg-7MOQ0z0Z1t85wE0p .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutside0,#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutside2{fill:#000}#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutside1,#mermaid-svg-7MOQ0z0Z1t85wE0p .taskTextOutside3{fill:#000}#mermaid-svg-7MOQ0z0Z1t85wE0p .active0,#mermaid-svg-7MOQ0z0Z1t85wE0p .active1,#mermaid-svg-7MOQ0z0Z1t85wE0p .active2,#mermaid-svg-7MOQ0z0Z1t85wE0p .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-7MOQ0z0Z1t85wE0p .activeText0,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeText1,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeText2,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeText3{fill:#000 !important}#mermaid-svg-7MOQ0z0Z1t85wE0p .done0,#mermaid-svg-7MOQ0z0Z1t85wE0p .done1,#mermaid-svg-7MOQ0z0Z1t85wE0p .done2,#mermaid-svg-7MOQ0z0Z1t85wE0p .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-7MOQ0z0Z1t85wE0p .doneText0,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneText1,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneText2,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneText3{fill:#000 !important}#mermaid-svg-7MOQ0z0Z1t85wE0p .crit0,#mermaid-svg-7MOQ0z0Z1t85wE0p .crit1,#mermaid-svg-7MOQ0z0Z1t85wE0p .crit2,#mermaid-svg-7MOQ0z0Z1t85wE0p .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCrit0,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCrit1,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCrit2,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCrit0,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCrit1,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCrit2,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-7MOQ0z0Z1t85wE0p .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-7MOQ0z0Z1t85wE0p .milestoneText{font-style:italic}#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCritText0,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCritText1,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCritText2,#mermaid-svg-7MOQ0z0Z1t85wE0p .doneCritText3{fill:#000 !important}#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCritText0,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCritText1,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCritText2,#mermaid-svg-7MOQ0z0Z1t85wE0p .activeCritText3{fill:#000 !important}#mermaid-svg-7MOQ0z0Z1t85wE0p .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-7MOQ0z0Z1t85wE0p g.classGroup text .title{font-weight:bolder}#mermaid-svg-7MOQ0z0Z1t85wE0p g.clickable{cursor:pointer}#mermaid-svg-7MOQ0z0Z1t85wE0p g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-7MOQ0z0Z1t85wE0p g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-7MOQ0z0Z1t85wE0p .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-7MOQ0z0Z1t85wE0p .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-7MOQ0z0Z1t85wE0p .dashed-line{stroke-dasharray:3}#mermaid-svg-7MOQ0z0Z1t85wE0p #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p .commit-id,#mermaid-svg-7MOQ0z0Z1t85wE0p .commit-msg,#mermaid-svg-7MOQ0z0Z1t85wE0p .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-7MOQ0z0Z1t85wE0p g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-7MOQ0z0Z1t85wE0p g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-7MOQ0z0Z1t85wE0p g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-7MOQ0z0Z1t85wE0p .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-7MOQ0z0Z1t85wE0p .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-7MOQ0z0Z1t85wE0p .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-7MOQ0z0Z1t85wE0p .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-7MOQ0z0Z1t85wE0p .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-7MOQ0z0Z1t85wE0p .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-7MOQ0z0Z1t85wE0p .edgeLabel text{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7MOQ0z0Z1t85wE0p .node circle.state-start{fill:black;stroke:black}#mermaid-svg-7MOQ0z0Z1t85wE0p .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-7MOQ0z0Z1t85wE0p #statediagram-barbEnd{fill:#9370db}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-state .divider{stroke:#9370db}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-7MOQ0z0Z1t85wE0p .note-edge{stroke-dasharray:5}#mermaid-svg-7MOQ0z0Z1t85wE0p .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-7MOQ0z0Z1t85wE0p .error-icon{fill:#522}#mermaid-svg-7MOQ0z0Z1t85wE0p .error-text{fill:#522;stroke:#522}#mermaid-svg-7MOQ0z0Z1t85wE0p .edge-thickness-normal{stroke-width:2px}#mermaid-svg-7MOQ0z0Z1t85wE0p .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-7MOQ0z0Z1t85wE0p .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-7MOQ0z0Z1t85wE0p .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-7MOQ0z0Z1t85wE0p .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-7MOQ0z0Z1t85wE0p .marker{fill:#333}#mermaid-svg-7MOQ0z0Z1t85wE0p .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-7MOQ0z0Z1t85wE0p { color: rgba(0, 0, 0, 0.75); font: ; } A B C #mermaid-svg-0vG106tSO7CWQ3JA .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-0vG106tSO7CWQ3JA .label text{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .node rect,#mermaid-svg-0vG106tSO7CWQ3JA .node circle,#mermaid-svg-0vG106tSO7CWQ3JA .node ellipse,#mermaid-svg-0vG106tSO7CWQ3JA .node polygon,#mermaid-svg-0vG106tSO7CWQ3JA .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-0vG106tSO7CWQ3JA .node .label{text-align:center;fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .node.clickable{cursor:pointer}#mermaid-svg-0vG106tSO7CWQ3JA .arrowheadPath{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-0vG106tSO7CWQ3JA .flowchart-link{stroke:#333;fill:none}#mermaid-svg-0vG106tSO7CWQ3JA .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-0vG106tSO7CWQ3JA .edgeLabel rect{opacity:0.9}#mermaid-svg-0vG106tSO7CWQ3JA .edgeLabel span{color:#333}#mermaid-svg-0vG106tSO7CWQ3JA .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-0vG106tSO7CWQ3JA .cluster text{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-0vG106tSO7CWQ3JA .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-0vG106tSO7CWQ3JA text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-0vG106tSO7CWQ3JA .actor-line{stroke:grey}#mermaid-svg-0vG106tSO7CWQ3JA .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-0vG106tSO7CWQ3JA .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-0vG106tSO7CWQ3JA #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-0vG106tSO7CWQ3JA .sequenceNumber{fill:#fff}#mermaid-svg-0vG106tSO7CWQ3JA #sequencenumber{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA #crosshead path{fill:#333;stroke:#333}#mermaid-svg-0vG106tSO7CWQ3JA .messageText{fill:#333;stroke:#333}#mermaid-svg-0vG106tSO7CWQ3JA .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-0vG106tSO7CWQ3JA .labelText,#mermaid-svg-0vG106tSO7CWQ3JA .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-0vG106tSO7CWQ3JA .loopText,#mermaid-svg-0vG106tSO7CWQ3JA .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-0vG106tSO7CWQ3JA .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-0vG106tSO7CWQ3JA .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-0vG106tSO7CWQ3JA .noteText,#mermaid-svg-0vG106tSO7CWQ3JA .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-0vG106tSO7CWQ3JA .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-0vG106tSO7CWQ3JA .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-0vG106tSO7CWQ3JA .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-0vG106tSO7CWQ3JA .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .section{stroke:none;opacity:0.2}#mermaid-svg-0vG106tSO7CWQ3JA .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-0vG106tSO7CWQ3JA .section2{fill:#fff400}#mermaid-svg-0vG106tSO7CWQ3JA .section1,#mermaid-svg-0vG106tSO7CWQ3JA .section3{fill:#fff;opacity:0.2}#mermaid-svg-0vG106tSO7CWQ3JA .sectionTitle0{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .sectionTitle1{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .sectionTitle2{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .sectionTitle3{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-0vG106tSO7CWQ3JA .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .grid path{stroke-width:0}#mermaid-svg-0vG106tSO7CWQ3JA .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-0vG106tSO7CWQ3JA .task{stroke-width:2}#mermaid-svg-0vG106tSO7CWQ3JA .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .taskText:not([font-size]){font-size:11px}#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-0vG106tSO7CWQ3JA .task.clickable{cursor:pointer}#mermaid-svg-0vG106tSO7CWQ3JA .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0vG106tSO7CWQ3JA .taskText0,#mermaid-svg-0vG106tSO7CWQ3JA .taskText1,#mermaid-svg-0vG106tSO7CWQ3JA .taskText2,#mermaid-svg-0vG106tSO7CWQ3JA .taskText3{fill:#fff}#mermaid-svg-0vG106tSO7CWQ3JA .task0,#mermaid-svg-0vG106tSO7CWQ3JA .task1,#mermaid-svg-0vG106tSO7CWQ3JA .task2,#mermaid-svg-0vG106tSO7CWQ3JA .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutside0,#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutside2{fill:#000}#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutside1,#mermaid-svg-0vG106tSO7CWQ3JA .taskTextOutside3{fill:#000}#mermaid-svg-0vG106tSO7CWQ3JA .active0,#mermaid-svg-0vG106tSO7CWQ3JA .active1,#mermaid-svg-0vG106tSO7CWQ3JA .active2,#mermaid-svg-0vG106tSO7CWQ3JA .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-0vG106tSO7CWQ3JA .activeText0,#mermaid-svg-0vG106tSO7CWQ3JA .activeText1,#mermaid-svg-0vG106tSO7CWQ3JA .activeText2,#mermaid-svg-0vG106tSO7CWQ3JA .activeText3{fill:#000 !important}#mermaid-svg-0vG106tSO7CWQ3JA .done0,#mermaid-svg-0vG106tSO7CWQ3JA .done1,#mermaid-svg-0vG106tSO7CWQ3JA .done2,#mermaid-svg-0vG106tSO7CWQ3JA .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-0vG106tSO7CWQ3JA .doneText0,#mermaid-svg-0vG106tSO7CWQ3JA .doneText1,#mermaid-svg-0vG106tSO7CWQ3JA .doneText2,#mermaid-svg-0vG106tSO7CWQ3JA .doneText3{fill:#000 !important}#mermaid-svg-0vG106tSO7CWQ3JA .crit0,#mermaid-svg-0vG106tSO7CWQ3JA .crit1,#mermaid-svg-0vG106tSO7CWQ3JA .crit2,#mermaid-svg-0vG106tSO7CWQ3JA .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-0vG106tSO7CWQ3JA .activeCrit0,#mermaid-svg-0vG106tSO7CWQ3JA .activeCrit1,#mermaid-svg-0vG106tSO7CWQ3JA .activeCrit2,#mermaid-svg-0vG106tSO7CWQ3JA .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-0vG106tSO7CWQ3JA .doneCrit0,#mermaid-svg-0vG106tSO7CWQ3JA .doneCrit1,#mermaid-svg-0vG106tSO7CWQ3JA .doneCrit2,#mermaid-svg-0vG106tSO7CWQ3JA .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-0vG106tSO7CWQ3JA .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-0vG106tSO7CWQ3JA .milestoneText{font-style:italic}#mermaid-svg-0vG106tSO7CWQ3JA .doneCritText0,#mermaid-svg-0vG106tSO7CWQ3JA .doneCritText1,#mermaid-svg-0vG106tSO7CWQ3JA .doneCritText2,#mermaid-svg-0vG106tSO7CWQ3JA .doneCritText3{fill:#000 !important}#mermaid-svg-0vG106tSO7CWQ3JA .activeCritText0,#mermaid-svg-0vG106tSO7CWQ3JA .activeCritText1,#mermaid-svg-0vG106tSO7CWQ3JA .activeCritText2,#mermaid-svg-0vG106tSO7CWQ3JA .activeCritText3{fill:#000 !important}#mermaid-svg-0vG106tSO7CWQ3JA .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-0vG106tSO7CWQ3JA g.classGroup text .title{font-weight:bolder}#mermaid-svg-0vG106tSO7CWQ3JA g.clickable{cursor:pointer}#mermaid-svg-0vG106tSO7CWQ3JA g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-0vG106tSO7CWQ3JA g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-0vG106tSO7CWQ3JA .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-0vG106tSO7CWQ3JA .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-0vG106tSO7CWQ3JA .dashed-line{stroke-dasharray:3}#mermaid-svg-0vG106tSO7CWQ3JA #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA .commit-id,#mermaid-svg-0vG106tSO7CWQ3JA .commit-msg,#mermaid-svg-0vG106tSO7CWQ3JA .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-0vG106tSO7CWQ3JA g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-0vG106tSO7CWQ3JA g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-0vG106tSO7CWQ3JA g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-0vG106tSO7CWQ3JA .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-0vG106tSO7CWQ3JA .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-0vG106tSO7CWQ3JA .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-0vG106tSO7CWQ3JA .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-0vG106tSO7CWQ3JA .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-0vG106tSO7CWQ3JA .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-0vG106tSO7CWQ3JA .edgeLabel text{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0vG106tSO7CWQ3JA .node circle.state-start{fill:black;stroke:black}#mermaid-svg-0vG106tSO7CWQ3JA .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-0vG106tSO7CWQ3JA #statediagram-barbEnd{fill:#9370db}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-state .divider{stroke:#9370db}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-0vG106tSO7CWQ3JA .note-edge{stroke-dasharray:5}#mermaid-svg-0vG106tSO7CWQ3JA .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-0vG106tSO7CWQ3JA .error-icon{fill:#522}#mermaid-svg-0vG106tSO7CWQ3JA .error-text{fill:#522;stroke:#522}#mermaid-svg-0vG106tSO7CWQ3JA .edge-thickness-normal{stroke-width:2px}#mermaid-svg-0vG106tSO7CWQ3JA .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-0vG106tSO7CWQ3JA .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-0vG106tSO7CWQ3JA .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-0vG106tSO7CWQ3JA .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-0vG106tSO7CWQ3JA .marker{fill:#333}#mermaid-svg-0vG106tSO7CWQ3JA .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-0vG106tSO7CWQ3JA { color: rgba(0, 0, 0, 0.75); font: ; } A B C在这里插入图片描述
l
