深入理解计算机操作系统 第一天

    技术2026-08-29  6

    一个C语言程序编译成可执行程序,需要进行:预处理、编译器、汇编器、链接器等步骤。

     

    操作系统基本的抽象概念:进程、虚拟内存、文件。

    进程:它是操作系统对一个正在运行的程序的一种抽象。每个进程都好像在独占地使用硬件。

    上下文:操作系统保持跟踪进程运行所需的所有状态信息。这种状态,就叫做上下文。

    线程:一个进程实际可以由多个称为线程的执行单元组成。线程运行在进程的上下文中,并共享同样的代码和全局数据。

    虚拟内存:抽象概念,为每个进程提供假象,即每个进程都在独占地使用主存,每个进程看到的内存都是一致的,称为虚拟地址空间,

                                                                            

    最低的地址在最下面,下面介绍关键模块:

    堆:代码和数据区后紧随着的是运行时堆。代码和数据区在刚开始就会指定大小。在堆上,例如C语言,调用malloc和free标准库函数时,可以在堆上动态的扩展和收缩。

    共享库:地址空间的中间部分是一块用来存放像C标准库和数学库这样的共享的代码和数据的区域。

    栈:位于用户虚拟地址空间顶部的是用户栈,编译器用其实现函数调用。

    文件:文件就是字节序列。

    Processed: 0.012, SQL: 9