1.1操作系统的基本介绍
1.操作系统的定义
定义:(operating system)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是提高资源的利用率和系统的吞吐量,并为用户和应用程序提供一个使用硬件设备的简单的接口。
2.操作系统的作用
- 作为用户和应用程序与计算机硬件系统间的接口
- 作为计算机系统资源的管理者
- 实现了计算机系统资源的抽象
OS在裸机上配置了一层I/O设备软件,实现了OS的第一层抽象;在OS第一层软件再覆盖文件管理软件,实现了对OS的第二层抽象;OS通过配置在计算机硬件上的多层软件,增强了系统的功能,也实现了对计算机硬件操作的多个层次抽象
3.操作系统的目标
- 方便性:使计算机易学、易用
- 有效性:提高了系统资源的利用率;提高了系统的吞吐量
- 可扩充性:方便增添、修改模块和功能
- 开放性:系统能够遵循国际标准,使彼此兼容,方便互连
4.操作系统的特性
1.并发
作用:提高系统资源利用率和吞吐量
并发:两个及以上的事件在同一时间间隔内发生
并行:两个及以上的事件在同一时刻发生
(进程:在系统中能够独立运行且作为系统资源分配的基本单位)
2.共享
A.资源共享/资源复用:系统中的资源可供内存中多个并发执行的进程共同使用
时间:进程在内存中时;地点:内存
B.互斥共享:一段时间内中允许一个进程访问该资源
(临界资源:一段时间内只允许被一个进程访问的资源)
C.同时共享:一段时间内能被多个进程“同时”对该资源进行访问
3.虚拟
定义:把通过某个技术将一个物理实体变为若干个逻辑上对应物的功能
时分复用:提高资源利用率
空分复用:提高储存空间的利用率
4.异步
进用来描述操作系统中进程的不确定性,描述进程不知何时开始何时结束走走停停的不可预知的性质
5.操作系统的功能
1.处理机管理功能
(1)进程控制:用来创建和销毁进程
(2)进程分配:为进程分配资源,提高资源利用路和系统吞吐量
(3)进程同步:协调进程间的对临界资源的同步/互斥访问方式
(4)调度:
A.作业调度:从排队队列中选择作业为其分配所需资源调入内存后创建进程
B.进程调度:从进程的就绪队列中选择进程,为其分配cpu,使其执行
2.存储器管理功能
- 分配回收内存
- 内存保护:防止越界访问
- 内存扩充
- 地址映射
3.设备管理功能
- 设备处理:查看设备状态以及设备工作原理等设备问题
- 设备分配:
- 缓冲管理:为了解决设备间速度不匹配的问题
- 文件管理功能
4.文件读/写管理和保护
- 文件储存空间管理
- 目录管理
- 接口管理功能
A.用户接口:便于用户管理和控制作业的运行
B.程序接口:程序在执行过程中访问系统资源
1.2操作系统的发展历程
1.裸机阶段
人工处理:用户独占全机;CPU等待人工操作
脱机I/O:将数据由外围机依次读入到磁带中,CPU从磁带中读取数据,再讲该数据高速调入内存中,输出时由CPU输出到磁带中,外围机再将磁带中的数据输出,此为脱机I/O模式
联机I/O模式是指在主机的直接控制下进行I/O的方式
2.单道批处理
在脱机I/O模式下,加入了监督程序,对作业进行统一管理
3.多道批处理
为了提高资源利用率和系统的吞吐量
优缺点:A.提高了资源利用率
B.提高了系统吞吐量
C.平均周转时间长
D.无人机交互
4.分时系统
在多道批处理基础上增加了人机交互功能
(人机交互、共享主机)
定义:在一台主机上连接多个配有显示器和键盘的终端所形成的系统,该系统允许多个用户同时通过自己的终端以交互式的方式使用计算机,并共享主机中的资源
5.实时系统
系统能够及时响应外部事件请求并在规定时间内做出对该事件的处理,并控制所有实时任务协调一致的运行
6.微机操作系统
使用者通常为个人,也因此常被称为个人计算机
7.嵌入式系统
(设置在非计算机设备上完成某种特定功能的系统)
定义:为完成某种功能而设计的系统,或是具有附加机制的系统,或是其他部分的计算机硬件和软件的结合体
8.网络操作系统
计算机网络环境下对网络资源进行控制和管理,实现数据通信和对网络资源的共享,为用户提供网络资源接口的一组软件和规程的集合
9.分布式系统
(将系统的各个功能分布在多个计算机节点上,各个结点相互独立工作互不影响,当某一节点发生故障时不影响系统的其他工作)
定义:是基于软件实现的一种多处理机系统,是多个处理机通过通信线路互联而构成的松散耦合系统,系统的控制处理分布在各个处理机上
1.3操作系统的结构
- 简单结构:早期采用的无结构的简单结构,规模小功能少,会造成混乱,不易维护和更新
- 模块化结构:也叫模块-接口结构。由若干个具有一定独立性和大小模块组成,每个模块具有某个特定的功能,每个模块下可以细分多个具有一定功能的模块,各个模块间通过接口交互
- 分层式结构:自底向上的结构,每一层都必须是可靠的,且每一层只能使用低层所提供的功能和服务
- 微内核结构:只包括操作系统最基本功能,大部分功能放置在微内核外的服务器,优点是便于扩展
- 外核结构:内核提供了进程通信等基本功能,而外核负责直接控制硬件设备的未抽象化地址,没有地址映射了,可以直接更加方便的使用硬件资源
1.4操作系统的运行与系统调用
1.中断(包括异常)
(1)中断的分类
异常(内中断):由cpu内部引起的中断,与指令有关
中断
外中断:由cpu外部引起的中断,与硬件有关
A.异常:陷阱(陷入)、故障(错误)、终止
陷阱:陷入指令引发,应用程序故意引发的,为了向操作系统请求服务(用户态->内核态);(系统调用用的就是该种中断)
故障:错误条件引起,可能会被内核程序修复,修复后会将cpu使用权归还于应用程序;
终止:致命错误引起,内核程序无法修复,会直接终止该应用程序
B.外中断:可屏蔽中断、不可屏蔽中断
(2)中断的执行过程
(此图来源:优快云@云边飞象)
2.操作系统的双重工作模式与系统调用
(1)OS内核的功能
A.支撑功能
a.中断处理
b.时钟管理
c.原语操作:一个原语操作要么全做要么全不做
注:
A.原语:又叫基本单位语言,由若干条指令组成的程序段,用来完成某个特定功能,执行过程中不可被中断。
B.计算机进程的控制通常由原语完成
C.原语的四种形式:请求、指示、响应、证实
B.资源管理功能
a.进程管理
b.设备管理
c.存储器管理
(2)双重工作模式
PSW:程序状态寄存器
A.两个模式
内核态(管态/系统态):PSW标志位为‘0’,此时执行的是特权指令
用户态(目态):PSW标志位为‘1’,此时执行的是非特权指令
B.状态转换
内核态->用户态:利用特权指令修改PSW模式位
用户态->内核态:只能由“中断”引起
(3)系统调用
定义:是一种特殊的过程调用,本质上是应用程序请求OS内核完成某一种特定功能而采用的一种特殊的过程调用,提供了用户程序与OS内核的一个接口
(每一个系统调用都是一个能完成特定功能的子程序)
1)与一般过程调用的区别
A.运行在不同的系统状态:调用程序在用户态;被调用程序在内核态
B.状态的转换:由用户态->内核态
C.返回问题:执行过程中会返回问题,在执行完成后返回用户态时可能会因为进程优先级的原因进行进程的切换
D.嵌套调用:与一般的过程调用一样可以进行嵌套调用,不过系统调用会限定嵌套次数
2)系统调用的过程和类型
A.调用过程
a.准备参数:用户程序准备参数
b.触发中断:用户程序触发中断
c.切换到内核态:处理器从用户态转为内核态
d.确定系统调用号:内核确定用户程序的具体系统调用
e.执行系统调用:内核根据具体的系统调用号调用相应的系统调用处理函数
f.返回结果:调用结束后,返回结果给用户程序
g.处理结果:用户程序检查系统的返回值了解具体情况与信息
B.系统调用类型
a.进程控制类系统调用
b.文件操纵类系统调用
c.进程通信类系统调用