重庆大学操作系统实验一(系统调用).docx

重庆大学操作系统实验一(系统调用).docx

ID:59126985

大小:27.17 KB

页数:4页

时间:2020-09-13

重庆大学操作系统实验一(系统调用).docx_第1页
重庆大学操作系统实验一(系统调用).docx_第2页
重庆大学操作系统实验一(系统调用).docx_第3页
重庆大学操作系统实验一(系统调用).docx_第4页
资源描述:

《重庆大学操作系统实验一(系统调用).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、重庆大学学生实验报告实验课程名称操作系统原理开课实验室重庆大学DS1501学院软件工程年级2013专业班学生姓名学号开课时间2015至2016学年第一学期总成绩教师签名洪明坚重庆大学软件学院制《操作系统原理》实验报告开课实验室:DS15012016年1月5日学院软件学院年级、专业、班姓名成绩课程名称操作系统原理实验项目名称系统调用指导教师教师评语教师签名:年月日一、实验目的(软件需求文档)编写系统调用“time_ttime(time_t*loc)”a)功能描述i.返回从格林尼治时间1970年1月1日午夜起

2、所经过的秒数。如果指针loc非NULL,则返回值也被填到loc所指向的内存位置b)数据类型time_t其实就是longi.typedeflongtime_t;二、实验原理(软件设计文档)1、在machdep.c中,编写系统调用的实现函数“time_tsys_time()”,计算用户需要的秒数。需要用到变量g_startup_time,它记录了EPOS启动时,距离格林尼治时间1970年1月1日午夜的秒数变量g_timer_ticks记录了EPOS启动以来定时器中断的总次数宏定义HZ是定时器每秒钟中断的次数,

3、即定时器中断的频率2、在kernel.h的后面,加入声明time_tsys_time();3、在syscall-nr.h中,定义系统调用的号码#defineSYSCALL_time20144、在machdep.c的函数syscall中,增加“caseSYSCALL_time”分支读取参数的值time_t*loc=*(time_t**)(ctx->esp+4);调用系统调用的实现函数sys_timectx->eax=sys_time();if(loc!=NULL)*loc=ctx->eax三、使用仪器、材料

4、(软硬件开发环境)Notepad++expenv四、实验步骤(实现的过程)在下列四个文件内添加系统调用U1、在epos/app/syscall-wrapper.S末尾,加入汇编语言接口“WRAPPER(time)”U2、在epos/app/syscall.h中,加入C语言接口“time_ttime(time_t*loc);”U3、在epos/app/main.c中调用该系统调用,并打印出结果•要测试loc分别为NULL和非NULL两种情况machdep.c中添加函数//计算需要的秒数/*变量g_start

5、up_time,它记录了EPOS启动时,距离格林尼治时间1970年1月1日午夜的秒数变量g_timer_ticks,记录了EPOS启动以来定时器中断的总次数宏定义HZ,是定时器每秒钟中断的次数,即定时器中断的频率*/typedeflongtime_t;time_tsys_time(){returng_startup_time+g_timer_ticks/HZ;}以及//实验一系统调用//ctx->eax为系统调用的返回值//ctx->esp为用户栈的栈顶指针caseSYSCALL_time:{time_t

6、*loc=*(time_t**)(ctx->esp+4);//一个参数ctx->eax=sys_time();if(loc!=NULL)*loc=ctx->eax;//统计的秒数存到loc所指内存中break;}主函数调用:time_t*ptime=NULL;printf("WhenlocisNULL");printf("Thetimefrom1970.1.1:%d",time(ptime));time_tm_time=0;printf("WhenlocisnotNULL");printf("

7、Beforesyscall,thevalueof*loc:%d",m_time);printf("Thetimefrom1970.1.1:%d",time(&m_time));printf("Aftersyscall,thevalueof*loc:%d",m_time);五、实验结果及分析(实现的效果,包括屏幕截图、系统总体运行情况和测试情况等)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。