王道考研操作系统笔记
操作系统的概念
操作系统的功能:
1.作为系统资源的管理者
1~4:文件管理,存储器管理(程序要运行需要先把这个程序放到内存里,CPU才能执行),处理器CPU管理,设备管理
2.作为用户和计算机硬件之间的接口
程序接口=系统调用
图形用户界面(windows的图标,窗口。来代替指令)
3.作为最接近硬件的层次
没有软件支持的计算机称为裸机。覆盖了软件的机器称为扩充机器/虚拟机
操作系统的四个特征:并发,共享,虚拟,异步。(并发,共享是最基本特征)
并发和并行 单核CPU只能并发。N核CPU可以N个并行的基础上再并发
互斥共享和同时共享:
并发性和共享性:失去并发性,共享性无意义;失去共享性,并发性无法实现
虚拟:第三章讲
没有并发性,就谈不上虚拟性
异步:
系统有了并发性,才可能导致异步性
操作系统的发展
手工操作阶段(无操作系统):
用户独占全机:一个用户的程序执行完之后下一个用户才能使用计算机
批处理阶段
单道批处理系统: 引入脱机技术
缓解了人机速度矛盾,仍然只能串行(用户独占)。CPU大量时间在等待IO
多道批处理系统:操作系统诞生
没有人机交互:批处理中有多用户的多个任务,只有等全部任务完成之后用户才能对自己的任务进行操作
分时操作系统
实时操作系统
操作系统的运行机制
判断CPU是否能执行特权指令?
操作系统的内核:
原子性:要么不执行,要么一气呵成不可中断
由对内核功能的划分引出操作系统体系结构
操作系统的体系结构:
中断和异常
另一种分类方式:
外中断的处理过程
系统调用(核心状态下完成)
程序接口是由一系列系统调用组成的
为什么要有系统调用?
对于内存、IO操作等资源,程序如果各自控制会导致混乱,应当通过系统调用让操作系统统一管理
系统调用和库函数:
应用程序可能直接系统调用,也可能调用了一些高级语言的库函数。而这些库函数中,可能使用了系统调用。即:系统调用比库函数更底层;操作系统对裸机硬件的一些操作进行封装(上面举的木匠的例子),而库函数会对操作系统提供的系统调用进行进一步的封装