一、OS的概念
定义:OS是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,他是计算机系统中最基本的系统软件。

OS在计算机体系的层次结构的位置如下:

二、OS的目标与作用
2.1 操作系统的主要目标(目的)
方便性:通过命令,或鼠标等便可完成所希望的要求(包括网上信息查询)。
有效性:如实现CPU、I/O设备的并行操作、对内外存中存放的信息进行统一管理避免无序和空间的浪费。
可扩充性:允许在不妨碍服务前提下,开发、测试和引进新的系统功能。
开放性
2.2 操作系统的作用
1、作为用户与计算机硬件系统之间的接口
2、作为计算机系统资源的管理者
计算机系统资源:处理机、存储器、I/O设备、文件(数据和程序)
资源管理的目的:负责分配、回收及控制系统的软硬件资源
3、实现了对计算机资源的抽象
三、OS的发展过程
1、人工操作方式阶段

缺点:用户独占全机;CPU等待人工操作
2、单批道处理阶段——引入脱机输入/输出方式

优点:减少CPU空闲时间;提高I/O速度
特点:自动性、顺序性、单道性
3、多批道处理阶段——操作系统开始出现

优点:多程序并发执行,共享计算机资源;资源利用率大幅提升
特点:多道性、无序性(作业的完成顺序与进入内存的顺序无对应关系 )、调度性(经过两次调度:作业调度(进入内存)和进程调度(得到CPU))
4、分时系统阶段

原理:计算机以时间片为单位轮流为各个用户/作业服务
特点:
多路性:宏观上同时有多个用户在运行。
独占性:每个用户一个终端,独立操作,互不干扰
及时性:在很短时间内得到响应,小于2~3秒
交互性:在终端上编辑、运行程序,或其它操作
5、实时系统

应用需求:实时控制、实时信息处理
类型:
1)按任务执行时是否呈现周期性来划分
周期性实时任务。
非周期性实时任务
2)根据对截止时间的要求来划分
硬实时任务:必须在绝对严格的规定时间内完成处理,如导弹控制系统等
软实时任务:能接受偶尔违反时间规定,如12306订票系统
四、OS的基本特征
4.1 并发
1、并发与并行的区别:
并发:指两个or多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
并行:指两个or多个事件在同一时刻发生
2、操作系统的并发性:指计算机系统中同时存在着多个运行着的程序,操作系统与程序并发是一起诞生的
4.2 共享
1、定义:共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
2、两种资源共享方式:
互斥共享方式:一个时间内只允许一个进程访问该资源,只允许一个进程访问的资源称为临界资源或独占资源。举例:qq和微信视频,同一时间段摄像头只能分配给一个进程。
同时共享方式:允许一个时间段内由多个进程“同时”对它们进行访问(同时也是指宏观上的同时,在微观上可能是交替地对该资源进行访问),举例:使用QQ发送文件A,微信发送文件B,两个进程可以“同时”访问硬盘资源
3、共享与并发的关系:互为存在条件
4.3 虚拟
1、定义:虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是用户感受到的
2、虚拟技术
空分复用技术:如虚拟存储器技术
时分复用技术:如虚拟处理器
3、虚拟与并发的关系:只有拥有并发性,才可能导致虚拟性
4.4 异步
1、定义:异步是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。
2、异步与并发的关系:只有拥有并发性,才可能导致异步性
五、OS的主要作用

5.1 作为用户与计算机硬件系统之间的接口
1、提供的功能:命令接口、程序接口(统称为用户接口)、GUI
2、命令接口:运行用户直接使用
联机(交互式)命令接口:用户说一句,系统做一句,如cmd
脱机(批处理)命令接口:用户说一堆,系统做一堆,如c盘中的*.bat文件
3、程序接口:允许用户通过程序间接使用,由一组系统调用组成
注:程序接口 = 系统调用 = 系统调用命令 = 广义指令
4、GUI(图形用户界面):用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数,如Windows、安卓的图形化操作界面
5.2 作为计算机系统资源的管理者
提供的功能:
处理机管理:进程控制、进程同步、进程通信、调度
存储器管理:内存分配、内存保护、地址映射、内存扩充
文件管理:文件存储空间的管理、目录管理、文件的读/写管理和保护
设备管理:缓冲管理、设备分配、设备处理
5.3 作为最接近硬件的层次
1、提供的功能:实现对硬件机器的拓展;扩充机器
2、虚拟机:通常把覆盖了软件的机器称为扩充机器,又称为虚拟机
六、OS的主要功能
处理机管理功能
进程控制、进程同步、进程通信、调度
存储器管理功能
内存分配、内存保护、地址映射、内存扩充
设备管理功能
缓冲管理、设备分配、设备处理
文件管理功能
文件存储空间的管理、目录管理、文件的读/写管理和保护
用户接口
命令接口、程序接口、图形接口