第零章 计算机概论
1、个人电脑架构与相关设备元件、相关概念

南桥:负责连接速度较慢的设备接口,如硬盘、USB、网卡等等。
1.1 CPU
- 外频:CPU与外部元件进行数据传输的速度。
- 倍频:CPU内部用来加速工作性能的一个参数。
- 两者相乘才是CPU的频率速度。
- 超频:通常倍频不能改动,因此改动外频,则能够使CPU的频率高于出厂设置。
- intel的turbo技术可以帮助自动超频。
超线程:让单核CPU像拥有两个核心一样:在每个CPU内部将重要地寄存器分为两个集群,让程序分别使用这两群寄存器。这样子的话,有两个程序可以同时竞争CPU的运算单元,而不是通过操作系统的任务切换。
1.2 内存
多通道设计:传统的总线宽度一般是64位。为了加大这个宽度,则可以使用两个内存,就是128位了。启动双通道内存功能时,数据是同步写入两个内存的。
第二层高速缓存:L2必须要与CPU频率相同,因此DRAM不行,要使用静态随机存取内存 SRAM。
CMOS芯片:记录了主板上各元件的参数,通过额外的电源来发挥记录功能。可以通过 BIOS 读取和更新。
BIOS:是一个程序,被写死到主板上一个内存芯片,使用只读存储器 ROM 存储。开机时首先读取。现在BIOS可以更改了,所以现在的BIOS通常时写入闪存之类的。
固件:绑在硬件上的控制软件。(比如磁盘阵列卡,网卡、交换器设备等都有)
1.3 显卡(VGA)
显存:显卡上会有一个内存的容量,这个显存会影响屏幕分辨率和颜色深度。
GPU:早期一些3D的运算是CPU运行的,现在直接在显卡上加了3D加速芯片。
显卡也是一个高速运算的一个元件,因此数据的传输也是越快越好。
1.4 硬盘和存储设备

- 小区块就是扇区,一个同心圆的扇区组成的圆就是磁道,所有盘片的同一个磁道组成柱面。
- 外围的圈会有更多的扇区。
- 通常读写数据从外圈开始往内写,因为都是转一圈,外圈能读写的数量更多。
- 一个扇区512Byte,但是随着容量越来越大,已经有4KB的扇区了。
通常很多小文件的读写会很耗硬盘,因为要转很多圈。SSD没有这个问题。
2、软件程序运行
为了克服硬件方面总要重复编写控制码的问题,于是有了操作系统。
2.1 操作系统
早期要让电脑运行,要会机器语言,并且参考各种硬件功能函数。每次写程序都要改写,因为硬件与软件不一定一样。
操作系统是程序,它的重点在于管理计算机的所有活动和驱动系统中的所有硬件。
比如让CPU可以开始判断逻辑,让内存开始载入数据与程序码、让网卡可以开始传输数据等等。这就是操作系统的核心Kernel。
kernel:主要在于管控计算机的硬件资源和提供相关的功能(如存取硬盘,网络功能,获取CPU资源)
既然硬件是由核心管理,那么想要编写软件就要参考核心了,从原本的参考硬件函数变成了参考核心,还是很麻烦。于是操作系统提供了统一的系统调用接口。

核心只进行电脑系统的资源分配,要有应用程序,使用者才能使用。
- 操作系统的核心层直接参考硬件规格写成,所以同一个操作系统不能再不同的硬件架构下运行。
- 操作系统只是在管理硬件资源,包括CPU,内存,输入输出设备以及文件系统文件。只是让主机Ready,并不能运行其他功能。
- 应用程序的开发是参考的操作系统提供的系统调用接口,所以不同的操作系统上的应用程序也是要重新编写的。
- 系统调用接口:方便程序开发者。
- 程序管理:CPU资源分配,调度机制。
- 内存管理:内存控制机制,虚拟内存,内存交互。
- 文件系统管理:数据输入输出工作,文件格式支持。
- 设备的驱动:管理硬件。(当然驱动程序实际上由硬件厂商提供,他们参考操作系统驱动程序的开发接口进行开发)
第一章 Linux是什么
要达到多工的环境,硬件(主要是CPU)以及操作系统都要具有多任务的特性。
为了让所有的软件(主要是Unix上的软件)都能在Linux上运行,Torvalds 开始参考 POSIX 规范来对linux核心进行编写。
POSIX:可携式操作系统接口,重点在规范核心与应用程序之间的接口。
模块化:将某些功能独立出核心外,在需要的时候才载入核心。免得每次加入新的功能都要重新编译核心,重新装系统。
第二章 主机规划与磁盘分区
本文从计算机硬件架构开始,详细介绍了CPU、内存、显卡和硬盘的工作原理,接着探讨了软件运行和操作系统的角色。重点讨论了操作系统的内核、系统调用接口、程序管理和内存管理。此外,还提到了Linux操作系统与POSIX规范的关系及其模块化设计。最后,预告了主机规划和磁盘分区的内容。

1958

被折叠的 条评论
为什么被折叠?



