一、环境搭建 请参考上一篇博客:https://www.cnblogs.com/pghzl-123/p/12825669.html 参考文章:https://blog.csdn.net/zyn19950120/article/details/75948632 二、fork系统调用分析 1、进程创建概 ...
分类:
系统相关 时间:
2020-06-14 12:26:39
阅读次数:
74
一.进程上下文和中断上下文 进程上下文指的是一个进程在执行的时候,CPU的所有寄存器中的值、进程的状态以及堆栈上的内容,当内核需要切换到另一个进程时,它 需要保存当前进程的所有状态,即保存当前进程的进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。 中断上下文是硬件通过触发信号,向C ...
分类:
系统相关 时间:
2020-06-14 11:19:52
阅读次数:
63
结合中断上下文切换和进程上下文切换分析Linux内核一般执行过程 以fork和execve系统调用为例分析中断上下文的切换 分析execve系统调用中断上下文的特殊之处 分析fork子进程启动执行时进程上下文的特殊之处 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析Linux系统的 ...
分类:
系统相关 时间:
2020-06-14 01:25:36
阅读次数:
64
文章主要内容 以fork和execve系统调用为例分析中断上下文的切换 分析execve系统调用中断上下文的特殊之处 分析fork子进程启动执行时进程上下文的特殊之处 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析Linux系统的一般执行过程 分析fork 查看do_fork源码 ...
分类:
系统相关 时间:
2020-06-14 01:03:52
阅读次数:
79
一.前置知识 正常触发系统调?时,?户态通过syscall指令触发系统调?, 跳转到系统调???的汇编代码。syscall指令触发entry_SYSCALL_64并以sysret或iret返回系统调? 系统调?陷?内核态,从?户态堆栈转换到内核态堆栈,然后把相应的CPU关键的现场栈顶寄存器、指令指针 ...
分类:
系统相关 时间:
2020-06-13 23:26:02
阅读次数:
87
结合中断上下文切换和进程上下文切换分析Linux内核一般执行过程 以fork和execve系统调用为例分析中断上下文的切换 分析execve系统调用中断上下文的特殊之处 分析fork子进程启动执行时进程上下文的特殊之处 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析Linux系统的 ...
分类:
系统相关 时间:
2020-06-13 21:31:06
阅读次数:
68
一、以fork和execve系统调用为例分析中断上下文的切换 1.fork系统调用 fork系统调用可以建立一个新进程,把当前的进程分为父进程和子进程,新进程称为子进程,而原进程称为父进程。fork调用一次,返回两次,这两个返回分别带回它们各自的返回值,其中在父进程中的返回值是子进程的PID,而子进 ...
分类:
系统相关 时间:
2020-06-13 21:19:48
阅读次数:
76
一、实验环境 os: linux 虚拟机:QEMU 内核版本 5.3.4 调试方法:GDB fork系统的调用过程 fork函数的不同在于,os依照父进程的堆栈空间,复制了一份一模一样的堆栈空间给子进程,不过改变了子进程的进程号,所以子进程中也有一个fork函数,子进程从父进程fork后开始执行,子 ...
分类:
系统相关 时间:
2020-06-13 21:15:31
阅读次数:
80
一、以fork和execve系统调用为例分析中断上下文的切换 中断是在?个进程当中从进程的?户态到进程的内核态,或从进程的内核态返回到进程的?户态,?切换进程需要在不同的进程间切换。但?般进程上下?切换是嵌套到中断上下?切换中的,?如系统调?作为?种中断先陷?内核,即发?中断保存现场和系统调?处理过 ...
分类:
系统相关 时间:
2020-06-13 20:57:00
阅读次数:
100
实验三 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 一、实验要求 以fork和execve系统调用为例分析中断上下文的切换; 分析execve系统调用中断上下文的特殊之处; 分析fork子进程启动执行时进程上下文的特殊之处; 以系统调用作为特殊的中断,结合中断上下文切换和进程 ...
分类:
系统相关 时间:
2020-06-13 19:20:09
阅读次数:
55