自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高软学习收获

通过学习写一个命令行菜单,menu项目,从最简的随意版本到软件工程开源社区写法,每个版本的更新和老师引导式地边介绍规范边慢慢增加要求,让我意识到了代码规范也是很重要的,不仅重要在可读性上,更重要的是安全性,通过作业又练习了这一点:通过分析所给项目中的回调函数,之前都是以为只有面向对象的语言才可以实现多态,但是通过阅读分析menu项目学到了C语言的多态实现,再结合老师课上所讲内容,这一部分已经记忆深刻了,这在我后面找实习面试也碰巧遇到了C语言多态的相关问题,被问到时我回答得很好。

2023-07-07 21:48:58 84 1

原创 从需求分到软件设计

选择进行需求分析和逆向工程。

2023-05-30 22:17:17 73

原创 课程总结报告

没想到上了几节课后,在孟宁老师幽默风趣的讲课风格下我慢慢对linux有了兴趣,课上老师讲的linux的部分源码以及课下的实验作业让我从了解到明白了整体上的linux的内核启动、系统调用到细节上的进程的执行。将当前进程X的内核堆栈切换到进程调度算法选出来的next进程(本例假定为进程Y)的内核堆栈,并完成了进程上下文所需的EIP等寄存器状态切换。Linux虚拟系统的原理是基于虚拟化技术实现的。注意这里是进程Y的中断处理过程中,而(3)中保存现场是在进程X的中断处理过程中,因为内核堆栈从进程X切换到进程Y了。

2023-05-14 23:56:59 95

原创 深入理解进程切换

进程切换是由内核实现的,所以进程上下文切换过程中最关键的栈顶寄存器sp切换是通过进程描述符的thread.sp实现的,指令指针寄存器ip的切换是在内核堆栈切换的基础上巧妙利用call/ret指令实现的。ARM64体系结构下__switch_to的实现见arch/arm64/kernel/process.c,其中cpu_switch_to是我们特别关心的进程的CPU上下文切换的关键代码。这些寄存器从一个进程的状态切换到另一个进程的状态,进程切换的关键上下文就算完成了。最核心的是几个关键寄存器的保存与变换。

2023-04-25 19:29:14 133

原创 深入理解Callback函数

我们还通过将linktable.h中不是在接口调用时必须内容转移到linktable.c中,这样可以有效地隐藏软件模块内部的实现细节,为外部调用接口的开发者提供更加简洁的接口信息,同时也减少外部调用接口的开发者有意或无意的破坏软件模块的内部数据。•当软件模块之间共享数据区或变量名的软件模块之间即是公共耦合,显然两个软件模块之间的接口定义不是通过显式的调用方式,而是隐式的共享了共享了数据区或变量名。这样实现多态这样可以有效地隐藏软件模块内部的实现细节,为外部调用接口的开发者提供更加简洁的接口信息。

2023-04-01 23:20:42 206 1

原创 以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34

通过此次实验理解了arm64用户态执行系统调用切换到内核态的总体过程,更好地复习了下上课的知识,受益匪浅。

2023-03-21 21:55:08 900 4

原创 基于VSCode的Linux内核调试环境搭建以及start_kernel跟踪分析

参考的步骤:准备工作:1-5 ,配置vscode环境:6 ,跟踪分析:7。

2023-03-19 17:46:45 1599 12

空空如也

空空如也

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

TA关注的人

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