一种软件 有操作硬件的特殊权限,可以运行和管理其他程序
是开机第一个启动的程序,其他程序都由操作系统启动。
*早期在打孔纸卡阶段,操作系统被用来自动处理下一个纸卡的程序,便以节省时间,这叫做批处理。
*后期操作系统充当软件与硬件之间的媒介,为了让计算机与外部设备更好的协同工作(比如打印机),程序员可以用标准化机制和输入输出与硬件(I/O)交互。
*再后期,计算机的CPU速度越来越快,处理器经常闲着,等待慢的外部硬件机械设备(比如打印机),所以操作系统的新功能出现,例如Atlas操作系统,不仅像早期的批处理系统一样能够自动的加载程序;还能最大化利用,解决CPU高速,外部设备低速的问题,在单个CPU上运行多个程序,并根据实际情况(外部设备的处理进度)为这几个任务安排优先级。操作系统的这种能力这叫做多任务处理。
*多任务处理的问题,开辟的内存空间是随时的(依据外部进度,CPU处理情况而定),所以可能不连续,但是数据可能要求要一块连续的内存空间进行存储,解决办法是:操作系统对内存进行虚拟化,又叫“虚拟内存”,程序假定内存都是从0开始,而实际物理位置,被操作系统隐藏和抽象了。
*分时操作系统:每个用户只能用一小部分处理器,内存等,避免单个用户过分占用计算机资源。
*操作系统”内核“(操作系统的核心内容):输入/输出处理(与外部硬件设备的连接),多任务处理,内存管理。
操作系统“外核”(一些有用的工具):程序和运行库。
*内核“恐慌”:如果代码(操作系统)有错误,就让机器崩溃。(要重启电脑)