兰海泽 2019-12-21
(1) 内存分配:静态分配、动态分配
(2) 内存保护
(3) 地址映射: 需配合硬件完成。其结果为逻辑地址映射为物理地址。
逻辑地址从哪来:IR寄存器->译码->取操作数
(4) 内存扩充:虚拟存储技术。
包括进程控制、进程同步、进程通信、进程调度
设备管理应有以下功能:
(1) 缓冲管理:管理各种缓冲区。
(2) 设备分配:分配I/O所需的设备
(3) 设备处理:由设备驱动实现CPU与设备控制器间的通信。
(4) 设备独立性与虚拟设备
主要解决:按名访问、文件存储的功能。
程序的顺序执行时具有以下特点:顺序性、封闭性、可再现性。
程序的并发执行具有如下特点: 间断性、失去封闭性、不可再现性
不可再现性产生的原因:CPU交替执行指令,产生了不同的指令执行序列,导致结果不同。
? 进程时由正文段、用户数据段以及系统数据段共同组陈的一个执行环境。
程序的执行过程实际上是一个执行环境的总和。
进程的特征:1) 并发性:多个进程实体同存于内存中
? 2) 动态性:进程时进程实体的执行过程
? 3) 独立性:在没有引入线程的操作系统中,进程是独立 运行和资源调度的基本单位。
? 4) 异步性:进程以不可预知的速度向前推进,按异步方式运行。
? 5) 结构特征: 进程实体包括用户正文段、系统数据段和用户数据段。
进程与程序的比较:
区别:1)程序是静态的、进程是动态的。
? 2)程序是永久的,进程是暂时存在的。
? 3)进程与程序存在实体不同。程序是指令的集合,而进程包含了用户正文段、系统数据段、用户数据 段的实体。
联系: 进程是程序的一个执行,总是对应至少一个特定程序,而一个程序可对应多个进程。
操作系统内核是计算机硬件的第一次扩充。
进程三种状态:就绪状态、执行状态、阻塞状态。
进程进程间三个基本状态之间的转换关系
什么是中断?
中断时改变处理器执行顺序的一种事件。
为什么引入中断?
引入中断后,CPU可以与其他设备并行工作,能够有效提高CPU的利用率,改善系统性能,支持系统的异步性。
中断的类型
分为:同步中断(内部中断或异常)、异步中断(外部中断)。内部中断:一条指令终止执行后CPU才会发出中断。异步中断:其他硬件设备按照CPU时钟信号随机产生。
关中断指令:由内核或基于硬件的软件执行。
对于可屏蔽中断,开中断是响应中断的前提。
响应中断的时机:对于外部中断,CPU每执行完一条指令都会检测是不是有外部中断信号到来,若有,则转中断处理。
检测到有中断信号,转中断处理的过程:
1)先保护断点,将当前要执行的下一条指令的地址保存到内存中,以便中断返回时能把这个地址恢复到PC中,使得,被中断的程序从断电出开始继续执行。
2)系统关闭中断,转中断处理程序,在中断处理程序中完成保护现场的工作,即把相关硬件上下文信息保存到内存中。
3)保护完现场,根据中断向量到中断向量表中(Linux中是到中断描述符表)找到与中断处理子例程入口地址的相关信息,根据这些信息找到中断处理子例程的入口地址,并执行中断处理子例程,完成本次中断处理的特定处理工作。
4)恢复现场,开中断,CPU返回断电处继续执行被中断程序 。
中断向量:中断向量是对不同中断源到来的信号编号。不可屏蔽中断的向量和异常的中断向量是固定的,而可屏蔽中断的向量可通过中断控制器的编程来实现。
中断描述符表(IDT):一个系统表,每个中断或异常斗鱼向量联系,每个向量在表中都有唯一对应的表项,其中存有与中断或异常处理子程序入口地址的相关信息。OS初始化时,由OS执行汇编指令Idit加载进内存。
中断处理子程序的入口地址相关信息在内存中的地址 = idtr中的地址 + 8 * 中断向量?
操作系统内核可以通过时间机制防止一个程序垄断CPU或者其他资源。
计算机系统中的时钟:
RTC时钟:又叫CMOS时钟。
OS时钟:产生于PC机主板上的定时/记数芯片。
可编程间隔定时器PIT:PIT按照一定的频率产生时钟中断,以告知内核又一个时间间隔过去了。
时钟滴答:OS时钟由可编程定时计数器输出脉冲触发中断而产生的,输出的脉冲中心叫做一个时钟滴答。
时钟中断间隔高:有些需要精确计时的应用无法正确运行
时钟中断间隔低:OS占用CPU高,吞吐量变低
因此,时钟中断间隔由系统性能决定。
什么是系统调用?
系统调用是核心程序与用户程序之间的接口,是操作系统内核中预先定义好的模块。
系统调用与一般函数调用的区别:
1) 系统调用运行在系统态,一般函数运行在用户态。
2)系统调用与一般函数调用的过程不同。当系统调用执行时,当前进程被中断,由系统寻找相应的系统调用子程序,并在核心态下执行,执行结果返回进程。
3)系统调用要进行中断处理,比一般函数调用多了一些系统开销。
用户态执行:用户空间指的是用户进程所处的地址空间。一个用户进程不能访问其他进程的用户空间。只有核心程序所启动的进程才能访问其他用户空间。当一个进程在用户空间执行时,称该进程在用户态执行。
系统态执行:系统核心空间指的是含有一切系统核心代码的地址空间,当进程处于具有执行系统核心代码的权力状态时,称该进程在系统态执行。
系统调用的过程:
1.保存系统调用号。
2.执行中断指令,陷入内核态。
3.根据系统调用号从系统调用表中找到系统调用实现历程的实现地址。
4.执行系统调用实现历程。
5.返回用户态。
系统调用的优点:
1.使编程更容易,用户不用具体了解相应硬件设备。
2.极大提高了系统安全性。