计算机操作系统课程实验补充材料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机操作系统课程实验补充材料

计算机操作系统 课程实验补充材料 (插入160页,实验1) 4. 实验说明 在有条件的学习环境,建议学员自己先学习Linux操作系统的安装,可以购买一张某一种品牌的相应Linux光盘,在PC机(甚至486机型都可以)上用Partition Magic这一类工具软件在硬盘上分出一块至少大于200MB以上的非DOS分区(原有硬盘上的重要软件数据最好事先做好备份),然后按照光盘上安装说明逐步进行。 (插入162页,实验2) 6. 命令解释程序模拟算法流程图示例 简单的数据结构 ①命令保留字表CST 1 dir 2 cop 3 era 4 dis 5 end ②Shell命令字表SCWT 1 ls -l 2 cp 3 rm -f 4 echo 5 (空格) 主控模拟流程图示例 6. 作业调度流程图示例 (插入165页,实验4) 5. 页面调度模拟算法流程图示例(1) 6. 页面调度模拟算法流程图示例(2) (插入166页,实验5) 5. 进程管理实验内容示例 用4个基本系统调用实现进程的创建、执行和自我终止: ①fork 。创建一个子进程。用它创建的子进程是fork调用者进程(即父进程)的复制品,即进程映象。除了进程标识数以及与进程特性有关的一些参数外,其它与父进程相同,与父进程共享文本段和打开的文件,并都受进程调度程序的调度。 如果创建进程失败,则fork 返回值为-1:若创建进程成功,则从父进程返回值是子进程号,从子进程返回的值是0,返回值在R0。m fork 。 ②wait 。父进程处于阻塞(或等待)状态,等待子进程执行完成终止后继续工作。其返回值R0为等待子进程的子进程号。n wait 。 ③exit 。子进程自我终止,释放所占资源,通知父进程可以删除自己。此时它的状态变成P_state SZOMB。 ④getpid 。获得进程的标识数(进程号),一般是正整数。P getpid 。 编程示例: 例1. 编写一个程序,父进程生成一个子进程,父进程等待子进程wait ,子进程执行完成后自我终止exit ,并唤醒父进程。父、子进程执行时打印有关信息。 main int i,j,k; if i fork // 非零值 j wait ; printf “Parent process!\n” ; printf “i %d k %d\n,i,k ; else k getpid ; printf “Child process!\n” ; printf “i %d k %d\n,i,k ; 例2. 编写一个程序,输入两个整数并求和输出,然后创建一个子进程,当进程调度程序调度到父进程或子进程时特输出不同的信息。 main int i,j,k,sum; scanf “%d%d”,j,k ; sum j+k; printf “sum %d\n”,sum ; while i jork -1 printf “i %d\n,i ; if i printf “It is parent process!\n” ; else printf “It is Child process!\n” ; 实验题1. 编写一个程序,用fork 创建2个子进程。让每个进程在屏幕上显示一个字符:父进程显示字符a,子进程分别显示字符b和字符c。先对例1和例2进行运行,了解各个系统调用的使用,再做本实验题1。观察、记录并分析屏幕上进程调度的情况。 2 进程的“软中断”通信 它可用于同一用户的进程之间通信。其方式是:一个进程通过系统调用kill pid,sig 向同一用户的其它进程pid发送一个软中断信号:另一进程通过系统调用signal sig,func 捕捉到信号sig后,执行予先约定的动作func,从而实现这两个进程间的通信。 ①发送信号kill pid,sig ,本进程将指定信号sig发送给指定进程pid,其中参数为pid进程号,pid与sig均为整数值。 ②接收信号signal sig,func ,本进程接收到其它进程发送给它的信号后,完成指定的功能func。func一般是函数。 例3. 编写一个程序,父进程生成子进程,父进程发送信号并等待,子进程接收信号并完成某种功能,然后自我终止并唤醒父进程。 int func ; main int i,j: signal 17,func ; if i fork printf “Parent: Signal 17 will be send to Child! \n” ; kill i,17 ; wait 0 ; printf “Parent: finished! \n” ” else sleep 10 ; printf “

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档