自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安装rttys以及rtty

同时因为墙的原因,导致github依赖无法正常导入,好在go提供了官方代理goproxy。rttys中先要在linux机器上配置go语言环境。要删除go项目中的api.go第三十行注释。

2023-10-24 12:51:11 428

原创 centos命令行安装配置go语言环境

打开官网下载地址选择对应的系统版本, 复制下载链接。这里我的当前目录是 /usr/local。我选择的版本是官网最新版本1.21.3。在文件最下方加上两行配置。

2023-10-24 12:01:40 172

原创 Linux课程总结报告

进程切换和调度:在VMM内核态中,VMM会调用调度器(如schedule()函数),通过switch_to函数进行进程上下文切换,以决定下一个要运行的虚拟机内核态进程。这使我能够更好地理解内核的执行流程和调试技术。中断返回:通过iret指令,VMM从中断服务例程返回,恢复虚拟机内核态的关键寄存器信息(如cs、eip、esp、eflags),并将控制权返回到用户态进程Y。切换到VMM内核态:在VMM处理中断期间,VMM会切换到虚拟机的内核态,并执行SAVE_ALL操作,保存当前虚拟机内核的寄存器状态。

2023-05-15 15:53:38 277

原创 LAB5 深入理解进程切换

如果切换到用户空间进程,则需要切换地址空间,并调用 membarrier_switch_mm() 函数和 switch_mm_irqs_off() 函数进行一些额外的操作。将当前进程所使用的内核栈顶指针保存到旧进程的task_struct结构中的thread.sp字段中,并将新进程的task_struct结构中的thread.sp字段中保存的值作为新进程的内核栈顶指针。context_switch中的一个重要函数是switch_to,switch_to调用了 __switch_to_asm。

2023-04-26 14:08:16 86

原创 Linux实验 lab4

由于使用的是内核,因此需要gdb-multiarch来调试下载安装。

2023-04-20 22:33:13 1058

原创 linux lab4

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

2023-04-01 13:09:04 54

原创 start_kernel

电脑加电启动首先由bootloader加载内核,内核紧接着需要挂载内存根文件系统,其中包含必要的设备驱动和工具,bootloader加载根文件系统到内存中,内核会将其挂载到根目录/下,然后运行根文件系统中init脚本执行一些启动任务,最后才挂载真正的磁盘根文件系统。配置文件参见https://github.com/mengning/linuxkernel/tree/master/src/kerneldebuging。配置.vscode/tasks.json和.vscode/launch.json。

2023-03-24 09:15:02 31

原创 start_kernel

电脑加电启动首先由bootloader加载内核,内核紧接着需要挂载内存根文件系统,其中包含必要的设备驱动和工具,bootloader加载根文件系统到内存中,内核会将其挂载到根目录/下,然后运行根文件系统中init脚本执行一些启动任务,最后才挂载真正的磁盘根文件系统。配置文件参见https://github.com/mengning/linuxkernel/tree/master/src/kerneldebuging。配置.vscode/tasks.json和.vscode/launch.json。

2023-03-24 08:59:04 83

原创 Linux操作系统lab1

在linux虚拟机上安装工具,从git上下载。编写测试代码test.c。

2023-03-14 21:57:26 61

空空如也

空空如也

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

TA关注的人

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