文章目录
一、OS的定义
1.资源管理器(resource manager)
2.对硬件机器的扩展(extended machine)
将底层硬件的功能扩展成了更丰富、更方便用户使用的功能。
意思就是一个通用的PC,就能完成各种服务(银行系统、航空服务、网页浏览),这就是扩展。
3.作为用户和计算机硬件之间的接口
- 联机命令接口(交互式指令)
就是在命令行里输入的指令,你输一句操作系统给你个反馈,这就是交互 - 脱机命令接口(批处理指令)
就是将一堆交互式指令集中到一个批处理文件中,在win10中是.bat
,在linux中是.sh
- 程序接口(系统调用)
只能通过应用程序调用,用户不能直接打在命令行,所以是程序接口。
这就是内核态提供给用户态的接口。
在win10里就是.dll
,在linux可以通过syscall()
函数在程序中调用。
二、OS的特征
1.并发性
【并发和并行】
- 并发
宏观上同时发生,微观上交替发生
相关知识:进程调度 - 并行
两个或多个事件在同一时刻同时发生
比如,多核CPU就是并行处理。 - 巧记:并发(同时出发,但不是同时运行),并行是同时运行
【操作系统的并发性】
操作系统内同时存在着多个程序运行。
2.(资源)共享性
【操作系统的共享性】
操作系统中的资源可供内存中多个并发执行的进程共同使用
【方式】
- 互斥共享
一个时间段内只允许一个进程访问该资源。
比如,QQ占用摄像头,微信就不能使用 - 同时共享
- 伪:
像并发一样是分时的,在一个时间段内允许多个进程交替访问,达到一种“同时的”效果。
比如,两个应用程序同时往硬盘中写入资源,就是交替访问着的。 - 真:
比如,同时播放QQ音乐和游戏音乐的扬声器。
- 伪:
3.虚拟性
【操作系统的虚拟性】
把一个物理上的实体变成若干个逻辑上的对应物
【虚拟技术】
- 空分复用技术
比如,虚拟内存技术,就是说内存只有4GB,但运行多个程序的所需内存早超过了4GB。
相关知识:内存调度 - 时分复用技术
比如,虚拟处理器,就是说一个单核CPU却能同时运行多个程序。
相关知识:进程调度
4.异步性
【操作系统的异步性:其实是进程的异步性】
操作系统并发执行多个程序时,对每个进程来说,是断断续续的,这就是进程的异步性。