操作系统学习笔记1 | 初识操作系统

优质资源分享学习路线指引(点击解锁)知识定位人群定位
实战微信订餐小程序
进阶级
本课程是 flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统 。
量化交易实战
入门级
手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
本部分主要记录了计算机开机过程中操作系统的工作流程,并以此理解操作系统的代码结构 。
参考资料:
1. 什么是操作系统
操作系统是计算机硬件和应用软件之间的一层软件,方便我们使用硬件(比如显存)、高效地使用硬件(如打开多个终端和窗口):
管理的硬件:
而组成一个操作系统最基本的是前五个 。
学习操作系统可以有很多层次:
大部分人停留在第一层,即使用操作系统的接口 。而计算机专业学生应当能够掌控计算机系统,真正理解操作系统的工作原理 。
2. 计算机工作原理
探讨一个问题 。打开计算机电源后,计算机的开机过程中发生了什么?
这也是实验一的内容 。
要了解这个问题,首先要了解计算机的工作原理 。
计算机是如何工作的?
首先是 图灵机 。之前做过记录:计算机系统3-> 现代计算机基石 | 图灵机理论 -- 博客园 ()
但是这样的图灵机还是太菜啦,一个图灵机只能做特定的一件事(因为控制逻辑是写死了的)
而 通用图灵机 可以看碟下菜,成为大厨 。纸带上对控制器的控制逻辑进行编码,而控制器识别这样的编码,就能够完成我们需要执行的操作 。
通用图灵机的功能就已经很像一个应用程序(程序)了 。
接下来的冯诺依曼 存储程序 思想,将程序存入内存,按照需求将程序载入CPU(上图中的控制器)进行解释执行 。
经典的 “取值执行” 。
这样一个计算机就算搭建完成了,就像是大厨能够按照客人需求选择菜谱进行烹饪 。
3. 开机过程理解
再回到开机过程的理解,计算机的工作归结于 “取指执行”,而所有的程序(包括操作系统),在开机前都放在磁盘上,如何取指执行呢?
以×86 PC 为例,
BIOS,ROM BIOS映射区,是Basic Input的缩写 。意思是计算机的内存里总要有一个基本的输入输出程序,否则内存空白一片,就无法开启冯诺依曼的"取值执行" 。
【操作系统学习笔记1 | 初识操作系统】和保护模式对应,实模式的寻址CS:IP(CS左移4位+IP),这样 CS