一、操作系统的定位
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括操作系统内核和其他程序。
由上述的宏观图其实我们就知道:操作系统是一款进行软硬件资源管理的软件。
二、设计操作系统的目的
操作系统的设计是层状结构的:
- 操作系统对下进行软硬件资源管理,保证其稳定、高效、良好的工作(手段)
- 操作系统对上要给用户一个稳定、高效、良好的运行环境(目的)
三、操作系统的管理
操作系统想要对底层硬件进行管理实际上不需要与底层硬件直接接触,它也可以通过中间人(驱动程序)进行管理。(就像校园里的校长、辅导员、学生的关系)
而管理的本质是对数据的管理,这样的话操作系统就会对底层硬件进行抽象(如硬件编号、硬件功能、接入时间……),通过对抽象的数据进行管理就可以管理底层硬件了。这也就是管理的本质:先描述再组织
这其实也能解释为什么现在的主流语言都要提供:1.面向对象;2.提供标准库
先描述,再组织
四、操作系统的服务
操作系统在保持自身的安全的同时还要向用户提供方便的操作接口,这就是通过system call实现的,但是由于操作系统的底层时C语言写的,这就导致操作系统的system call就是C语言写的接口,这就导致作用软件的底层都必须与C直接或间接相关(Java的虚拟机,Python的解释器)。
但是系统调用接口还是有些复杂的,需要用户对操作系统有一定的了解,因此封装了用户操作的接口(图形化界面)