《操作系统》实验指导书.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统》 实验指导书 叶明 计算机与信息科学学院 2006 年 12 月 PAGE PAGE 10 目录 附录:与实验相关的系统调用 2 实验 1 Linux 基本使用 4 实验目的 4 实验性质 4 实验内容 4 思考题 6 附录:DOS 和 Linux 常用命令的对比 6 实验 2 进程管理 7 实验目的 7 实验性质 7 预习与实验要求 7 实验内容 7 思考题 9 实验 3 进程通信 10 实验目的 10 实验性质 10 预习与实验要求 10 实验内容 10 实验 4 页面置换算法 14 实验目的 14 实验性质 14 实验程序说明 14 实验内容 15 思考题 18 实验 5 简单文件系统 19 实验目的 19 实验性质 19 实验内容 19 实验提示 19 附录:与实验相关的系统调用 1、int fork( )创建一个新进程 返回值的意义: 0,创建子进程,从子进程返回的id值 -1,创建失败 大于0,从父进程返回的子进程id值 2、lockf(files, function, size)锁定/解锁文件或文件的某段该函数的头文件为:#include unistd.h 参数定义: int lockf(int files, int function, long size) 含义: files是文件描述符; function为1表示锁定,为0表示解锁; size是锁定或解锁的字节数,若用0,表示从文件的当前位置到文件尾。 3、msgget(key, flag)获得一个消息的描述符,该描述符指定一个消息队列以便用于其它系统调用 该函数使用头文件: #include sys/types.h #include sys/ipc.h #include sys/msg.h 参数定义:int msgget(key_t key, int flag) 语法格式:msgqid=msgget(key, flag) 含义:msgqid是该系统调用返回的描述符,失败则返回-1 flag本身由操作允许权和控制命令值相“或”得到 4、msgsnd(id,msgp,size,flag)发送消息 该函数使用头文件: #include sys/types.h #include sys/ipc.h #include sys/msg.h 参数定义:int msgsnd(int id, struct msgbuf * msgp, int size, size flag) 含义:id是返回消息队列的描述符; msgp是指向用户存储区的一个构造体指针; size指示由msgp指向的数据结构中字符数组的长度,即消息长度; flag规定当核心用尽内部缓冲空间时应执行的动作。若在标志flag中未设置IPC_NOWAIT位,则当该消息队列中的字节数超过一最大值时,或系统范围的消息数超过某一最大值时,调用msgsnd的进程睡眠。若设置了IPC_NOWAIT,则在此情况下, msgsnd立即返回。 5、msgrcv(id,msgp,size,type,flag)接收消息 语法格式:count=msgrcv(id,msgp,size,type,flag)。count返回消息字节数。头文件和参数含义基本同msgsnd一样。不同处在于: 多了参数type。type表示用户要读的消息的类型。type为0,表示接收该队列的第一 个消息;为正,接收类型type的第一个消息;为负,接收小于或等于type绝对值的最低类型的第一个消息。 参数flag:规定倘若该队列无消息,核心应当做什么。如果在flag中设置了 IPC_NOWAIT 标志,则立即返回;若设置了MSG_NOERROR标志,且所接收的消息大 小大于size,核心截断所接收的消息。 6、msgctl(id,cmd,buf)查询或设置一个消息描述符的状态,或删除一个消息描述符头文件同上述3、4、5函数 参数:id,消息描述符;buf,是含有控制参数或查询结果的用户数据结构的地址; cmd,命令类的型: 若为IPC_STAT,将与id相关联的消息队列首标读如buf; 若为IPC_SET,为该消息队列设置状态 若为IPC_RMID,删除id代表的消息队列 7、shmget(key,size,flag)获得一个共享存储区,存储区关键字为key,存储区长度为size 该函数使用头文件: #include sys/types.h #include sys/ipc.h #include sys/shm.h 参数定义:int shmget(key_t key, int size, int flag) 语法格式:id=shmget(key, size, flag),其中,id是共享存储区的标识符 8、shmat(id

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档