- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广东海洋大学学生实验报告书(学生用表)
实验名称 时钟的显示设计和实现 课程名称 操作系统 课程号 S1620034-0 学院(系) 信息学院 专业 计算机科学与技术 班级 1072 学生姓名 王旭浩
杨苏潮
叶韶文 学号
200711621230
200711621233
200711621234 实验地点 科技楼423 实验日期 一、实验目的(Experimental goal)
掌握调用的实现原理。 Development environment)
硬件(Hardware):(CPU) AMD Athlon(tm)64X2 5600+ 2.9GHz
内存(Memory):896MB
操作系统 (Operating system):Microsoft Windows XP
软件(software):minix3.1
三、实验内容(Experimental content)
进程管理的系统调用的使用。
、掌握的实现原理。 、、实验完成后总结实验心得。/usr/src/kernel/glo.h
文件.定义EXTERN time_t boottime,time_t是指boottime的计时单位是秒.如图
2.常量定义,vi /usr/src/include/minix/com.h文件,定义
#define T_BOOTTIME m4_l1 消息常量
#define SYS_SETBOOTTIME (KERNEL_CALL + 28) 核心调用的编号
#define SYS_GETBOOTTIME (KERNEL_CALL + 29)
将NR_SYS_CALLS改为30,因为系统只有28个,现在加了2个,所以变为30
如图
3. 在文件/usr/src/kernel/system/do_times.c中添加do_setboottime函数和do_getboottime函数
处理系统sys_setboottime()函数的调用,在消息中取得T_BOOTTIME的值付给boottime
处理系统sys_getboottime()函数调用,取得消息变量T_BOOTTIME的值给boottime.
4.添加消息映射,作用是,把所接到的消息转换成函数映射.在/usr/src/kernel
目录下打开system.c在initialize函数中添加消息映射
MAP(SYS_SETBOOTTIME, do_setboottime)
MAP(SYS_GETBOOTTIME, do_getboottime)
当收到SYS_SETBOOTTIME消息的时候调用do_setboottime函数
当收到SYS_GETBOOTTIME消息的时候调用do_getboottime函数 如图
5,.在当前目录下在system.h文件的条件编译中,将两个核心调用映射到do_unused
如图
当USE_TIMES定义为0的话指系统不需要执行时间管理,反之为 1的话执行.
所以如果不行USE_TIMES,就把do_setboottime和do_getboottime映射成空函数do_unused.
6. 在当前目录下把table.c中将SYS_GETBOOTTIME调用权赋值给DRV_C,使得TTY具备调用sys_getboottime的权限.
如图:
其中SYS_GETBOOTTIME的调用权限在PM_C中,但由于语句上说除了后面那些调用权限不可外都可以,所以不必加入它的调用权限,而SYS_SETBOOTTIME的权限在DRV_C中,其语句是所能执行后面的权限,固要加入.
7.vi /usr/src/kernel/clock.c的时钟中断处理函数clock_handler,使其每隔1秒向终端驱动程序发送消息
1、static int c;定义静态整数c用来对中断次数的计数
2、每次时钟中断时更新c的值;
3、当c=HZ时,将c清零,并向终端驱动程序发送消息。其中HZ的值为60,所以中断60次就是1秒.
如图:
终端驱动设置TTY包括了光标设置等操作
8. 在函数库中为新增加的两个核心调用添加接口函数
1、/usr/src/lib/syslib/sys_setboottime.c: sys_setboottime(),供PM程序使用;更新Makefile文件,自动编译sys_setboottime函数。
准备个消息类型m,从消息中获取bottime,返回taskecall,返回SYS_SETBOOTTIME和消息缓冲区的地址m.
2、同理在r/src/include/minix/syslib.h:_PROTOTYPE(int sys_setboottime, (time_t boottime));
准备个消息类型m和常量s ,从消
您可能关注的文档
- 07837面向对象程序设计(C)自学考试课程复习试题.doc
- 20000立方米原油储罐设计毕业论文(论文)说明书.doc
- 070713制冷系统维修专用工具.doc
- AGV小车系统在汽车行业中的应用.doc
- AIX维护管理培训教材.doc
- AltiumDesigner设计报告之51最小系统方案.doc
- AutoRunner自动化测试工具.doc
- AVC系统电压无功控制策略分析.doc
- BLDC无刷直流电动机设计说明书.doc
- BOPET薄膜的生产工艺和应用.doc
- 七章货物的保险.pptx
- 三章国际间接投资.pptx
- 人性假设理论.pptx
- 外研高一英语必修三ModuleIntroduction汇总市公开课获奖课件省名师示范课获奖课件.pptx
- 月相成因优质获奖课件.pptx
- 小学二年级语文课件《狐假虎威》省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 养羊业概况专题知识讲座.pptx
- 微生物的实验室培养市公开课获奖课件省名师示范课获奖课件.pptx
- 人教版六年级下册式与方程整理与复习市公开课获奖课件省名师示范课获奖课件.pptx
- 必威体育精装版高中精品语文教学:第二单元-第7课-诗三首:涉江采芙蓉、-短歌行、归园田居市公开课获奖课件省名师.pptx
文档评论(0)