计算机系统漫游

计算机系统漫游

文件

  • 文本文件:只由 ASCII 字符构成的文件
  • 二进制文件:其它文件

编译系统

在这里插入图片描述

图:编译系统

  • 预处理阶段
  • 编译阶段
  • 汇编阶段
  • 链接阶段

进程的虚拟空间

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

Linux 进程的虚拟地址空间

图:Linux 进程的虚拟地址空间

  • 程序代码和数据
    对所有进程来说,代码是从同一固定地址开始。代码和数据区是直接按照可执行目标文件的内容初始化的。代码和数据区在进程一开始运行时就被指定了大小。

  • 堆可以在运行时动态地扩展和收缩。
  • 共享库
    用来存放像 C 标准库和数学库这样的共享库的代码和数据。

  • 位于用户虚拟地址空间顶部的是用户栈,编译器用栈来实现函数调用。用户栈在程序执行期间可以动态的扩展和收缩。
  • 内核虚拟内存
    地址空间顶部的区域是为内核保留的,不允许应用程序读写这个区域的内容或者直接调用内核代码定义的函数。必须调用内核来执行这些操作。

操作系统提供的抽象表示

文件是对 I/O 设备的抽象

虚拟内存是对程序存储器的抽象

进程是对一个正在运行的程序的抽象

虚拟机是对整个计算机的抽象

在这里插入图片描述

图:计算机系统提供的一些抽象

计算机系统提供不同层次的抽象表示,来隐藏实际实现的复杂性。

  • 7 地址空间
  • 9 虚拟内存
  • 3 编译器如何使用栈

datalab

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值