电气工程论文网


  • 首页|
  • 自动化毕业论文|
  • 电子机电毕业论文|
  • 电子通信论文|
  • 电气工程论文|
  • 电子信息工程|
  • 电气工程原创论文|
  • 电气工程免费论文|
原创毕业论文 → 电气工程专业原创毕业论文   现成毕业论文范文 → 电气工程专业毕业论文范文

论文降重

当前位置:电气工程论文网 -> 自动化免费论文 -> 2005-2006学年第二学期《操作系统课程设计》任务书

2005-2006学年第二学期《操作系统课程设计》任务书

本文ID:LW3665
2005-2006学年第二学期《操作系统课程设计》任务书

 

一、课程设计的目的
 在从事本课程设计之前,学生们已经通过一个学期的系统学习,掌握了操作系统的原理,对操作系统的各个组成部分的工作原理有了一定的认识。然而由于操作系统的复杂性,使得学生对操作系统个部分的理解可能是分散的和不深入的。设置本课程设计的目的,就是让学生通过课程设计,对操作系统有进一步深入的理解,对系统工作原理有一个整体认识。
二、学生完成的任务之一
 修改MINIX系统,使得系统启动时显示出你自己的班级、姓名、学号。信息格式如下:
 Welcome to MyMinix! Class-?, Name-????????, Num-??
例如:Welcome to MyMinix! Class-2, Name-LiHua, Num-16,即2班,李华,16号。要求保留原来的内核映像文件,以便系统出错时,可以从一个能够正确工作的版本中启动系统。
三、学生完成的任务之二
 修改MINIX系统,使得MINIX为程序员提供一个新的系统功能调用getpids。Getpids的功能描述如下:
 int getpids(pid_t *child, pid_t *parent);
getpids返回调用者进程和它的父进程的PID,分别放在child和parent所指向的地址中。
四、任务二的提示
 (1)
修改目录/usr/include/minix/callnr.h文件,加入新系统调用编号:
 #define GETPIDS 78
增加系统调用数目
#define NCALLS 79
 (2)
增加_getpid2.c文件到/usr/src/lib/other子目录之下,内容为:
/* _getpid2.c */
#include <lib.h>
#define getpid2 _getpid2
#include <unistd.h>
PUBLIC pid_t getpid2(pid_t *child, pid_t *parent)
{
 message m;
 _syscall(MM, GETPIDS, &m);
 *child = m.m_type;
 *parent = m.m2_i1;
  }
在同一个子目录之下,修改文件Makefile,其内容为:
OBJECTS = \
 $(LIBRARY)(_getpid2.o) \
 $(LIBRARY)(_brk.o) \
 $(LIBRARY)(_reboot.o) \
   …
 $(LIBRARY): $(OBJECTS)
  aal cr $@ *.o
  rm *.o
$(LIBRARY)(_getpid2.o): _getpid2.c
 $(CC1) _getpid2.c
$(LIBRARY)(_brk.o): _brk.c
$(CC1) _brk.c
  …
在同样的目录下,发出make命令:
make
  将新的函数_getpid2加入到函数库之中。
 (3)
添加新文件getpids.s到目录/usr/src/lib/syscall之中:
.sect .text
.extern __getpid2                   ! 注意,是2个下划线
.define _getpids
.align 2
_getpids:
 jmp __getpid2
在同一个子目录之下,修改文件Makefile:
 OBJECTS = \
 $(LIBRARY)(_getpids.o) \
 $(LIBRARY)(_exit.o) \
   …
 $(LIBRARY): $(OBJECTS)
  aal cr $@  *.o
  rm *.o
 $(LIBRARY)(_getpids.o): _getpids.s
  $(CC1) _getpids.s
 $(LIBRARY)(_exit.o): _exit.s
 $(CC1) _exit.s
   …
在同样的目录下,发出make命令:
make
  将新的函数getpids加入到函数库之中。
 (4)修改minix中内存管理部分,以提供系统调用
修改/usr/src/mm/table.c,在数组call_vec[ ]的最后一行之后加入语句:
…
…
do_svrctl,  /* 77 = svrctl  */
do_getset, /* 78 = getpids */

修改/usr/src/mm/getset.c,在语句 CASE GET_PID:之上加入代码
case GETPIDS:  /* fall through */
case GETPID:
 r = mproc[who].mp_pid;
 rmp->reply_res2 = mproc[rmp->mp_parent].mp_pid;
 break;

 (5)测试系统调用是否可用
在/usr/include/中加入getpids.h
#ifndef _GETPIDS_H
#define _GETPIDS_H
#ifndef _ANSI_H
#include <ansi.h>
#endif
_PROTOTYPE (int getpids, (pid_t * child, pid_t *parent));
#endif   /* _GET_PIDS_H */
编写一个用户级程序test.c来测试
#include <stdio.h>
#include <unistd.h>
#include <getpids.h>
int main(void){
 int pid, ppid;
 getpids(&pid, &ppid);
 printf(“child = %d, parent = %d\n”, child, parent);
}

cc test.c
./a.out
五、学生完成的任务之三
 修改MINIX系统,使得MINIX为程序员提供系统功能调用get_cursor和set_cursor,分别返回和设置屏幕光标位置,其参数由学生自己定义。编写一个应程序,利用这两个系统调用,在屏幕固定位置每隔1秒钟显示系统当前时间。

六、要求提交的材料
课程设计报告。写出每一天的工作日记,主要步骤所涉及到的工作原理分析,程序代码分析。A4纸,5页。第18周星期一由班长收齐统一上交。
每名同学将改造之后的MINX,压缩为rar文档,文件名格式:r或w + 2位班序号+学号中的2位序号.RAR,例如网络1班12号同学的文件名为:w0112.rar。最后每位同学的rar文件汇总到班长处,由班长制作成光盘,同设计报告一起上交。
七、时间与地点
第16周作准备,查阅资料等
第17周编写程序
上机地点:微机2室 + 宿舍

下载地址 WORD格式全文下载链接(充值:元)


2005-2006学年第二学期《操作系统课程设计》任务书......
论文人工降重
本论文《2005-2006学年第二学期《操作系统课程设计》任务书》在自动化免费论文栏目,由电气工程论文网整理,转载请注明来源 www.dqlunwen.top 更多论文,请点电气工程论文查看
上一篇:免费毕业论文--高等学校建筑电气.. 下一篇:免费毕业论文--网络办公自动化系..

点击查看关于 2005-2006 学年 第二学期 操作系统 课程设计 任务书 的相关论文题目 2009-07-07 17:25:25【返回顶部】
联系方式

相关栏目

光机电应用技术
机电一体化
应用电子技术
电子信息工程技术
自动化免费论文
自动化专业毕业论文
电子专业免费论文
电子机电毕业论文
电气工程免费论文
测控技术与仪器
电气工程原创论文
电子通信论文
电气自动化开题
电子机电开题报告
电子通信免费论文
PLC相关外文翻译
电子机电信息外文翻译
电子通信外文翻译
联系方式
电子信息工程论文下载
电气工程论文下载


联系方式


电气工程论文网提供电气工程论文范文,电气工程毕业论文,网站永久域名www.dqlunwen.top 

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2022 电气工程论文网 版权所有