logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

2023-2024-1 20232806《Linux内核原理与分析》第九周作业

对“Linux系统一般执行过程”的理解:Linux 系统的执行过程涉及启动引导、内核加载、初始化过程、用户空间初始化等多个步骤。1)正在运行的用户态进程X2)发生中断int 0x803)SAVE_ALL //保存现场4)中断处理过程中或中断返回前调用了schedule(),其中的switch_to做了关键的进程上下文切换5)标号1之后开始运行用户态进程Y(这里Y曾经通过以上步骤被切换出去过因此可以

文章图片
#linux#运维#服务器
2023-2024-1 20232806《Linux内核原理与分析》第八周作业

调用execve的可执行程序时,系统调用exceve陷入内核,这时会创建一个新的用户态堆栈,实际是把命令行参数的内容和环境变量的内容通过指针的方式传递给系统调用内核处理函数的,然后内核处理函数在创建可执行程序新的用户态堆栈的时候,会把这些拷贝到用户态堆栈初始化新的可执行程序的执行上下文环境(先函数调用参数传递,再系统调用参数传递)。

文章图片
#linux#chrome#运维
2023-2024-1 20232806《Linux内核原理与分析》第七周作业

对“Linux 系统创建一个新进程”的理解在Linux系统中,创建新进程的过程是通过 fork系统调用完成的。fork系统调用从内核返回两次:一次回到父进程,另一次回到新产生的子进程。它实际上是由clone()系统调用实现的。子进程和父进程最大的区别就是在于他们拥有不同的PID。分析新进程的执行起点及对应的堆栈状态创建的新进程的执行起点:ret_from_fork在Linux中,新进程的堆栈状态如

文章图片
#linux#运维#服务器
2023-2024-1 20232806《Linux内核原理及分析》第五周作业

系统调用是用户态进程访问硬件的一种方式,它通过中断(int 0x80)由用户态进入内核态。当一个用户态程序进行系统调用的时候,CPU进入内核态并执行内核函数。系统调用的过程为:函数库提供的封装函数接口(API)->system_call(是所有系统调用的入口),这个入口会根据系统调用号(eax入栈),调用对应的系统调用例程。系统调用最多使用6个寄存器(ebx,ecx,edx,esi,edi,ebp

文章图片
#linux#运维#服务器
2023-2024-1 20232806 安星宇《Linux内核原理与分析》第二周作业

通过本次的实验,我掌握了在Linux环境中反汇编C语言程序的方法,重点学会了gcc命令的使用,gcc命令使用时通常搭配一些参数,如-S、-c等。同时也对x86汇编指令有了一定的了解。x86汇编指令是对计算机底层运行原理的一次深入探索,它让我对计算机的工作方式和指令级别的操作有了更深入的了解。

文章图片
#linux#性能优化#运维
到底了