操作系统学习——Linux基础学习篇(第0章)
这个系列主要是依赖《鸟哥的 Linux 私房菜》一本书,记录自己的学习过程以及笔记。
第 0 章 计算机概论
计算机
计算机组成单元
计算机硬件五大单元:输入单元,输出单元,控制单元,算术逻辑单元,存储单元,联系学过的计算机组成原理,实际上对应的就是计算机组成原理里的内容。输入、输出、控制器、运算器、存储器(主要指内存)。而控制器运算器构成 CPU,CPU 与存储器称为主机(实际上还包含输入输出的接口),在本书中称为系统单元,而与此相对的是外围设备(输入输出外存)。
CPU 种类
根据微指令集的划分
- 精简指令集 Reduced Instruction Set Computer RISC
- 这种 CPU 设计中,微指令集较为精简,每个指令的执行时间都很短,完成的操作也很单纯,指令的执行性能较佳,但要做复杂的事情就要多条来完成。常见:SPARC 系列、Power Architecture 系列、ARM 系列。
- 应用方面,比如索尼的 PS3 应用的是 PowerPC 架构的 Cell 处理器,ARM 更是常见
- 复杂指令集 Complex Instruction Set Computer CISC
- 每个小指令可以执行一些低阶的硬件操作,指令数目多、复杂、长度并不相同,因为复杂所以耗时长一些,但个别指令可以处理的工作较为丰富。常见:AMD、Intel、VIA 等 x86 架构的 CPU。
- 由于 AMD、Intel、VIA 所开发出来的 x86 架构 CPU 被大量用于 PC 机上,个人计算机常被称为 x86 架构计算机。来源就是因为最早的 Intel 开发出来的 CPU 代号为 8086,后来又有 80286,80386,就被称为 x86 了。
- 在 2003 年以前由 Intel 所开发的 x86 架构 CPU 由 8 位升级到 16 位、32 位、后来 AMD 又依次架构修改新一代 CPU 位 64 位,为了区别两者的不同,因此 64 位的个人计算机 CPU 又被称为 x86_64 的架构。
- 不同的 x86 架构 CPU 的区别:整体结构(二层缓存、每次可执行的指令数)、微指令集(针对不同特性发展各异)。
- 多媒体微指令集:MMX,SSE,SSE2,SSE3,SSE4,AMD-3DNow!
- 虚拟化微指令集:Intel-VT,AMD-SVM
- 省电功能:Intel-SpeedStep,AMD-PowerNow!
- 64/32 位兼容技术:AMD-AMD64,Intel-EM64T
个人计算机架构与接口设备
Linux 早期也根据个人计算机的架构发展来的,所以真的需要了解一下。
Intel 主板架构,最重要的是芯片组,芯片组常被分为两个桥接器来控制各组件的通信,分别是:
- 北桥负责连接速度较快的 CPU、内存与显卡组建。
- 南桥负责连接速度较慢的周边接口。
AMD 主板架构,内存直接与 CPU 通信而不通过北桥,AMD 为了加速两者的通信,将内存控制组件集成到 CPU 当中,这样可以加速两者的传输速度。
根据设计不同选择了不同的总线架构。
CPU
主流的都是双核已上架够了,实际上是在一个 CPU 中封装了多个运算内核。
CPU 频率是指 CPU 每秒钟可以进行的工作次数。
由于不同 CPU 微指令集不同,每次频率可以进行的指令数也不同,不能直接以频率论高低,严谨的说目前只能来比较同款 CPU 的速度。
- 外频:CPU 与外部组件进行数据传输/运算时的速度。
- 倍频:CPU 内部用来加速工作性能的一个倍数,相乘才是 CPU 的频率。
一般出厂固定倍频,超频玩家常通过超频外频达到提升 CPU 的频率。
主板上的 BIOS
CMOS 主要功能为记录主板上的重要参数,包括系统时间、CPU 电压与频率、各项设备的 IO 地址与 IRQ,由于这些数据的记录要花费电力,因此主板上面才有电池。
BIOS 为写入到主板某一块山村或 EEPROM 的程序,它可以在开机的时候执行,以加载 CMOS 当中的参数,并尝试调用存储设备中的开机程序,进一步进入到操作系统当中。
软件程序运行
“我们知道没有插电的计算机是一堆废铁,那么插了电的计算机是什么?”
“一堆会电人的废铁。”
计算机需要软件:系统软件+应用软件。
为了要克服硬件方面总是需要重复编写句柄的问题,所以就产生了操作系统(Operating System,OS),事实上,OS 伴随计算机发展一直都存在,从提高 CPU 运算速率到资源管理到方便用户使用,一直是计算机必备的软件。
操作系统
操作系统内核(Kernel)
Kernel 主要在于管控硬件与提供相关的能力(如网络功能),避免用户直接操作,内核在内存中放置的区块是受保护的,并且开机后就一直常驻在内存当中
系统调用(System Call)
遵循内核的规定,从参考硬件变成了参考内核功能。操作软件通常会提供一整组开发接口(API)给工程师开发软件,这就是系统调用层。
- 一些点
- 操作系统内核直接参考硬件规格写成
- 操作系统只是在管理
- 应用程序都是参考对应的操作系统开发接口
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!