自定义博客皮肤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)
  • 收藏
  • 关注

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

首先在窗口左下角的断点设置处新增断点 __arm64_sys_gettimeofday(32 位 ARM 下是 sys_gettimeofday,注意不要搞错了),然后在终端中执行 test 命令,就可以看到调试器成功在对应的内核函数处停下来。例如,在 ARM64 架构中,gettimeofday 的系统调用号为 96。el0_svc会调用el0_svc_handler和el0_svc_common函数,将存放在X8寄存器(regs->regs[8])中的系统调用号传递给invoke_syscall函数。

2023-05-24 17:36:30 96 1

原创 lab3:基于VS Code的Linux内核调试环境搭建及start_kernel跟踪分析

电脑加电启动首先由bootloader加载内核,内核紧接着需要挂载内存根文件系统,其中包含必要的设备驱动和工具,bootloader加载根文件系统到内存中,内核会将其挂载到根目录/下,然后运行根文件系统中init脚本执行一些启动任务,最后才挂载真正的磁盘根文件系统。进程的创建过程大致是这样的:父进程通过fork系统调用进入内核_do_fork函数,复制进程描述符及相关进程资源(采用写时复制技术),分配子进程的内核堆栈,并对内核堆栈和进程的关键上下文进行初始化,最后将子进程放入就绪队列。

2023-05-23 11:03:11 81 1

原创 Linux课程总结报告

设置环境和内核初始化:在startup_32或startup_64中,内核会设置一些硬件环境(比如分段和分页),然后调用start_kernel()(在init/main.c中)开始内核的主要初始化过程。在start_kernel()中,会按照一定的顺序调用各个子系统的初始化函数,例如设置中断,初始化内存管理,启动调度器等。当我们谈论Linux系统的执行过程时,我们通常是指从引导加载器(比如GRUB)启动内核,然后内核初始化并启动系统进程,然后系统进程开启用户空间应用程序的过程。Linux内核开始执行。

2023-05-15 19:33:22 191 1

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

使用_shedule完成进程调度,确定调入进程,然后使用context_switch完成进程上下文切换,其中通过在swtich_to函数中调用 __switch_to_asm函数完成prev到next进程的内存堆栈切换,最后跳转到_switch_to()函数,待_switch_to()函数返回后,即切换到nex进程的内核堆栈。最后通过jmp指令跳转到_switch_to()函数,在_switch_to()函数的结尾调用return返回,_switch_to()返回后,将回到next进程的内核堆栈。

2023-04-25 22:50:00 67 1

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

环境:ubuntu-18.04.6。

2023-04-21 18:50:01 89 2

原创 Linux内核分析 源码阅读、编译调试和启动过程

下载并解压busybox。注意,如果busybox版本太低的话,在高版本Linux系统中静态编译会报错,所以本次实验选择busybox-1.36.0版本。start_kernel()进行初始化工作。最后会调用reset_init(),并陷入该函数中的无限循环中。准备init脚本文件放在根文件系统跟目录下(rootfs/init),添加如下内容到init文件。执行下列命令,其中-S意思是Stopped,-s为gdb提供一个调试端口tcp:1234。测试挂载根文件系统,看内核启动完成后是否执行init脚本。

2023-03-24 09:07:53 238

原创 linux操作系统分析lab1

linux操作系统分析课程作业

2023-03-12 20:26:58 97 1

空空如也

空空如也

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

TA关注的人

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