本帖最后由 TecSupport 于 2021-7-26 10:43 编辑
2021年申威&江南大学 暑期实践课题
1.申威操作系统内核开发实践(1)难度:中等 (2)时间:15天 (3)环境条件:【软件】申威3231内核源码 (4)背景目的:理解Linux内核和模块的基本开发方法,理解系统调用核心概念。 (5)要求: • 模块开发:在申威上构建和编译helloworld内核模块工程,在装载模块时打印“hello,world”,在卸载模块是打印“goodbye”。利用dmesg可以查看内核打印。再此基础上,增加内核模块参数count,用来控制打印的次数,譬如装载模块时指定count=10,则打印10次"hello,world"。 • 理解系统调用:在内核中,新增一条系统调用,其功能描是在内核中打印用户态传入的字符串,其内部逻辑如下。编写用户程序对新增系统调用进行验证。 intnewsyscall(char*string) printk("newsyscall called, user string is: %s\n",string); 2.语言编译相关实践(1) 难度:一般 (2) 时间:7天 (3) 环境条件:申威平台3231服务器 (4) 背景目的:了解编译过程,理解机器代码 (5) 要求: a)在申威平台,使用C语言实现两个N*N矩阵的乘法,矩阵由一维数组表示,用GCC编译器编译运行。自己编程实现(N值自定); b)将C语言源代码变成机器可执行的二进制代码,经历几个编译步骤?每个步骤的输入输出以及作用是什么? c)将生成汇编文件中的指令与C代码语句一一对应,并标注出来。
3.申威平台kaldi库移植
(1)难度:中等
(2)时间:15天
(3)环境条件:申威平台3231服务器环境
(4)背景目的:了解体系架构相关库移植流程,了解针对体系架构优化
(5)需求:基于开源kaldi5.4版本代码,在申威平台上完成该库的编译移植工作,并摸索进行test相关单元测试,测试通过率不低于80%。
附件:
|