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

计算系统组成

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

源程序组成

是由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)
页表 映射关系的数据结构 充当"翻译官",将虚拟页映射到真实的物理页
上下文 进程的运行环境与状态 确保进程在被暂停和恢复时,能无缝衔接之前的进度
相关推荐
android阿杜5 分钟前
Ubuntu 26.04 LTS 系统每次重启后屏幕亮度都会增加一点
linux·运维·ubuntu
懿路向前16 分钟前
【唤醒实战笔记】2026-09-29 | 智能体提示词迭代史(v1 → v8)
linux·笔记·算法
路溪非溪1 小时前
Linux下Shell脚本基础知识(二)
linux·运维·服务器
fruge1 小时前
飞牛OS部署Flare导航页:Docker Compose、YAML书签配置与cpolar公网访问
运维·docker·容器
嵌入式分享2 小时前
驱动之路#44:硬件 I2C 和软件 I2C 谁更坑?
linux·嵌入式硬件
NailiConveyor2 小时前
输送机皮带材质选型指南:PVC、PU、橡胶、模块化塑料各适用什么场景?
大数据·运维·自动化·制造·业界资讯·材质
不会就选b2 小时前
Linux之再次理解udp
linux·运维·udp
我命由我123452 小时前
自动化 / 智能装配的对象、内容、层级
运维·学习·职场和发展·自动化·求职招聘·职场发展·学习方法
guo_wen_qiang2 小时前
云服务器kibana环境搭建
linux·运维·服务器
海宇大数据2 小时前
零信任架构实战:基于海宇车辆出险记录核验构建自动化二手车收车评估网关
运维·人工智能·架构·自动化