Linux 操作系统原理 — 操作系统的本质

目录

操作系统的起源

在操作系统尚不存在的年代,人们通过各种按钮来控制计算机,这一过程非常麻烦。于是,有人开发出了仅仅具有加载和运行功能的监控程序(Supervisor),这就是操作系统的原型。

通过监控程序,程序员可以根据需要将各种应用程序加载到内存中运行。虽然仍旧比较麻烦,但现在开发的工作量得到了很大的缓解。
在这里插入图片描述

随着时代的发展,人们在使用监控程序编写程序的过程中发现了很多程序都具有公共的部分。例如:通过键盘进行文字输入,显示器进行数据展示等。如果每编写一个新的应用程序都需要进行相同重复工作的话,那真是太浪费时间了。因此,部分可重用的程序就被追加到了监控程序中。操作系统的原型就是这样诞生的。

在这里插入图片描述

逐渐的,人们又发现有更多的应用程序可以追加到监控程序中,比如:硬件控制程序,编程语言处理器(汇编、编译、解析)以及各种应用程序等,结果就形成了和现在差异不大的操作系统,也就是说,其实操作系统是多个程序的集合体。

在这里插入图片描述

操作系统和高级编程语言使硬件抽象化

通过使用操作系统提供的系统调用,程序员不必直接编写控制硬件的程序,而且,通过使用高级编程语言,有时也无需考虑系统调用的存在,系统调用往往是自动触发的,操作系统和高级编程语言能够使硬件抽象化,并诞生了程序员这一职业。

#include <stdio.h>

void main(){

  // 打开文件
  FILE *fp = fopen("MyFile.txt","w");

  // 写入文件
  fputs("你好", fp);

  // 关闭文件
  fclose(fp);
}

在上面代码中,物理磁盘被操作系统中的文件系统和 C 语言中的函数抽象化了。

在这里插入图片描述

原创文章 564 获赞 1444 访问量 193万+

猜你喜欢

转载自blog.csdn.net/Jmilk/article/details/105893651