目前大部分电脑是根据冯诺依曼结构来设计,冯诺依曼结构的灵魂就是存储程序这个概念。将程序像数据一样存储到计算机内部存储器中,程序存入存储器后,计算机便可自动地从一条指令转到执行另一条指令。这个过程看起来蛮简单的,但是实现起来并没有看起来的那么容易。
常见的存储器有RAM、ROM、硬盘等,各自的价格以及读取速度不等,人们为了在有限的价格预算中得到最优性能,将这些不同性能的存储器组合一起,构成计算机的存储体系。
上图是简单的存储结构模型,当用户将程序写入内存中,再保存到外存时,往往很难知道程序存储的方式(连续存储or分散存储)以及存储的位置,启动程序时也很难快速找到程序存储的位置,将其调用。这时候就需要一个软件来负责资源的调用,这个软件就是操作系统。
回顾一下,一个计算机系统可以分为:
- 软件
- 系统软件
- 应用软件,如工具软件、多媒体等
- 硬件以及固件
操作系统就属于系统软件,是配置在计算机硬件上的第一层软件,充当用户与计算机硬件系统之间的接口,是计算机软硬件资源的管理者。没有配置操作系统的计算机我们称为裸机,裸机的使用门槛比较高,需要掌握的知识较多。
在课本上,操作系统的定义为:
操作系统是直接控制和管理计算机硬件、软件资源的最基本的系统软件,用以方便用户充分、有效的利用这些资源并增强整个计算机的处理能力。
从上述可以总结出四个关键点:
- 系统软件
- 程序模块集合
- 资源管理
- 用户接口功能
人们设计操作系统有四个目标:
- 方便性 ─ 一用户的观点
提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别。 - 有效性 – 系统管理人员的观点
使计算机的各类资源在系统的管理下得到更有效的利用,提高系统吞吐量。 - 可扩充性 – 系统开发人员的观点
便于修改和增加功能 - 开放性 – 系统能支持世界标准规范。