快速指引
快速指引
1. 认识计算机
2. 数据表示方式
3. 计算机上面常用的计算单位
容量单位:
计算机用高低电平来模拟 0/1,使用的最小单位是 位(bit)
1 Byte = 8 bits
即:1 字节 等于 8 位
进位制 | K | M | G | T | P |
---|---|---|---|---|---|
二进位 | 1024 | 1024K | 1024M | 1024G | 1024T |
十进位 | 1000 | 1000K | 1000M | 1000G | 1000T |
速度单位:
CPU
的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一。
由於网络也使用 bit 为单位,因此网络常使用的单位为 Mbps 是 Mbits per second 指每秒多少 Mbit
4. 软件程序运行
电脑系统将软件分为两大类:一类是 系统软件
,另一类是 应用程序
4.1 机器语言程序和编译性程序
4.1.1 机器语言程序
- 需要了解机器语言:因为机器只认识 0 和 1
- 需要了解所有硬件的相关功能函数:针对不同硬件提供的函数去开发调用
- 程序不具有可移植性:每个 CPU 都有指令集,因此针对 A/B 两个电脑 的程序,无法移植运行
- 程序具有专一性:针对硬件编写,开发新功能都要重头再来
因此为了解决重复编写句柄的问题,就诞生了编译器
4.1.2 编译性程序
常见的编译器有C
、C++
、JAVA
等,它们通过一定的语法规则,将高级语言编写的程序,转为机器语言给机器理解
详情谷歌: 编译原理
4.2 操作系统
操作系统也是程序,该程序重点用于 管理电脑所有活动 以及 驱动系统中的所有硬件
4.2.1 内核(Kernel)
让 CPU 计算、内存能加载程序、硬盘可存取、网卡传数据、外置设备运作等,这些功能就需要 内核 来完成(管理硬件的)。
内核管理的操作都很重要,若用户直接和内核打交道,一旦内核被停止、破坏,整个系统就会崩溃。因此 内核程序一启动就会常驻内存,且在内存中的区块会受到保护。
4.2.2 系统调用(System Call)
若系统只有内核的话,用户此时无法操作,此时则需要开发软件让用户使用。开发软件又需要参考内核相关功能,很麻烦,因此操作系统会提供 接口(Application Programming Interface,API) 给程序员使用。这就是 系统调用层 。程序员只要遵循公认的系统调用参数,软件就能在内核上运行。
因此:操作系统 = 内核 + 提供的 API
4.2.3 内核功能
- 系统调用接口(System call)
- 进程管理(Process control)
- 内存管理(Memory management)
- 文件系统(Filesystem management)
- 设备驱动(Device drivers)
4.2.4 驱动
驱动程序应该由 硬件厂商提供,厂商去参考操作系统上驱动程序的 API 开发,并将驱动程序和硬件一起销售给用户
硬件是可持续进步的,那么操作系统要支持未来的显卡,则会提供 API 给厂商参考,厂商去适配后开发适当的驱动程序,提供给用户安装
4.3 应用程序
是指参考操作系统提供的 API 所开发出来的软件,这些软件可以让用户操作,以实现某些功能。
- 如浏览器是给用户浏览网页的
- PS 是给用户处理图像的
- 应用程序与操作系统有关,故程序需要适配不同的主流系统