自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 代码中的软件工程

而孟宁老师教学经验和开发经验丰富,将自己的教授内容转化成一本书籍《代码中的软件工程》,并辅以实际的开发项目,层层迭代,将最原始的代码结合软件工程的相关思想,将其丰富起来,强调了代码的模块化,这意味着将代码划分为多个独立的模块,每个模块负责不同的功能,使得代码更加可维护和可扩展。通过孟宁老师的教学,我学到了许多高级软件工程的知识和技巧。本科时间我也是一名软件工程的学生,现在到了研究生期间又上了这门课,不过多了“高级”两个字,变成了《高级软件工程》,我也从这门课上收获满满,变得高级起来。

2023-07-10 11:40:26 64 1

原创 课程总结报告

众所周知,Linux以最最伟大的开源项目而闻名,在学习本课程之前,我便想阅读linux的源码了。在本次课程的学习中我学会了如何用vscode,gdb以及qemu进行内核源码的阅读和调试,并且学习了linux的中断机制,进程的创建,进程调度等。虚拟机操作系统启动:虚拟机内的操作系统开始启动过程,它与物理计算机上的Linux系统的启动过程相似,包括加载内核、初始化过程和启动系统服务等步骤。虚拟机启动:一旦虚拟机被创建,VMM会加载虚拟机的操作系统映像到虚拟机的内存中,并启动虚拟机。

2023-05-15 22:39:03 55 1

原创 lab5:深入理解Linux进程切换

而ret指令出栈存入RIP寄存器的是进程切换之后的next进程的内核堆栈栈顶数据。ARM( ldmia r4, {r4 - sl, fp, sp, pc}) 将next->thread_info->cpu_context的数据加载到r4 - sl, fp, sp, lr,pc寄存器中,next->thread_info->cpu_context->sp存入寄存器SP相当于内核栈切换完成,next->thread_info->cpu_context->pc存入寄存器PC相当于跳转到next进程运行。

2023-04-25 20:01:42 189 1

原创 作业3:深入理解Callback函数

在linktableInternal.h文件中定义了LinkTable和LinkTableNode的数据结构。作为通用的链表结构,这部分只与链表的逻辑部分有关,与实际的业务部分无关。在linktable.h中使用typedef为这两个数据结构起了别名,并定义了链表相关的接口,在linktable.c中提供了相关具体实现。在menu.c中,则定义了与具体业务相关的数据结构tDataNode。

2023-04-02 22:07:50 93

原创 分析 time/gettimeofday 系统调用在 ARM64 Linux 中的执行过程

el0_sync 在完成保存现场的工作之后,会根据 ESR_EL1 寄存器确定同步异常产生的原因,同步异常产生的原因很多,在 ARM64 Linux 中最常见的原因是 svc 指令触发了系统调用,所以排在最前面的就是条件判断跳转到 el0_svc , el0_svc 中主要负责调用C代码的 el0_svc_handler 处理系统调用和 ret_to_user 系统调用返回。这时就会由中断向量表根据系统调用号调用相应的内核处理函数了,在本例中调用的是169号。下载你想要的版本,这里下载的是5.4.34。

2023-03-30 21:53:21 106

原创 使用VScode阅读Linux源码

使用vscode阅读linux源码

2023-03-23 18:11:58 1396

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除