- 博客(3)
- 收藏
- 关注
原创 userseg.c文件中Load_User_Program()函数的功能通过加载可执行文件镜像创建新进程的User_Context结构
【代码】userseg.c文件中Load_User_Program()函数的功能通过加载可执行文件镜像创建新进程的User_Context结构。
2023-04-28 11:17:04
95
1
原创 简要说明 LDT 与 GDT 的区别和联系
由于LDT本身同样是一段内存,也是一个段,所以它也有个描述符描述它,这个描述符就存储在GDT中,对应这个表述符也会有一个选择子,LDTR装载的就是这样一个选择子。GDT,即全局描述表。每个用户态进程都拥有属于自己的内存段空间,并且每个进程有一个段描述符表(Local Descriptor Table),用于保存该进程的所有段描述符。每个用户态进程都拥有属于自己的内存段空间,如代码段、数据段等,每个段都有一个段描述符(LDT),并且每一个进程有一个段描述符表,用于保存该进程的所有段描述符。
2023-04-28 11:14:51
929
1
原创 用户程序的参数是如何传递给程序的
在文件 argblock.c 中定义了函数Get_Argument_Block_Size 从传递给 spawn 函数的 command 中得到参数的个数和存储参数需要的字节数,函数Format_Argument_Block从Get_Argument_Block_Size 得到参数个数和参数大小后,分配给用户态进程的内存区构造参数块数据结构。按值传递参数:按值传递参数时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。
2023-04-28 11:13:28
354
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人