- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 《爱的教育》读后感1000字7篇.docx
- 《爱的教育》读后感十篇.docx
- 《爱的教育》读书课教案.docx
- 《爱丽丝漫游奇境》阅读测试题.docx
- 《爱如茉莉》第二课时教案.docx
- 《爱如茉莉》阅读答案.docx
- 《爱因斯坦和小女孩》教案.docx
- 《把假分数化成整数或带分数》教学设计.docx
- 《爸爸去哪儿》引爆智能童装新的潮流.docx
- 《白雪歌送武判官归京》导学案.docx
- 中国行业标准 GM/T 0126-2023HTML密码应用置标语法.pdf
- 《JJF 2121-2024恒转速源校准规范》.pdf
- 餐饮服务中20条处理要点.docx
- 《GM/T 0011-2023可信计算 可信密码支撑平台功能与接口规范》.pdf
- 《JJF 2134-2024旋转流变仪校准规范》.pdf
- JJF 2121-2024恒转速源校准规范.pdf
- 计量规程规范 JJF 2121-2024恒转速源校准规范.pdf
- 《JJF 2118-2024压力式六氟化硫气体密度控制器校验仪校准规范》.pdf
- JJF 2134-2024旋转流变仪校准规范.pdf
- 计量规程规范 JJF 2134-2024旋转流变仪校准规范.pdf
文档评论(0)