计算机操作系统(复试)
操作系统的功能
-
作为用户与计算机硬件系统之间的接口。用户可通过命令方式、系统调用方式、图标-窗口方式使用OS。
系统调用:用户通过系统调用这个接口使用系统的资源。
-
作为计算机系统资源的管理者。
处理机管理:进程控制、进程同步、进程通信、作业/进程调度 存储器管理:内存分配、内存保护、地址映射、内存扩充 设备管理:缓冲管理、设备分配、设备处理 文件管理:文件存储空间管理、目录管理、文件读写的管理和保护
-
实现对计算机资源的抽象(扩充机器/虚机器)。
操作系统的特性
-
并发:提高系统资源利用率,增加系统的吞吐量。
并发:两个/多个事件在同一时间间隔内发生。 并行:两个/多个事件在同一时刻发生。 程序顺序执行的特点:顺序性、封闭性、可再现性。 程序并发执行的特点:间断性、失去封闭性、不可再现性。
-
共享:系统中的资源可供内存多个并发执行的进程共同使用。(资源共享/复用)。
互斥共享:某些资源在一段时间内只允许一个进程访问(打印机)。 同时访问:某些资源在一段时间允许多个进程同时访问(宏观上)。
-
虚拟:时分/空分复用。
-
异步:进程以人们不可预知的速度向前推进。
进程、线程
进程引入:为了能使程序并发执行,并且可对并发执行的程序加以描述和控制。
进程控制块(PCB):控制和管理进程。作为独立允许的基本单位的标志。
进程实体 = 程序段+相关的数据段+PCB
进程是动态的,程序是静态的。
线程引入:为了减少在并发执行时所付出的时空开销,使OS有更好的并发性。
1. 进程是程序的一次执行,一个进程可有多个线程。
2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
3. 进程是一个可拥有资源的基本单位,线程是调度和分派的基本单位。
进程的基本状态:就绪、执行、阻塞、创建、终止。
引起创建进程的事件:用户登录、作业调度、提供服务、应用请求。
引起进程终止的事件:正常结束、异常结束、外界干预。
操作系统的内核
OS划分为多个层次,OS内核在紧靠硬件的软件层次中,常驻内存中。
处理机执行状态:
系统态(管态/内核态):具有较高的特权。能执行一切指令。
用户态(目态):具有较低特权,执行规定的指令。
支撑功能:中断处理、时钟管理、原语操作。
资源管理功能:进程、存储器、设备管理。
进程同步
进程同步机制:对多个相关进程在执行次序上进行协调,使并发执行的进程之间能按一定规则共享资源,并相互合作。
间接相互制约关系(进程间互斥):对临界资源互斥访问(打印机)。
直接相互制约关系(进程间同步):为了完成某任务,进程间相互合作。
同步机制的规则: 空闲让进、忙则等待、有限等待、让权等待。
进程互斥硬件实现:关中断、TestandSet指令、swap指令。
信号量机制:整型信号量、记录型信号量、AND型信号量。
进程同步问题:生产者-消费者问题、哲学家问题、读者-写者问题。
处理机调度
高级调度(作业调度):调度对象是作业,根据算法将外存的作业调入内存,为其分配资源。(创建->就绪)
中级调度(内存调度):将暂时不能运行的进程调至外存等待。(挂起->就绪)
低级调度(进程调度):调度对象是进程,根据算法,决定就绪队列的哪个进程获得处理机(就绪->运行)
作业调度算法:先来先服务(FCFS)、短作业优先(SJF)、优先级调度(PSA,等待时间越长,优先级越高)、高响应比优先调度(HRRN)。
进程调度算法(抢占式、非抢占式):轮转调度(RR)、优先级调度、多队列调度、多级反馈队列调度、基于公平原则的调度。
实时调度算法(硬实时、软实时):最早截止时间优先(EDF)、最低松弛度优先(LLF)、优先级倒置。
死锁
定义:如果一组进程的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件。
必要条件:互斥条件、请求和保持条件、不可抢占条件、循环等待条件。
处理方法:预防死锁、避免死锁(银行家算法)、检测死锁、解除死锁。
饥饿:等待时间给进程推进和响应带来了明显影响。
存储器
结构:CPU寄存器(寄存器)->主存(高速缓存cache->主存储器->磁盘缓存)->辅存(固定磁盘->可移动存储介质)
主存储器(内存/可执行存储器):用于保存进程运行时的程序和数据。
寄存器:访问速度最快,完全能与CPU协调工作,容量较小。
高速缓存:介于寄存器和存储器之间,主要用于备份主存中较常用的数据。
磁盘缓存:主要用于暂时存放频繁使用的一部分磁盘数据和信息。
用户程序运行:编译->链接->装入(内存)
装入方式:绝对装入、可重定位装入、动态运行时的装入。
链接方式:静态链接、装入时动态链接、运行时动态链接。
存储器分配方式
连续分配存储管理方式:单一连续分配、固定分区分配、动态分区分配、动态可重定位分区分配。
紧凑:将多个分散的小分区拼接成一个大分区。
分页存储管理方式:分页存储管理、分段存储管理、段页式存储管理。
虚拟存储器
常规存储器特征:
一次性:作业必须一次性全部装入内存后才能运行
驻留性:作业装入内存后,整个作业都一直驻留在内存,其中任何部分都不会被换出,直到作业运行结束
局部性原理:
时间局限性:程序中的某条指令执行/某数据被访问,不久后可能再次执行/被访问(循环操作)
空间局限性:程序访问了某个存储单元,不久后其附近的存储单元也将被访问(顺序执行)
定义:具有请求调入和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
特征:多次性、对换性、虚拟性。
页面置换算法:最佳置换算法、先进先出置换、最近最久未使用、最少使用置换算法。
抖动
每个进程的大部分时间都用于页面的换进/出,导致处理机的利用率急剧下降并趋于0的情况。
原因:系统中运行的进程太多,分配给进程的物理块太少,不能满足正常运行的基本要求,导致频繁出现缺页,必须请求系统将缺页调入内存。
工作集:某段时间间隔,进程实际要访问页面的集合。
I/O系统
结构:硬件->中断处理程序->设备驱动程序->设备独立性软件->用户层软件
对I/O设备的控制:采用轮询的可编程I/O方式、采用中断的可编程I/O方式、直接存储器访问方式(DMA)、I/O通道。
中断
中断(外中断):CPU对I/O设备发来的中断信号的一种响应。
陷入(内中断):由CPU内部事件引起的中断。
假脱机(Spooling)系统
假脱机技术:将一台物理I/O设备虚拟为多台逻辑I/O设备。
引入:为缓和CPU的高速性与I/O设备低速性的矛盾。
组成:输入、输出井,输入、输出缓冲区,输入、输出进程,井管理程序。
磁盘调度算法
先来先服务(FCFS):根据进程请求访问磁盘的先后次序进行调度。
最短寻道时间优先(SSTF):访问与当前磁头所在磁道最近的磁道。
扫描(SCAN):按当前移动方向,访问与当前磁头所在磁道最近的磁道,访问完后反向访问,也称电梯调度算法。100-150-160-184-90-58-55-39-38-18
循环扫描(CSCAN):100-150-160–184-18-38-39-55-58-90
NStepSCAN算法:将磁盘请求队列分成若干长度为N的子队列,磁盘调度按FCFS处理这些子队列,每个队列又是按SCAN处理。