代码改变世界

2017-2018-1 20179226 《从问题到程序》第1周学习总结

2017-11-26 16:40 by 20179226任逸飞, 233 阅读, 0 推荐, 收藏, 编辑
摘要:教材学习中的问题和解决过程 问题1:这个部分的机器指令看不明白,将寄存器1的数据加到寄存器0原有数据上,这个原有数据是指第一行的数据还是第三行运算过的数据? 问题1解决方案:查资料没搞懂 问题2:return 0到底是什么?它和return 1有什么区别? 问题2解决方案: return 0 代表程 阅读全文

2017-2018-1 20179226《Linux内核原理与分析》第九周作业

2017-11-26 16:38 by 20179226任逸飞, 164 阅读, 0 推荐, 收藏, 编辑
摘要:课程学习 1.中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(),一般的用户态进程只能被动调用。 2.内核线程是一个特殊的线程,只有内核态没有用户态,可以直接调用schedule()进行进 阅读全文

内核编译与系统调用

2017-11-24 18:38 by 20179226任逸飞, 232 阅读, 0 推荐, 收藏, 编辑
摘要:参考“实践2.2编译内核及系统调用”完成相实践 出问题参考“编译内核之扩大硬盘空间.docx” 附件提交新加系统调用测试结果截图 问题:说我设备上没有空间,可是我那个分区还有28G可用 希望老师可以帮忙指点一下 阅读全文

从问题到程序、文献管理与信息分析、构建之法、深入理解计算机系统

2017-11-19 16:29 by 20179226任逸飞, 265 阅读, 0 推荐, 收藏, 编辑
摘要:《从问题到程序》 第一章 1.这个部分的机器指令看不明白,将寄存器1的数据加到寄存器0原有数据上,这个原有数据是指第一行的数据还是第三行运算过的数据? 2.return 0到底是什么?它和return 1有什么区别? return 0 代表程序正常退出,return 1代表程序异常退出! 使用ret 阅读全文

2017-2018-1 20179226《Linux内核原理与分析》第八周作业

2017-11-19 16:28 by 20179226任逸飞, 268 阅读, 0 推荐, 收藏, 编辑
摘要:实验 可执行程序的装载 可执行程序的产生过程分为四步,首先是预处理,编译成汇编代码,再汇编成目标码再链接可执行文件。过程如下图所示: 以hello world的.c文件为例进行分析,c语言代码如下: 编译步骤如下: 程序的执行结果如下: 静态&动态链接 1.链接,是收集和组织程序所需的不同代码和数据 阅读全文

汇编混合编程-3

2017-11-17 20:34 by 20179226任逸飞, 354 阅读, 0 推荐, 收藏, 编辑
摘要:用objdum d sum.o反汇编sum.o, 在main.c中通过汇编调用sum 上方提交C混合汇编代码 附件提交编译运行结果 1.sum.c代码如下: 2.执行命令 生成sum.o文件,如图: 3.执行命令 进行反汇编: 4.进行嵌入汇编: 5.编译运行: 阅读全文

2017-2018-1 20179226《Linux内核原理与分析》第七周作业

2017-11-12 19:13 by 20179226任逸飞, 199 阅读, 0 推荐, 收藏, 编辑
摘要:视频课程 task_struct的数据结构 fork系统调用 fork系统调用会创建一个当前进程的子进程。C语言库函数中的fork()在父进程中的返回值为子进程的pid,在子进程中的返回值为0。我们可以根据返回值的不同令父进程和子进程分别执行各自的任务。 fork系统调用原理 fork系统调用与其它 阅读全文

每日100行代码

2017-11-12 10:26 by 20179226任逸飞, 303 阅读, 0 推荐, 收藏, 编辑
摘要:第1天 第2天 第3天 第4天 第5天 第6天 第7天 第8天 第9天 第10天 第11天 阅读全文

main参数传递-1

2017-11-09 17:24 by 20179226任逸飞, 437 阅读, 0 推荐, 收藏, 编辑
摘要:在Linux下完成“求命令行传入整数参数的和” 注意C中main: int main(int argc, char argv[]), 字符串“12” 转为12,可以调用atoi() 求和函数 int sum(int N)放入sum.c中, main中调用sum(),main放入main.c中 测试代 阅读全文

2017-2018-1 20179226《Linux内核原理与分析》第六周作业

2017-11-05 10:56 by 20179226任逸飞, 259 阅读, 0 推荐, 收藏, 编辑
摘要:实验 给MenuOS增加time和time asm命令的方法: 1.更新menu代码到最新版 2.在main()函数中增加MenuConfig 3.增加对应的Time函数和TimeAsm函数 4.make rootfs 实验结果如图所示 我上周使用的系统调用是creat,加到test.c的函数的命令 阅读全文