⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch3.htm

📁 汤子瀛《操作系统》电子教案
💻 HTM
📖 第 1 页 / 共 3 页
字号:
      </font></span><font color="#FFFFFF">Int<span style="mso-spacerun: yes">&nbsp;&nbsp; 
      </span>*lock;</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">{ int t;</font></span></p>   
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">t=*lock;</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">*lock=1;</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">return(t);</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">}</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt"><span style="mso-spacerun: yes" lang="EN-US"><font color="#FFFFFF">&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">入口:</span><span lang="EN-US">while(TS(&amp;lock));</span></font></p>
      <p style="MARGIN-LEFT: 16.5pt"><span style="mso-spacerun: yes" lang="EN-US"><font color="#FFFFFF">&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出口:</span><span lang="EN-US">lock=0;</span></font></p>
      <p style="MARGIN-LEFT: 16.5pt"><font color="#FFFFFF"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">⑵利用</span><span lang="EN-US">Swap</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令实现互斥</span></font></p>
      <p style="MARGIN-LEFT: 16.5pt"><font color="#FFFFFF"><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; 
      </span>Swap</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令:</span></font></p>
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><font color="#FFFFFF"><span style="mso-spacerun: yes">&nbsp; 
      </span>Swap(a,b)</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">Int<span style="mso-spacerun: yes">&nbsp; 
      </span>*<b style="mso-bidi-font-weight: normal">a,*</b>b;</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;    
      </font></span><font color="#FFFFFF">{</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt; TEXT-INDENT: 22.5pt"><span lang="EN-US"><font color="#FFFFFF">int<span style="mso-spacerun: yes">&nbsp; 
      </span>t;</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt; TEXT-INDENT: 22.5pt"><span lang="EN-US"><font color="#FFFFFF">t=*a;</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt; TEXT-INDENT: 22.5pt"><span lang="EN-US"><font color="#FFFFFF">a=b;</font></span></p>
      <p style="MARGIN-LEFT: 16.5pt; TEXT-INDENT: 22.5pt"><span lang="EN-US"><font color="#FFFFFF">*b=t;</font></span></p>
      <p><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">}</font></span></p>
      <p><span style="mso-spacerun: yes" lang="EN-US"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">入口:</span><span lang="EN-US">key=1;</span></font></p>
      <p><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">do</font></span></p>
      <p><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">{swap(&amp;lock,&amp;key);</font></span></p>
      <p><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">}while(key==0);</font></span></p>
      <p><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF">}</font></span></p>
      <p><span style="mso-spacerun: yes" lang="EN-US"><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </font></span><font color="#FFFFFF"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出口:</span><span lang="EN-US">lock=0;</span></font></p>
      <p> </td>
  </tr>
  <tr>
    <td width="100%" align="left" height="53" colspan="2">
    </center>
    <p style="MARGIN-LEFT: 24pt; TEXT-INDENT: -24pt; TEXT-ALIGN: center; mso-list: l3 level2 lfo2; tab-stops: list 24.0pt" align="center"><font color="#FFFFFF"><span lang="EN-US" style="FONT-SIZE: 14pt; mso-bidi-font-size: 10.0pt"><a name="ch32"></a>3.2<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;    
    </span></span><span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">信号量机制</span><span lang="EN-US" style="FONT-SIZE: 14pt; mso-bidi-font-size: 10.0pt"><o:p>
    </o:p>
    </span></font></p>
    <p style="MARGIN-LEFT: 16.5pt; TEXT-INDENT: -16.5pt; mso-list: l1 level1 lfo4; tab-stops: list 16.5pt"><font color="#FFFFFF"><span lang="EN-US">1.<span style="FONT: 7pt 'Times New Roman'">&nbsp;    
    </span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">整型信号量机制:</span></font></p>
    <p style="MARGIN-LEFT: 16.5pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font color="#FFFFFF">⑴整形信号量:</font></span></p>
    <p style="MARGIN-LEFT: 16.5pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font color="#FFFFFF">⑵利用信号量互斥:</font></span></p>
    <p style="MARGIN-LEFT: 16.5pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font color="#FFFFFF">⑶利用信号量描述前驱关系:</font></span></p>
    <p style="MARGIN-LEFT: 16.5pt; TEXT-INDENT: -16.5pt; mso-list: l1 level1 lfo4; tab-stops: list 16.5pt"><font color="#FFFFFF"><span lang="EN-US">2.<span style="FONT: 7pt 'Times New Roman'">&nbsp;    
    </span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">记录型信号量机制:</span></font></p>
    <p style="MARGIN-LEFT: 16.5pt; TEXT-INDENT: -16.5pt; mso-list: l1 level1 lfo4; tab-stops: list 16.5pt"><font color="#FFFFFF"><span lang="EN-US">3.<span style="FONT: 7pt 'Times New Roman'">&nbsp;    
    </span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">信号量集机制:</span></font></p>
    <p style="MARGIN-LEFT: 16.5pt"><font color="#FFFFFF"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">⑴</span><span lang="EN-US">AND</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">信号量集机制:</span></font></p>
    <p style="MARGIN-LEFT: 16.5pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font color="#FFFFFF">⑵一般信号量集机制:</font></span></p>
     </td>
  </tr>
  <tr>
    <td width="100%" align="left" height="53" colspan="2">
      <p style="MARGIN-LEFT: 24pt; TEXT-INDENT: -24pt; TEXT-ALIGN: center; mso-list: l3 level2 lfo2; tab-stops: list 24.0pt" align="center"><font color="#FFFFFF"><span lang="EN-US" style="FONT-SIZE: 14pt; mso-bidi-font-size: 10.0pt"><a name="ch33"></a>3.3<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;    
      </span></span><span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">经典进程同步问题</span><span lang="EN-US" style="FONT-SIZE: 14pt; mso-bidi-font-size: 10.0pt"><o:p>
      </o:p>
      </span></font></p>
      <p style="MARGIN-LEFT: 7.5pt; TEXT-INDENT: -7.5pt; mso-list: l2 level1 lfo5; tab-stops: list 7.5pt"><font color="#FFFFFF"><span lang="EN-US">1.<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生产者消费者问题。</span></font></p>
      <p style="MARGIN-LEFT: 7.5pt; TEXT-INDENT: -7.5pt; mso-list: l2 level1 lfo5; tab-stops: list 7.5pt"><font color="#FFFFFF"><span lang="EN-US">2.<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">读者写者问题。</span></font></p>
      <p style="MARGIN-LEFT: 7.5pt; TEXT-INDENT: -7.5pt; mso-list: l2 level1 lfo5; tab-stops: list 7.5pt"><font color="#FFFFFF"><span lang="EN-US">3.<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
      </span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">哲学家进餐问题。</span></font></p>
       </td>
  </tr>
  <tr>
    <td width="114%" align="left" height="51" colspan="2">
      <p style="MARGIN-LEFT: 24pt; TEXT-INDENT: -24pt; TEXT-ALIGN: center; mso-list: l3 level2 lfo2; tab-stops: list 24.0pt" align="center"><font color="#FFFFFF"><span lang="EN-US" style="FONT-SIZE: 14pt; mso-bidi-font-size: 10.0pt"><a name="ch34"></a>3.4<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -