计算机系统组成及常见概念

计算系统组成

是由硬件和软件系统组成,共同工作来运行应用程序。

源程序组成

是由0和1组成的位(bit)序列,8个位为一个字节。每个字节(使用ASCII码)表示程序中的某些文本。

一个hello.c程序的运行过程:

被转化成低级的机器语言指令 --》打包成可执行目标程序格式--》以二进制磁盘文件形式存储。

打包成可执行目标程序过程:

  • 预处理阶段:头文件展开,处理以字符#开头的命令,修改原始C程序。
  • 编译阶段:将文本文件以.i结尾的翻译成.s结尾的文本文件,转化成汇编语言程序。
  • 汇编阶段:汇编器将汇编语言程序转化成机器语言指令,并打包成可重定位目标程序,生成目标文件.o。
  • 链接阶段:将调用到的库函数目标文件合并到目标文件.o中,得到可执行目标文件,简称可执行文件。

计算机系统硬件的组成:

总线
  • 贯穿整个系统的一组电子管道。
  • 携带信息并在各个部件中传递。
  • 传输定长的字节快,也就是字(word)。
I/O设备
  • I/O输入输出设备是系统与外界的联系通道。
  • 每个IO设备都通过一个控制器或者适配器与IO总线相连。
主存
  • 临时存储设备。
  • 在执行程序时,用来存放程序和程序处理的数据。
  • 从物理角度:由一组动态随机存储器DRAM芯片组成。
  • 从逻辑角度:是一个线性的字节数组,每个字节都有其唯一的地址,地址从0开始。
处理器
  • 中央处理单元CPU。
  • 执行存储在主存中的指令。
  • 处理器的核心是一个大小为一个子的存储设备寄存器,称为程序计数器。
  • 程序计数器指向主存中的某条机器语言指令。处理器不断执行程序计数器,并不断向内存中读取指令。

Linux一些概念介绍

linux是一个虚拟内存系统,用户程序所使用的地址和硬件物理地址不等同。因此引入虚拟内存。

用户虚拟地址:

用户空间所能看到的常规地址。每个进程都有自己的虚拟地址空间。

物理地址:

该地址在处理器和系统内存之间使用。

总线地址:

该地址在外围总线和内存之间使用。通常它们与处理器使用的物理地址相同。

页:

物理地址被分成离散的单元,成为页。系统中许多内存的操作都是基于单个页的,linux一个页表大小为4KB。

页表(存储在内存中):

将虚拟地址转化成对应的物理地址,这种机制被称作页表。页表是存放在内存中的一种数据结构,linux系统维护了一系列的页表。

核心作用:记录虚拟页到物理页的映射关系

虚拟内存区(VMA):

用于管理进程地址空间中不同区域的内核数据结构。

一个VMA表示在进程的虚拟内存中的一个同类区域:拥有同样权限标志位和被同样对象(一个文件或者交换空间)备份的一个连续的虚拟内存地址范围。

核心作用:实现了进程间的隔离与安全(一个进程崩溃不会影响其他进程),并且支持程序使用比实际物理内存更大的空间(通过 Swap 交换分区)。

核心概念 本质 核心作用
虚拟内存 抽象的地址空间 提供隔离、连续且巨大的内存假象
页 (Page) 内存管理最小单位 将虚拟和物理内存切分为固定大小的块(通常4KB)
页表 映射关系的数据结构 充当"翻译官",将虚拟页映射到真实的物理页
上下文 进程的运行环境与状态 确保进程在被暂停和恢复时,能无缝衔接之前的进度
相关推荐
ambition202422 小时前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
zmzmzmalo2 小时前
Linux ELF文件加载与内存管理揭秘
linux·网络·数据库
三言老师9 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
ltl10 小时前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux
ltl10 小时前
可拆分 OS:CXL 内存池化如何动摇本地 DRAM 假设
linux
ltl10 小时前
Tetragon 强制执行:Override 与 SIGKILL 各自保证什么
linux
lengjingzju10 小时前
编译与调试完全指南—第6章 性能分析工具
linux
躺不平的理查德11 小时前
嵌入式 Linux 系统移植与 SD 卡量产镜像制作
linux·运维·服务器
一直走下去-明12 小时前
centos7无法安装tcpreplay
linux·运维
吹什么轩12 小时前
linux网络:TCP套接字基础
linux·网络·tcp/ip