一.为何要有操作系统
计算机系统是一个复杂的系统,包括一个或多个处理器,主存,硬盘,鼠标,键盘以及其他各种各样的I/O设备。如果程序员必须掌握该系统的所有细节,将会严重影响程序员的开发效率。为管理这些部件并优化使用,在计算机硬件系统之上,安装了一层系统软件,称之为操作系统(Operating System,简称OS)。操作系统管理这些硬件及各种软件资源,并给用户呈现一个更简明清晰的计算机模型,也更有利于程序员开发软件。
二.操作系统的位置
操作系统位于计算机硬件和应用软件之间,由系统调用和内核组成,其中系统调用运行于用户态,是用户态转换到内核态的工具,内核运行于内核态,管理硬件资源。
三.操作系统的功能
1.为应用程序员提供调用硬件资源的更简洁清晰的模型(系统调用接口),提高了程序员的开发效率。并且给应用程序提供了更良好的操作硬件的环境。
2.当很多应用程序共享同一套硬件资源时,操作系统使得这种共享变得有序化。
四.操作系统的发展
第一代计算机(1940-1955):真空管和穿孔卡片
特点:没有操作系统,所有程序设计都由纯粹的机器语言编写,同一时刻只能有一个程序在内存中被CPU执行,所有程序的执行是串行的。
工作流程:每个程序员预约并轮流使用计算机,在预约的时间(几个小时)内,程序员独享计算机资源。
优点:程序员可自行