
计算机基础
Hpsyche
默默学习的菜鸡大四学生
展开
-
源码之linux进程:vm_area_struct与虚拟内存的关系
前言在虚拟内存中,我提到了linux虚拟内存区域的结构,但具体其是如何在linux中表示与实现的呢?我利用了linux2.6的源码进行了浅显的分析。正文task_struct在linux中,进程控制块即PCB的结构为task_struct,我们以linux2.6为例,其源码如下:struct task_struct { //表示进程当前运行状态 //volatile避免...原创 2020-04-30 17:22:07 · 2150 阅读 · 1 评论 -
CPU中常见寄存器及与内存的交互
本篇博客关于指令集和PSW的内容参考至:https://www.cnblogs.com/f-ck-need-u/p/11141636.html,同时做下了寄存器与内存交互的总结。指令集对于每个CPU,其都有一套自己可以执行的专门的指令集(这部分指令由CPU提供)。正式因为不同CPU架构的指令集不同,使得X86处理器不能执行ARM程序,ARM程序也不能执行X86程序(Inter和AMD都使用x...原创 2020-04-20 22:28:12 · 4110 阅读 · 0 评论 -
《深入理解计算机系统》之虚拟内存总结
前言最近看了《深入理解计算机系统》,重温了许多操作系统和组原的知识。本篇博客主要介绍虚拟内存,让我们先从ELF-->进程引入。ELF文件对于每个程序,其在经历预处理、编译、汇编之后,都要经过链接器将其链接成一个单一的可执行文件。在现在Unix和x86-64 Linux系统上,其使用的可执行格式为ELF,如下:可以看到ELF涵盖了程序中的各种信息,加载器就是通过读取E...原创 2020-03-30 18:30:23 · 937 阅读 · 0 评论