1、操作系统概述 1.1 操作系统概念: 操作系统(OS)是管理计算机硬件与软件资源的计算机程序,也是计算机系统的内核与基石。它负责处理和管理计算机系统中的硬件与软件资源,为用户提供一个便捷、高效、安全的操作环境。操作系统是用户与计算机硬件之间的接口,使得用户能够方便地使用计算机的各种功能 。 1.2 操作系统的描述: OS控制和管理计算机系统的硬件和软件资源,有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与用户之间起到接口的作用。它是计算机系统中最基本的系统软件,直接运行在硬件之上,为其他软件提供运行环境和支持 。 1.4 操作系统主要功能: OS作为计算机系统资源的管理者,主要功能是对四类资源进行有效管理:处理机、存储器、I/O设备以及信息(数据和程序) 。相应地,OS主要负责处理机管理、存储器管理、I/O设备管理和文件管理 。 1.5 操作系统的目标: 不断提高计算机系统资源的利用率:通过单道批处理系统到多道批处理系统、分时系统、假脱机系统、虚拟存储器技术以及网络环境下资源共享等方式提高资源利用率 。 方便用户:通过分时系统实现人机交互、图形用户界面(GUI)等方式方便用户使用计算机 。 器件不断更新换代:推动OS功能和性能的增强和提高,并支持更多外部设备 。 计算机体系结构不断发展:产生了新的OS类型,如多处理机OS、网络OS 。 不断提出新的应用需求:产生了实时系统、多媒体功能、安全性功能、嵌入式OS等 。 1.6 操作系统接口形式: 用户接口: 命令方式(如UNIX、DOS命令)、图形/窗口方式(GUI,如Windows、LINUX) 。 程序接口: 系统调用(API) 。 2、进程描述与控制 2.1 进程的概念、程序的概念、进程与程序的关系: 程序: 一组有序指令的集合,存放于某种介质上,本身不具有活动的含义,是静态的 。 进程: 进程是程序的一次执行 。 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 。 进程是具有独立功能的程序在一个数据集上执行的过程,它是系统进行资源分配和调度的一个独立单位 。 在OS中引入“进程”概念是为了使程序可以并发执行,并能对并发执行的程序加以描述和控制 。 进程是由程序段、相关的数据段和进程控制块(PCB)三部分构成的进程实体 。 进程与程序的关系: 进程是程序的一次执行过程,具有动态性、并发性、独立性和异步性;程序是静态的指令集合,不能直接参与并发执行 。程序必须被创建为进程后才能在OS中运行 。 2.2 进程的四个基本特性: 动态性: 进程的实质是程序的执行过程,由创建产生、调度执行、撤销消亡,有生命期 。 并发性: 多个进程共存于内存中,能在一段时间内同时执行。引入进程正是为了实现进程间的并发执行 。 独立性: 进程是一个能够独立运行、独立获得资源、独立接受调度的基本单位 。 异步性: 进程以各自独立的、不可预知的速度向前推进 。 2.3 进程状态及变迁规律: 基本三状态: 就绪(Ready)状态: 进程已分配除CPU外的所有必要资源,只要获得CPU即可立即执行 。 执行(Running)状态: 进程获得CPU后程序正在执行的状态。单处理机系统只有一个进程处于执行状态,多处理机系统可能多个 。 阻塞(Block)状态: 进程因I/O请求、申请缓冲区失败等事件暂时无法继续执行,暂停运行 。 五状态模型(增加创建和终止): 创建(Created)状态: 进程申请PCB、填写信息、分配资源,但所需资源尚未满足或初始化未完成,不能被调度运行 。 终止(Terminated)状态: 进程完成、出现错误、被OS终止或被其他进程终止后进入的状态,不能再执行,但会保留记录供其他进程收集信息 。 变迁规律: 就绪 rightarrow 执行:进程调度分配CPU 。 执行 rightarrow 就绪:时间片用完被剥夺CPU 。 执行 rightarrow 阻塞:因事件发生无法继续执行(如I/O请求、申请临界资源失败) 。 阻塞 rightarrow 就绪:等待的事件完成(如I/O完成) 。 创建 rightarrow 就绪:获得所需资源并完成PCB初始化 。 执行 rightarrow 终止:进程完成或被终止 。 2.4 进程控制块的作用: 作为独立运行基本单位的标志:程序配置PCB后,成为能在多道程序环境下独立运行的合法基本单位,拥有取得OS服务的权利 。系统通过PCB感知进程的存在,PCB是进程存在于系统中的唯一标志 。 实现间断性运行方式:当进程暂停运行时,PCB会保留CPU现场信息,供进程再次调度恢复使用 。 提供进程管理所需要的信息:调度程序根据PCB中的程序和数据起始地址找到相应程序和数据;进程访问文件或I/O设备需借助PCB信息;PCB还包含资源清单 。 提供进程调度所需要的信息:PCB提供进程状态等信息,例如判断是否处于就绪状态以便插入就绪队列,以及优先级信息等 。 2.5 进程与程序、进程与数据的关系: 进程与程序: 进程是程序的执行过程,是动态的;程序是静态的指令集合。一个程序可以对应多个进程(多次执行),一个进程实体包含程序段 。 进程与数据: 进程实体包含相关的数据段,进程运行需要操作数据 。 2.6 临界区 要求:空闲让进、有限等待等概念; 空闲让进: 当没有进程处于临界区时,请求进入临界区的进程应立即进入 。 忙则等待: 当已有进程进入临界区时,其他试图进入的进程必须等待 。 有限等待: 保证请求访问临界资源的进程在有限时间内能进入临界区,避免“死等” 。 让权等待: 当进程不能进入临界区时,应立即释放处理机,以免“忙等” 。 2.7 信号量: 整形信号量: 定义为一个表示资源数目的整型量S,只能通过wait(S)(P操作)和signal(S)(V操作)两个原子操作访问。wait(S)操作描述为:当S<=0时循环等待,然后S减1。signal(S)操作为S加1 。 要求能进行初始值设置; (具体设置问题需要结合应用场景,如互斥信号量初始值为1,同步信号量初始值根据资源数量或缓冲区大小设定) 3、处理机调度与死锁 3.1 进程调度的概念: 进程调度是从就绪队列中选择一个进程,并为其分配处理机,使之投入运行 。 3.2 进程调度的时机:什么情况下,操作系统会进行新进程的调度; 当前进程运行完成 。 当前进程因事件发生而阻塞(如I/O请求、申请临界资源失败) 。 分配给当前进程的时间片用完 。 有更高优先级的进程进入就绪队列(抢占式调度) 。 3.3 进程调度的几个常见算法:先到先服务、短作业优先、优先级调度、时间片调度; 先到先服务 (FCFS): 最简单的调度算法,按作业或进程到达的先后次序进行调度 。优点是实现简单,公平。 短作业优先 (SJF): 以作业的长短(运行时间)来计算优先级,作业越短优先级越高 。优点是能有效降低平均周转时间。 优先级调度: 根据进程的紧迫程度,由外部赋予进程相应的优先级,优先级高的进程优先执行 。 时间片调度 (RR): 在分时系统中常用,将就绪进程按FCFS策略排成队列,每个进程每次运行一个时间片 。优点是公平,响应时间短。 要求能按以上算法进行进度执行顺序推算、等待时间和周转时间计算; (这部分需要具体题目数据才能推算和计算) 3.4 资源分配与死锁概念; 死锁(Deadlock): 如果一组进程中的每个进程都在等待仅由该组进程中的其他进程才能引发的事件发生,那么该组进程是死锁的 。 要求能掌握死锁时,互斥资源个数与进程个数之间的关系; (文档中未明确给出互斥资源个数与进程个数之间关系的具体公式或法则,但提到了死锁的四个必要条件,其中互斥条件是进程对所分配资源进行排他性使用 。) 3.5 进程调度 短作业优先的概念及其特点(缺点); 概念: 详见3.3节SJF调度算法简介 。 特点(缺点): 必须预先知道作业的运行时间,但很难准确估计 。 对长作业非常不利,周转时间明显增长,可能出现饥饿现象 。 无法实现人机交互 。 未考虑作业的紧迫程度,不能保证紧迫性作业及时处理 。 3.6 死锁预防、死锁检测、死锁避免的方法或算法; 死锁预防: 破坏产生死锁的四个必要条件中的任意一个或多个 。 死锁检测: 保存有关资源的请求和分配信息,并嵌入算法检测系统是否已进入死锁状态(如简化资源分配图,死锁定理) 。 死锁避免: 在资源分配之前先判断这次分配是否会导致系统进入不安全状态,如果会则不分配(如银行家算法) 。 银行家算法: 每个新进程进入系统时声明所需资源最大单元数目。当进程请求资源时,系统检查是否有足够资源,若有,则试探性分配并检查系统是否处于安全状态。若安全则分配,否则等待

视频信息