1.1操作系统的概念
1.1.1操作系统的地位
1.软件又分成系统软件和应用软件。
2.操作系统是与计算机硬件关系最为密切的一个系统软件,是对硬件部分的第一次扩充。
3.虚拟机层次:
1.1.2操作系统的作用
1.管理系统中的各种资源(软件,硬件,人件)
2.为用户提供友好的界面(良好的服务)
1.1.3操作系统的定义
操作系统是位于硬件层之上、所有其他系统软件层之下的一个系统软件,通过它管理系统中的各种软件和硬件资源,使它们能被充分利用,方便用户使用计算机系统。(定义=位置+作用)
1.2操作系统的历史
1.2.1操作系统的产生
1.手动操作阶段(20世纪40年代)
2.批处理阶段(20世纪50年代)
3.执行系统阶段(20世纪60年代初期)
1.2.2操作系统的完善
1.多道批处理系统(20世纪60年代初期)追求效率
2.分时系统(20世纪60年代初期和中期)交互
3.实时处理系统(20世纪60年代中期)
4.通用操作系统(20世纪60年代后期)
1.2.3操作系统的发展
1.网络操作系统
2.分布式操作系统
3.多处理器操作系统
4.单用户操作系统
5.面向对象操作系统
6.嵌入式操作系统
7.智能卡操作系统
1.3操作系统的特性
1.程序并发性
2.资源共享性
3.异步性(多个程序以不可预知的速度向前推进)
4.虚拟性(内存+外存 => 虚存)(独占设备+共享设备=> 虚拟设备)
(并发:在有一个或者多个CPU的系统上同时执行多个程序
并行:在有多个CPU的系统上同时执行多个程序)
1.4操作系统的分类
1.4.1多道批处理操作系统(batch processing OS)
1.用户离线(脱机offline)使用电脑,倾向于提升系统效率
2.作业(Job)=程序+数据+作业说明书(用JCL编写,代替用户进行交互)
3.结果=程序运行结果+记账信息
4.特性:(多道和成批是提高效率的最有效途径)
多道
成批
![](https://i-blog.csdnimg.cn/blog_migrate/81cb227809bc6c5687ffad7e9366410a.png)
1.4.2分时操作系统(time-sharing OS)
(分时系统一定是多道系统)
1.特性:
多路性:一个主机与多个终端相连
交互性:以对话的方式为用户服务
独占性:每个终端用户仿佛拥有一台虚拟机
2.典型系统:
1957年贝尔实验室开发BYSYS早期分时操作系统
Multics (MIT1965), CP-40/CMS,CTSS(IBM1964)
UNIX, Linux, z/OS, Open Solaris
Windows, iOS, Android
1.4.3实时操作系统(real time OS)
所谓实时,是指系统能对外部请求做出及时响应
1.基本特性:
及时性
可靠性(冗余设计可提高可靠性)
![](https://i-blog.csdnimg.cn/blog_migrate/1d9944d11b87313bd81762760c675d5d.png)
1.4.4通用操作系统(multi-purpose OS)
1.同时具有分时、实时、批处理功能(万能系统不存在★)
2.目标
提高处理能力
扩展应用领域
3.常见模式
分时(前台)+批处理(后台)(eg. DPS/8上的GCOS-8)
实时(前台)+批处理(后台)
1.4.5单用户操作系统(single user OS)
台式机,笔记本,手机,平板电脑…….
1.4.6网络操作系统(network OS)
1.建立在宿主操作系统之上,提供网络通讯、网络资源共享、网络服务的软件包
2.目的:
相互通讯
资源共享(信息、设备)
提供网络服务
1.4.7分布式操作系统(distributed OS)
1.第一类:紧耦合 (tightly coupled)
建立在多处理器(多CPU)操作系统之上
有公共内存
2.第二类:松散耦合:(loosely coupled)
是网络操作系统的更高形式(多host形式)
无公共内存,无公共时钟
3.特征:
统一的操作系统
资源的进一步共享(内存,CPU)
可靠性
透明性
4.目标:进一步共享资源,使负载均衡,计算加速
CPU
内存
5.途径:迁移(migration)
作业迁移(数据迁移+任务迁移)
进程迁移(线程一般随同进程迁移)
1.4.8多处理器操作系统(multi-processor OS)
有效管理和使用多个CPU的操作系统
含有多个主动体(CPUs)
例子:UNIX,Linux,Windows
1.4.9嵌入式操作系统(embedded OS)
嵌入在掌上数码设备、通讯设备、车载系统、信息家电等非计算机类设施上的操作系统,Embedded OS,EOS
1.4.10多媒体操作系统
具有一般操作系统的功能,同时具有多媒体底层扩充模块,支持多媒体信息的采集、编辑、播放和传输
1.4.11智能卡操作系统(smart-card OS)
1.智能卡
CPU芯片
ROM
2.面向Java的智能卡
JVM解释程序 下
载Java applet并执行
3.Smart Card OS
支持多个applet并发执行
必要的资源管理
1.5操作系统的硬件环境
1.5.1定时装置
1.绝对时钟:指示实际时间,不发生中断
可由系统管理员修改,一般用户使用
系统需要定期进行对时
2.间隔时钟:类似于闹钟,定时发生中断,一般间隔单位为“毫秒”ms
间隔时钟是实现多道程序的基础—保证操作系统获得控制权
其它中断也进入操作系统,但是否发生,何时发生没有保障
1.5.2堆与栈
1.系统栈(system stack),也称为核心栈,两个作用
保存中断现场
保存子程序转移返回点、参数、局部变量、返回值
2.数量
每个进程一个系统栈
每个进程一个用户栈
3.位置
系统栈逻辑上属于操作系统空间
堆和用户栈属于用户空间
(程序切换的同时伴随着堆、栈的切换★)
1.5.3寄存器
是CPU内部用来暂时存放数据和运算结果的小型存储区域
1.5.4特权指令与非特权指令
1.特权指令(privileged instruction),只有在管态下才能执行的指令(影响系统状态),包括:关中断,置程序状态字,停机, I/O,…….
2.非特权指令(non-privileged instruction)所有程序可用(不影响系统状态),包括:数据传送,四则运算,……
(特权指令一般只有操作系统才能执行)
1.5.5处理器状态及状态转换
1.处理器状态
系统态(system mode),管态(supervisor mode) ,核态(kernel mode),操作系统运行时所处的状态
用户态(user mode),目态(object mode) ,常态(normal mode),一般用户程序运行时所处的状态
2.状态转换
管态=>目态(置程序状态字,特权指令)
目态=>管态(中断,陷阱)
1.5.6地址映射机构
逻辑地址=>物理地址
逻辑地址(虚地址):程序内产生的地址
物理地址(实地址):物理存储器地址
1.5.7存储保护设施
1.防止应用程序
侵犯操作系统的空间
侵犯其它应用程序的空间
2.地址检查
越界检查—只去该去的地方
越权检查(对共享区域)—只做该做的事
1.5.8中断装置
1.发现并响应中断的硬件机构
识别中断,响应优先级高者
当前寄存器(PSW,PC)=>系统栈
中断向量(PSW’,PC’)=>寄存器
1.5.9通道与DMA控制器
1.通道(channel):专门负责I/O操作的处理器
2.DMA(Direct Memory Access):完成数据在内存与块型设备之间的传输
1.5.10I/O保护
定义所有I/O指令为特权指令,应用程序申请,操作系统执行
1.6操作系统的界面形式
1.交互终端命令(command language)是分时操作系统具有的界面形式
2.图形用户界面(GUI - Graphic User Interface),和前者比起来
3.作业控制语言JCB(Job Control Language)是批处理操作系统具有的界面形式
4.系统调用(system call)也称应用程序接口API(Application Program Interface)是程序级别上与操作系统交互的方式
5.触屏用户界面
1.7操作系统的运行机理
1.中断是程序切换的必要条件
2.P1不能将CPU的使用权直接交给P2 ,只能通过中断先交给OS
1.8研究操作系统的几种观点
1.进程观点
2.资源管理观点:操作系统是资源管理程序
3.虚拟机观点:操作系统是一个虚拟机
4.人工智能的观点
1.9系统举例
1.Linux操作系统
特点:
源代码开放,免费★
系统稳定可靠
速度快,效率高
内核模块化好,允许第三方配置文件系统及设备管理程序
功能完善
具有网络支持优势
标准化好
2.Windows操作系统