补充操作系统发展历史.

Signed-off-by: ithink.chan <chenyang@autoai.com>
This commit is contained in:
ithink.chan 2020-01-02 14:39:14 +08:00
parent 8db71e22a5
commit 68e790c40b
1 changed files with 14 additions and 4 deletions

View File

@ -8,14 +8,24 @@
这段话对于已经了解操作系统的人来说还是说得很精准的,但是对于刚刚学写操作系统的人就有种云里雾里的感觉。为什么操作系统是支撑应用程序的系统软件和计算机运行的基石,又是怎样监管计算机硬件资源的?了解操作系统的发展历史,我们就会知道它是为何诞生,又是怎样逐步发展的,这都将有助于回答以上问题。 这段话对于已经了解操作系统的人来说还是说得很精准的,但是对于刚刚学写操作系统的人就有种云里雾里的感觉。为什么操作系统是支撑应用程序的系统软件和计算机运行的基石,又是怎样监管计算机硬件资源的?了解操作系统的发展历史,我们就会知道它是为何诞生,又是怎样逐步发展的,这都将有助于回答以上问题。
## 5.1.1 操作系统的发展历史 ## 5.1.1 操作系统简历
## 5.1.2 操作系统的分类 在现代电子计算机诞生之初是没有操作系统的,计算机操作人员采用手工方式操作计算机。那时候计算机采用打孔纸带或卡片进行输入然后进行计算和输出,当操作员操作计算机时他会独占计算机的全部资源。当时这样使用计算机并没有出现什么严重的问题,但是当计算机速度逐渐提高后,矛盾开始出现,人工操作速度显然跟不上机器的运转速度。为了提高效率,必然需要一种新的系统操作方式,批处理系统由此诞生。
批处理系统的基本原理非常简单,就是将以前计算机操作员提交一个作业就处理一个作业的方式转变为一次提交多个作业,然后由计算机统一处理并输出,因此极大的提高了工作效率。
显然,当计算机能够运行的更快的时候,批处理系统也就无法再跟上历史步伐。例如当批处理程序中的程序 A 需要获取键盘输入内容而处于等待状态,而另一程序 B 不需要这样的等待,的情况出现时,批处理程序会让一直等待 A 程序执行完再去调度 B 程序。如果有办法在 A 等待用户输入的空档,充分利用系统资源将 B 程序调度起来去执行的话,整个系统的效率会更高,由此人们提出了多任务系统。多任务系统会在一个程序执行时,同时运行另外的程序;当一个程序任务在等待资源(如等待用户输入或等待磁盘访问结果)时,其他程序任务则可以更加充分的利用系统资源。
仅仅有多任务是不充分的,如果能允许多个计算机操作员同时访问多任务系统,那才能更大发挥出多任务系统的优势。如今,多用户多任务系统已经成了计算机操作系统的基本配置。
计算机操作系统发展过程中除了要解决效率问题外,还要解决安全问题。在最初的系统当中,每个任务都可以直接访问硬件资源,这显然不够安全,一个应用程序错误的操作了硬件或软件资源,会造成资源不可用。为了对这些资源进行保护,提出了系统内核概念。系统资源运行在系统内核之中,而普通程序运行在用户态,由硬件系统来实现对系统内核的保护。从此操作系统分成了用户态和内核态两种状态,系统内核程序也笼罩了一层神秘面纱。
## 5.1.2 Linux 操作系统和 Windows 操作系统
## 5.1.3 操作系统内核 ## 5.1.3 操作系统内核
## 5.1.4 Linux 操作系统 ## 5.1.4 实时操作系统与非实时操作系统
## 5.1.5 FreeRTOS 嵌入式操作系统 ## 5.1.5 FreeRTOS 操作系统
## 练习 ## 练习