操作系统实验题目.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验 上机准备: 熟悉Cygwin环境 编译源程序使用 gcc 源程序名 –o 目标文件名(缺省为a.out)。 学习Linux(Unix)的常用命令。 学习vi 编辑器的使用。 C语言语法 1 进程管理 1.1 实验目的 加深对于进程并发执行概念的理解。实践并发进程的创建和控制方法。观察和体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过程。掌握进程控制的方法,了解父子进程间的控制和协作关系。练习Linux系统中进程创建与控制有关的系统调用的编程和调试技术。 1.2 实验说明 1)与进程创建、执行有关的系统调用说明 进程可以通过系统调用fork()创建子进程并和其子进程并发执行.子进程初始的执行映像是父进程的一个复本.子进程可以通过exec()系统调用族装入一个新的执行程序。父进程可以使用wait()或waitpid()系统调用等待子进程的结束并负责收集和清理子进程的退出状态。 fork()系统调用语法: #include unistd.h pid_t fork(void); fork成功创建子进程后将返回子进程的进程号,不成功会返回-1. exec 系统调用有一组6个函数,其中示例实验中引用了 execve 系统调用语法: #include unistd.h int execve(const char *path, const char *argv[], const char * envp[]); path 要装入的新的执行文件的绝对路径名字符串. argv[] 要传递给新执行程序的完整的命令参数列表(可以为空). envp[] 要传递给新执行程序的完整的环境变量参数列表(可以为空). Exec执行成功后将用一个新的程序代替原进程,但进程号不变,它绝不会再返回到调用进程了。如果exec调用失败,它会返回-1。 getpid()---获取进程的pid 每个进程都执行自己独立的程序,打印自己的pid,每个父进程打印其子进程的pid; 每个进程都执行自己独立的程序,打印自己的pid,父进程打印其子进程的pid; 编写一个命令处理程序,能处理max(m,n), min(m,n)和 average(m,n,l)这几个命令。(使用exec函数族) 2 Winsock网络通信(Windows环境) 2.1 实验目的 通过Windows环境中管道通信机制的实验,加深对于管道通信概念的理解,观察和体验并发进程间的通信和协作的效果 ,练习利用无名管道进行进程通信的编程和调试技术。 2.2 实验说明 服务器端至少能够支持一个客户,客户端和服务器端能够互相发送/接收信息。 例1:简单的回显程序,即客户端输入可以被服务器端回送。 例2:两个人的聊天程序。 相关API函数介绍 WSAStartup:指明Windows Sockets API的版本号及获得特定Windows Sockets实现的细节 WSAGetLastError:发生错误后,调用会返回错误代码 Bind:将指定的套接字与已知地址绑定到一起 Listen:进入等待连接状态 Accept:接受用户连接 Connect:进行连接 Closesocket:释放该套接字 Send:在已建立的连接上发送数据 Recv:在已建立的连接上接收数据 3进程同步实验 3.1 实验目的 加深对并发协作进程同步与互斥概念的理解,观察和体验并发进程同步与互斥操作的效果,分析与研究经典进程同步与互斥问题的实际解决方案。了解Linux系统中IPC进程同步工具的用法,练习并发协作进程的同步与互斥操作的编程与调试技术。 3.2 实验说明 模拟多个生产/消费者在有界缓冲上正确的操作。它利用N个字节的共享内存作为有界循环缓冲区,利用写一字符模拟放一个产品,利用读一字符模拟消费一个产品。当缓冲区空时消费者应阻塞睡眠,而当缓冲区满时生产者应当阻塞睡眠。一旦缓冲区中有空单元,生产者进程就向空单元中入写字符,并报告写的内容和位置。一旦缓冲区中有未读过的字符,消费者进程就从该单元中读出字符,并报告读取位置。生产者不能向同一单元中连续写两次以上相同的字符,消费者也不能从同一单元中连续读两次以上相同的字符。 4 存储管理上机作业 4.1 实验目的 加深对于存储管理的了解,掌握虚拟存储器的实现原理;观察和了解重要的页面置换算法和置换过程。练习模拟算法的编程技巧,锻炼分析试验数据的能力。 4.2 实验说明 1. 示例实验程序中模拟两种置换算法:LRU算法和FIFO算法。 2. 能对两种算法给定任意序列不同的页面引用串和任意页面实内存数目的组合测试,显示页置换的过程。 3. 能统计和报告不同置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率

文档评论(0)

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

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

1亿VIP精品文档

相关文档