- 博客(6)
- 收藏
- 关注
原创 VSCode Remote需求分析
workbench存放了VSCode的界面参数,其数据结构如下,包含了远程链接中的权限、令牌,网络连接、资源定位,文件系统、工作区服务等参数。连接进程remoteExtensionHost,在获取足够权限的前提下,操作远程OS上运行的插件,其本质是进程的通信。`建立远程工作区`:用户在本地的VSCode界面中打开远程工作区,可以编辑、调试和运行远程服务器上的代码。`文件传输`:用户具有从本机上传文件、从远程OS下载文件的能力,可以在远程主机中编辑、保存文件。
2023-05-30 22:27:49
328
1
原创 Linux-lab6:结合虚拟化技术分析LinuxOS一般执行工程
虚拟化技术`是一种将处理器、内存、存储器、网络等物理硬件进行共享的技术,使单个物理硬件能够创建多个模拟环境或专用资源,一台物理机将被划分为单独的虚拟机(VM)或容器,并在每个VM或容器中运行不同的操作系统或应用程序,管理这种虚拟化功能的程序称为`Hypervisor 虚拟机监控程序`。
2023-05-15 20:59:19
158
1
原创 Linux-lab5:x86-64/arm64体系结构下进程切换的比较分析
进程上下文切换的核心函数为`context_switch`,这一段代码位于内核中(目录为`kernel/sched/core.c`),与体系结构无关。`context_switch()` 一共有三个传入参数,其中`rq`表示当前就绪队列,`struct rq`是一个成员非常多的结构体,描述了此CPU上所运行的所有进程,`prev`与`next`分别指向了是前序、后序进程的描述符。
2023-04-25 17:54:39
513
1
原创 Linux-lab4:跟踪调试系统调用time/gettimeofday(基于arm64架构)
由于Ubuntu系统采用x86架构,我们需要在Ubuntu虚拟机下安装交叉编译器和GDB。在编译完成的_install文件夹下进行一些配置。
2023-03-31 23:57:38
315
原创 Linux-lab3: 基于Qemu/Busybox的内核跟踪调试
init : 其中的main.c中的start_kernel函数是内核的起点kernel : 主内核代码 (内核的内核)fs : file system,实现了文件系统ipc : inter-process communication,进程通信net : 实现网络,如TCP/IP协议栈drivers: 设备驱动程序lib : 库文件,因为内核无法使用C标准库函数include :建立内核代码时所需的公共的头文件,它们是各种体系结构(例如:ARM/x86)共用的。
2023-03-24 21:50:24
225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人