Operating_System_Chapter-5_Fall_2011

Operating_System_Chapter-5_Fall_2011 - 第5章...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 第5章 处理机调度 5.1 5.2 5.3 5.6 5.7 概述 作业调度 进程调度 实时调度 多处理机系统中的调度 IE310, 1-1, Feb. 18th, 2008, [email protected] Shanghai Jiao Tong University 5 处理机调度 处理机CPU是计算机系统最重要的硬件资源。 操作系统作为系统资源的管理者,其重要目的 就是为了提高系统的处理能力和系统资源的利 用率,尤其是CPU的利用率。 如何有效地对CPU进行管理和调度是操作系统优 先考虑的问题。 系统中CPU的个数总是有限的,而作业或进程的 个数往往多于CPU的个数。 处理机调度就是依据一定的规则或算法,从众 多的进程中选择特定的进程将CPU分配给它们。 IE310, 5-2, [email protected] Shanghai Jiao Tong University 5.1 概述 5.1.1 高级、中级和低级调度 高级调度(High Level Scheduling) 又称作业调度,或宏观调度,或接纳调度,或长程调度 (Long-Term Scheduling)。 决定把外存上处于后备状态的哪些作业调入内存,为它 们创建进程,分配必要的资源,并放入进程的就绪队列。 作业调度须决定: 接纳多少个作业,取决于允许多少个作业同时在内存中运行 接纳哪些作业,取决于所采用的调度算法。 一般出现在批处理系统中,在分时系统中一般不出现。 执行频度较低,通常为几分钟一次。 相当于国家的中长期发展规划,企业发展战略。 IE310, 5-3, [email protected] 5.1 概述(高级、中级和低级调度) Shanghai Jiao Tong University 中级调度(Intermediate-Level Scheduling) 又称交换调度,或中程调度(Medium-Term Scheduling) 。 引入中级调度的主要目的,是为了提高内存利用率和系 统吞吐量,短期调整和平衡系统负荷。 一般出现在分时系统并具有虚拟存储器的系统中,决定 主存储器中容纳哪些进程。 将那些暂时不或者不能运行的进程从物理内存交换至外 存(硬盘)上等待,进程状态成为驻外存就绪或者挂起状 态。 当它们重新又具备运行条件且有空闲内存时,由中级调 度来把它们重新调入内存,并修改其状态为就绪状态, 挂在就绪队列上等待进一步的进程调度。 一个进程在运行期间可能被多次调进调出。 中级调度的频度介于低级调度和高级调度之间,主要受 限于物理内存的紧张程度。 相当于国家年度发展计划,公司年度季度经营计划。 IE310, 5-4, [email protected] 5.1 概述(高级、中级和低级调度) Shanghai Jiao Tong University 低级调度(Low Level Scheduling) 又称进程调度,或微观调度,或短程调度(Short-Term Scheduling)。 决定就绪队列中的哪一个进程应该获得处理机。 执行处理机分配的程序称为分派程序(Dispatcher)。 分派程序执行的频度非常高,典型周期是几十毫秒。 进程调度是操作系统中最基本的调度,在批处理及分时系统中都必 须配置它。 对于多线程系统的内核级线程,低级调度基本上称为内核级线程的 调度,称之为系统全局调度。 用户级线程由线程库进行管理,内核并不感知它们的存在。如果操 作系统支持内核级线程,那么用户级线程最终还是要映射成内核级 线程才能占有处理机;否则,操作系统仅实现进程调度。 用户级线程由线程库进行管理和调度,称之为进程局部调度。 低级调度是操作系统最为核心的部分,其调度策略的优劣直接影响 到整个系统的性能。 相当于国家月度经济调控目标,公司周计划月计划。 IE310, 5-5, [email protected] Shanghai Jiao Tong University 5.1 概述 5.1.2 影响调度性能的因素 面向用户的角度 从面向用户的角度,衡量调度策略的指标主要 有: 周转时间(Turn Round Time) 一个作业被提交给计算机系统至该作业被执行完毕所需的时 间。 主要用在批处理系统之中。 具体由在后备队列中等待、CPU上执行、就绪队列和阻塞队 列中等待、结果输出等待时间等组成。 响应时间 用户向计算机系统发出命令后到计算机把相应的结果返回给 用户的时间。 主要用在分时系统中。 IE310, 5-6, [email protected] 5.1 概述(影响调度性能的因素) Shanghai Jiao Tong University 面向用户的角度 从面向用户的角度,衡量调度策略的指标主要 有(续): 公平性 优先级 不因作业或进程本身的特性而使前述指标过分恶化。 如作业等待很长的时间等。 指可以是关键任务优先完成,以达到更好的指标。 截止时间的保证 指能否确保作业最迟在开始截止时间之前投入运行,能否确 保作业最迟在结束截止时间之前完成运行。 IE310, 5-7, [email protected] 5.1 概述(影响调度性能的因素) Shanghai Jiao Tong University 面向系统的角度 从面向系统的角度,衡量调度策略的指标主要 有: 吞吐量 单位时间内所完成的作业数。 在批处理系统中,它跟作业本身特性和调度算法都有关系。 吞吐量不是平均周转时间的倒数,因为并发执行的作业在时 间上可以重叠。例如,在3小时内完成6个作业,而每个作业 的周转时间是1小时,则吞吐量是2作业/小时;大学本科学 制4年(平均周转时间),吞吐量则很可能却是3000名/年。 示意图 8:00 9:00 10:00 11:00 IE310, 5-8, [email protected] 5.1 概述(影响调度性能的因素) Shanghai Jiao Tong University 面向系统的角度 从面向系统的角度,衡量调度策略的指标 主要有(续): 处理机利用率 处理机利用率越高,处理机的等待时间就越少, 系统性能也就越好。 其它设备的利用率 要提高其它设备的利用率,就要求系统对各种设 备能均衡使用,实现对各类资源的平衡利用。 CPU繁忙的作业和I/O繁忙的作业要进行合理的搭 配。 IE310, 5-9, [email protected] 5.1 概述(影响调度性能的因素) Shanghai Jiao Tong University 调度算法本身的角度 从调度算法本身的角度,衡量调度策略的 指标主要有: 调度算法是否易于实现 调度算法的执行开销 IE310, 5-10, [email protected] Shanghai Jiao Tong University 5.1 概述 5.1.3 调度队列模型 仅有进程调度的调度队列模型 只有进程调度这么一级。 就绪进程一般被按照一定规则组织成队列形式。 新创建的进程同样被按照一定规则添加至就绪 队列。 被调度到CPU运行的进程,其对CPU的连续占用 时间,一般均不能超过一个事先确定好的时间 片长度。 IE310, 5-11, [email protected] Shanghai Jiao Tong University 5.1 概述(调度队列模型) 仅有进程调度的调度队列模型—示意 时间片用完 进程生成 事 件 出 现 进程完成 就 绪 队 列 阻 塞 队 列 CPU 等待事件 IE310, 5-12, [email protected] Shanghai Jiao Tong University 5.1 概述(调度队列模型) 5.1.3 调度队列模型 具有高级和低级调度的调度队列模型 增加作业调度,负责从外存的后备队列中 选择作业调度内存,形成进程。 就绪队列往往实现优先级调度。 设置多个阻塞队列,每个队列对应某一种 阻塞事件。 类似于汽车修理厂的修理等待区、多个修 理车位、油漆晾干区等。 IE310, 5-13, [email protected] Shanghai Jiao Tong University 5.1 概述(调度队列模型) 具有高级和低级调度的调度队列模型—示意 时间片完 作业 调度 后 备 队 列 就 绪 队 列 进程调度 CPU 进程完成 等待事件1 事件1出现 等待事件2 事2出现 … … … … 等待事件n 事件n出现 IE310, 5-14, [email protected] Shanghai Jiao Tong University 5.1 概述(调度队列模型) 5.1.3 调度队列模型 同时具有三级调度的调度队列模型 引入中级调度后,进程的就绪状态可以进一步 分为内存就绪(表示进程在内存中就绪)和外存就 绪(进程在外存中就绪)。 类似地,阻塞状态可以进一步分为内存阻塞和 外存阻塞。 在换出操作的作用下,进程状态可以从内存就 绪转变为外存就绪,从内存阻塞转变为外存阻 塞。 在换入操作的作用下,进程状态又可以从外存 就绪转变为内存就绪。 IE310, 5-15, [email protected] Shanghai Jiao Tong University 5.1 概述(调度队列模型) 同时具有三级调度的调度队列模型—示意 IE310, 5-16, [email protected] Shanghai Jiao Tong University 5.2 作业调度 5.2.1 作业调度功能与性能指标 作业调度的功能 在多道批处理操作系统中,作业是用户要 求计算机系统完成的一项相对独立的工作。 作业调度的功能,是按照某种原则从后备 队列中选取若干作业进入主存,并为作业 作好运行前的准备工作和作业完成后的善 后工作。 作业调度由作业调度程序完成。 IE310, 5-17, [email protected] Shanghai Jiao Tong University 5.2 作业调度(作业调度功能与性能指标) 作业调度的功能 作业调度程序的主要工作,是审查能满足用户 作业的资源要求,以及按照一定的算法选取投 入CPU运行的作业。包括: 记录系统中各个作业的情况; 按照某种调度算法从后备队列中选取作业; 为选中的作业分配内存和外设等资源; 为选中的作业建立相应的进程; 作业结束之后进行善后处理工作。 IE310, 5-18, [email protected] Shanghai Jiao Tong University 5.2 作业调度(作业调度功能与性能指标) 作业调度的功能 作业调度的目标: 对所有作业相对地”公平合理”; 使每个设备有较高的利用率; 每次运行尽可能多的作业,以提高系统的吞 吐量; 尽可能提供较快的响应时间。 IE310, 5-19, [email protected] Shanghai Jiao Tong University 5.2 作业调度 5.2.1 作业调度功能与性能指标 作业调度的性能指标 作业调度的性能指标主要有周转时间、吞 吐量和设备利用率。 作业的周转时间: 如果作业i提交给系统的时刻是ts,完成时刻是 tf,那么,该作业的周转时间为ti: ti=tf-ts 实际上,周转时间也是作业在系统里的等待 时间与运行时间之和。 IE310, 5-20, [email protected] Shanghai Jiao Tong University 5.2 作业调度(作业调度功能与性能指标) 作业调度的性能指标 在实际应用中,主要使用平均周转时间T和平均 带权周转时间W来衡量系统的调度性能。 平均周转时间 如果有n个作业,它们的周转时间分别为Ti,那么可 以得到它们的平均周转时间为 1 n T Ti n i 1 IE310, 5-21, [email protected] Shanghai Jiao Tong University 5.2 作业调度(作业调度功能与性能指标) 作业调度的性能指标 带权周转时间 如果作业i的周转时间为Ti,所需运行时间(相当于 CPU为它提供服务的时间)为Tki,那么它的带权周转 时间为 Wi Ti /Tki 因为Ti是等待时间与运行时间之和,故带权周转时间 总是大于1。 IE310, 5-22, [email protected] Shanghai Jiao Tong University 5.2 作业调度(作业调度功能与性能指标) 作业调度的性能指标 平均带权周转时间 如果有n个作业,作业i的周转时间为Ti,所需运行时 间(相当于CPU为它提供服务的时间)为Tki,那么它们 的平均带权周转时间为 1 n 1 n Ti W Wi n i 1 n i 1 Tki 平均周转时间一般被用来衡量对同一个作业流施行 不同作业调度算法的调度性能。 平均带权周转时间则一般被用来衡量对不同作业流 施行同一个作业调度算法的调度性能。 IE310, 5-23, [email protected] Shanghai Jiao Tong University 5.2 作业调度 5.2.2 作业调度算法 先来先服务调度算法 First Come First Serve - FCFS。 基本思想是,按作业进入后备队列的自然顺序,先进入 的作业先被选中,如同”排队买票”。 主要特点是: 对运行时间长的作业有利,不利于运行时间短的作业。 若已经有一个长作业在先,那么其后的短作业的等待时间将很 长。 比如,汽车修理厂的大修车辆与换灯泡车辆。 一般结合其它算法使用,如基于优先级的调度算法就是对具有 同样优先级的作业采用FCFS方式。 IE310, 5-24, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 先来先服务调度算法 IE310, 5-25, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 最短作业优先调度算法 Shortest Job First - SJF。 指对最短作业优先调度的算法。 是从后备队列中选择一个或若干个估计运 行时间最短的作业,将它们调入内存运行。 IE310, 5-26, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 最短作业优先调度算法 作业号 进入时间 运行时间 (分钟) 1 10:00 30 10:30 30 1.00 2 10:10 60 12:30 140 2.33 3 10:20 40 11:30 70 1.75 4 10:30 20 10:50 20 1.00 完成时间 周转时间 带权周转时间 (分钟) IE310, 5-27, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University FCFS和SJF调度算法的性能比较 IE310, 5-28, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 最短作业优先调度算法 主要特点是: 能缩短作业的平均周转时间,提高系统的吞吐量。 不利于长作业的运行。如前表所示,作业C的周转时 间由10增至16,其带权周转时间由2增至3.1。 更为严重的是,如果系统中持续不断地有更短作业进 入,可能会导致长作业长期不能被运行,即可能造成 先期到达的长作业有过长的等待。 该算法完全没有考虑作业的紧迫程度,因而不能保证 紧迫性作业的及时处理。 对于作业的运行时间事先仅依赖于估计,据此作出的 调度结果未必能真正做到短作业优先。 IE310, 5-29, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 最高响应比优先调度算法 Highest Response Ratio Next – HRRN。 是对FCFS和SJF算法的一种综合平衡。 FCFS算法只考虑了每个作业的等待时间而没有考虑其运 行时间的长短,而SJF算法只考虑了运行时间而没有考 虑等待时间。 HRRN算法的思想是通过定义响应比,选中响应比高的 作业投入运行。 响应比的计算如后所示,其中R为响应比,T为周转时间, Tw为等待时间,Tk为运行时间: R T T 1 w Tk Tk IE310, 5-30, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 最高响应比优先调度算法 响应比与作业的等待时间和运行时间都有关系,即作业 的等待时间越长(运行时间不变),或运行时间越短(等 待时间)不变,则响应比就越高,作业被选中的可能性 越大。 如果作业的等待时间相同,则要求服务的时间愈短,其优先权 愈高,因而该算法有利于短作业。 当要求服务的时间相同时,作业的优先权决定于其等待时间, 等待时间愈长,其优先权愈高,因而它实现的是先来先服务。 对于长作业,作业的优先级可以随等待时间的增加而提高,当 其等待时间足够长时,其优先级便可升到很高,从而也可获得 处理机。 HRRN的缺点是,由于每次调度都要对后备队列中各作 业的响应比进行计算,会增加一定的系统开销。 同样地,与SJF类似,对于作业的运行时间,也只能依 赖于事先的估计,并不能确保其准确性。 IE310, 5-31, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 优先级调度算法 优先级调度(Priority Scheduling)是为了照顾作 业的轻重缓急程度,使得紧急的作业能够及时 得到处理而提出的。 根据作业的优先级来选取作业,每次总是选取 优先级高的作业。 确定优先级的方法通常根据作业的缓急程度、 用户指定的优先级、作业的长短、等待时间的 多少、资源申请情况等确定或者计算所得。 IE310, 5-32, [email protected] 5.2 作业调度(作业调度算法) Shanghai Jiao Tong University 优先级调度算法 优先级的高低用优先数来表示。 优先数的设定有静态和动态两种方式。 静态优先数是在调度前设置优先数。 动态优先数是在调度时计算优先数,即在作业 运行过程中,根据实际情况和作业发生的事件 动态地改变其优先数。 设置作业优先数的方法主要有两种: 由用户根据自己作业的情况自行设定。 由系统综合考虑有关因素来设定,比如作业的轻重 缓急程度、作业的类型、运行时间长短、等待时间 长短、资源申请情况等。 IE310, 5-33, [email protected] Shanghai Jiao Tong University 5.3 进程调度 5.3.1 进程调度的功能 进程调度负责动态地把CPU分配给进程。 主要功能有: 记录所有进程的运行状态,包括静态和动态信息,保 存至进程控制块PCB中。 决定某个进程什么时候获得CPU,以及占用多长时间。 把CPU分配给进程,即运行该进程,恢复进程控制块 PCB中有关的现场信息,恢复程序状态字、通用寄存 器等内容至CPU的相应寄存器中,然后让它占用CPU 运行。 收回CPU。将CPU有关寄存器的内容保存至该进程的 进程控制块PCB中的相应单元之中,然后让该进程让 出CPU。 IE310, 5-34, [email protected] Shanghai Jiao Tong University 5.3 进程调度 5.3.2 进程调度方式 非剥夺方式 非剥夺方式(Non Pre-emptive Mode),又称为非抢占式调度。 进程调度程序一旦把CPU分配给某个进程,只要该进程没有自动放弃,比 如发生如后所示的事件,就可以一直运行下去,没有对其连续使用CPU的 时间作出限制,系统或者其它进程不会抢走其CPU。 如后列示的情形,则往往导致进程的自动放弃,引起进程的调度: 正在执行的进程执行完毕, 或因发生某事件而不能再继续执行; 执行中的进程因提出I/O请求而暂停执行; 在进程通信或同步过程中执行了某种阻塞性操作,如P操作、wait操作、Sleep 操作、Mutex Lock操作等。 这种调度方式的优点是实现简单、系统开销小,适用于大多数的批处理系 统环境。 但是,该方式难以满足高优先级紧急任务的要求——立即执行,因而可能 造成难以预料的后果。 在要求比较严格的实时系统中,则不能采用这种调度方式。 特别地,如果有进程长时间没有出现前述自动放弃CPU的情形,或者该进 程进入死循环,则将严重影响系统对于其它进程的执行,特别是短作业的 执行,甚至出现系统死机。 IE310, 5-35, [email protected] 5.3 进程调度(进程调度方式) Shanghai Jiao Tong University 剥夺方式 剥夺方式(Pre-emptive Mode),又称为抢占式调度。 当一个进程正在运行时,系统可以基于某种原则,剥夺 已分配给它的CPU,将之分配给其它进程。 剥夺原则有: 优先权原则,优先权高的进程可以剥夺优先权低的进程而运行。 短进程优先原则,短进程到达后可以剥夺长进程的运行。 时间片原则,一个时间片用完之后重新调度。 强制性剥夺原则。 这种调度方式已经为现代操作系统所普遍采用。 IE310, 5-36, [email protected] 5.3 进程调度(进程调度方式) Shanghai Jiao Tong University 非剥夺与(时间片)剥夺方式的效果比较示意 ---- P2 P3 运行时间 非 剥夺 方式 P1 30 6 3 周转时间 30 36 39 35 平均周转时间 带权周转时间 剥夺 方式 1 6 13 周转时间 39 15 9 平均周转时间 21 IE310, 5-37, [email protected] 5.3 进程调度(进程调度方式) Shanghai Jiao Tong University Unix System V的进程调度时机 当前进程自己调用Sleep、Wait等操作进入睡眠 状态。 当前进程从系统调用执行结束返回用户态时, 它的优先级已低于其它就绪状态进程,或调度 标志被置位。 当前进程在完成中断和陷阱处理后返回用户态 时,它的优先级已低于其它就绪状态进程,或 调度标志被置位。 时间片用完。 当前进程调用exit(),自我终止时。 IE310, 5-38, [email protected] Shanghai Jiao Tong University 5.3 进程调度 5.3.3 进程调度算法 先进先出调度算法 先进先出(First In First Out - FIFO),类似 于先来先服务FCFS算法。 把CPU分配给最先进入就绪队列的进程, 即就绪队列按进入的先后次序排队,调度 时选中就绪队列中的首进程投入执行。 单纯的先进先出算法采用非剥夺方式进行 调度,当然也可以与其它剥夺式调度算法 相结合使用。 IE310, 5-39, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 时间片轮转调度算法 轮转法(Round Robin - RR)。 把CPU的处理时间分成固定大小的时间片。 时间片的大小从几ms到几百ms。 系统将所有的就绪进程按FIFO排成一个队列。 每次调度时,把CPU分配给队首进程,并令其执行一个 时间片。 当执行的时间片用完时,由计时器发出时钟中断请求, 调度进程获得执行,前述进程则被剥夺执行,并被送往 就绪队列的末尾。 然后,调度进程再把处理机分配给就绪队列中新的队首 进程,同时也让它执行一个时间片。 这样就保证了在就绪队列之中的所有进程,在一段给定 的时间内,均能获得一个时间片的处理机执行时间。 IE310, 5-40, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 时间片轮转调度算法 时间片用完 作业调度 事 件 出 现 进程完成 就 绪 队 列 阻 塞 队 列 CPU 等待事件 IE310, 5-41, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 时间片轮转调度算法 在分时系统中,时间片轮转法是一种较简单而又有效的 调度策略。 采用时间片轮转法调度策略,总体上应该使各用户在提 出要求之后,都能够在几秒钟之内及时获得计算机的响 应。 进程在CPU上的执行,在以下三种情况下均将停止: 进程在尚未用完当前时间片之前提前结束。 一旦进程执行期间提出I/O请求,进行进程间的通信或同步,并 发生阻塞,调度进程就会将它放入阻塞队列。 进程用完当前的时间片,系统将它重新放到就绪队列的末尾, 等待下次执行。 时间片轮转法调度是一种剥夺式调度。 IE310, 5-42, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 时间片轮转调度算法 在轮转法中,时间片长度的选取非常重要。 系统耗费在进程切换上的开销与时间的大小 很有关系。 如果时间片取值太小,切换就会过于频繁,系 统开销过大,CPU的有效利用率大幅度降低。 从系统效率来看,时间片取大一点好。 但是,时间片长度太大的话,那么随着就绪队 列中进程数目的增加,轮转一次的总时间增大, 对于每个进程的响应速度就会太慢。特别地, 将严重地影响到交互式应用的响应时间。 时间片大小的确定,应综合考虑进程个数、切 换开销、系统效率和响应时间等因素。 IE310, 5-43, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 优先级调度算法 优先级调度法(Priority Scheduling)。 把CPU分配给就绪队列中具有最高优先级 的进程。 该算法的关键是如何确定进程的优先级。 一般包括静态优先级和动态优先级。 IE310, 5-44, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 优先级调度算法 静态优先级 静态优先权是在创建进程时确定。 在进程的整个运行期间保持不变。 一般地,利用某一范围内的一个整数来表示优先级,例如, 0~7或0~255中的某一整数,该整数又被称为优先数。 有的系统用“0”表示最高优先权,当数值愈大时,其优先权愈 低;而有的系统又恰恰相反。 确定进程静态优先权的主要依据: 进程类型,比如系统进程的优先权高于用户进程的优先权。 进程对资源的需求,比如对CPU、内存和I/O资源需要较少的进程, 它们应该具有较高的优先权。 用户要求,比如任务的紧迫程度、支付费用的费率等。 IE310, 5-45, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 优先级调度算法 动态优先级 在创建进程时所赋予的优先级,在进程运行过程中可以得以改 变,以获得更好的调度性能。 例如,对于在就绪队列中的进程,可以规定它们随着等待时间 的增长,以速率a提高其优先级。若所有的就绪进程具有各不相 同的优先级初值,那么,优先级初值低的进程在等待了足够的 时间后,其优先级也将提升为最高而获得处理机。 当采用抢占式优先级调度算法时,如果再规定正在执行进程的 优先级以速率b下降,则可防止一个进程长期垄断处理机,或者 让进程每执行一个时间片之后,就降低其优先级,从而使该进 程经持续执行后,其优先级降为最低而让其它进程能被调度而 获得处理机。 IE310, 5-46, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 最短进程优先调度算法 最短进程优先(Shortest Process First SPF)。 是对FIFO算法的改进。 目标是减少平均周转时间,优先调度那些 预计执行时间短的进程。 通常后来的短进程不抢先正在执行的进程。 与作业调度中的SJF相类似。 IE310, 5-47, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 多级反馈队列调度算法 多级反馈队列法(Round Robin with Multiple Feedback),又称多级队列法(Multi-Level Queue)。 基本思想: 根据进程性质或类型的不同,设置多个就绪队列,不 同队列可有不同的优先级、时间片长度、调度策略等。 各队列的优先级逐级降低,比如第一级队列的优先级 最高; 优先级低的队列,采用较长的时间片; 在运行过程中动态改变进程所在的队列等。 IE310, 5-48, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 多级反馈队列调度算法之一 设置多个就绪队列,它们被赋予不同的优先级。 第一个队列的优先级最高,第二个队列次之, 其余各队列的优先权逐个降低。 予各个队列中进程执行的时间片的大小也各 不相同,在优先权愈高的队列中,为每个进程 所规定的执行时间片就愈小。例如,第二个队 列的时间片要比第一个队列的时间片长一 倍,……,第i+1个队列的时间片要比第i个队列 的时间片长一倍。 IE310, 5-49, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 多级反馈队列调度算法 S1 就绪队列1 S2 就绪队列2 S3 就绪队列3 就绪队列n (时间片: 至 CPU 至 CPU 至 CPU 至 CPU S1<S2<S3 ) IE310, 5-50, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 多级反馈队列调度算法之二 当一个新进程进入内存后,首先将它放入第一级队列的 末尾,按FIFO原则排队等待调度。 轮到该进程执行之后,如它能在该时间片内完成,便可 准备撤离系统;如果它在一个时间片结束时尚未完成, 调度程序便将该进程转入第二级队列的末尾,再同样地 按FIFO原则等待调度执行。 如果它在第二级队列中运行一个时间片后仍未完成,再 依次将它放入第三级队列,……,如此下去。 当一个长进程从第一级队列依次降到第n级队列后,在 第n级队列中便采取按时间片轮转的方式运行。 IE310, 5-51, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 多级反馈队列调度算法之三 仅当第一级队列空闲时,调度程序才调度第二 级队列中的进程运行。 仅当第1~(i-1)级队列均为空时,才会调度第i级 队列中的进程运行。 如果处理机正在第i队列中为某进程服务时,又 有新进程进入优先级较高的队列(第1~(i-1)中的 任何一个队列),则此时新进程将抢占正在运行 进程的处理机,即由调度程序把正在运行的进 程放回到第i队列的末尾,把处理机分配给新到 的高优先级进程。 IE310, 5-52, [email protected] 5.3 进程调度(进程调度算法) Shanghai Jiao Tong University 多级反馈队列调度算法 终端交互型作业一般被称为前台作业,其对应的进程一 般被放入前台队列,具有较高的优先级。 批处理作业一般被称为后台作业,其对应的进程一般被 放入后台队列,具有较低的优先级。 根据批处理作业所需处理时间长度,还可以进一步增加 有关队列,使长批处理作业对应的进程具有最低的优先 级。 I/O访问频度较高的进程宜放入优先级较高的队列,比如 QQ聊天。 CPU耗时厉害的进程宜放入优先级较低的队列,比如科 学计算。 IE310, 5-53, [email protected] Shanghai Jiao Tong University 5.6 实时调度 5.6.1 实时操作系统的特性 实时性是实时操作系统的最基本特征。 根据对处理外部事件时限的要求,实时系统中 处理的外部事件可以分为: 硬实时任务,系统必须满足任务的时间限制 软实时任务,偶尔超过时间限制是可以容忍的 实时性的获得是通过将程序分成很多进程,而 每个进程的行为都预先可知,且它们的处理周 期都很短。当检测到一个外部事件,调度程序 按满足它们最后期限的方式调度这些进程。 IE310, 5-54, [email protected] Shanghai Jiao Tong University 5.6 实时调度(实时操作系统的特性) 实时系统的另一个特点是,它所处理的外 部任务分为 周期性,每隔一段固定的时间必定发生; 非周期性,在不可预测的时间发生。 处理要求: 非周期性任务,必定存在一个完成或开始执 行处理的时限; 周期性任务,只要求在周期T内完成或开始进 行处理。 IE310, 5-55, [email protected] Shanghai Jiao Tong University 5.6 实时调度(实时操作系统的特性) 通用操作系统中的进程切换开销太大,以致于 只能满足那些时间限制较松的应用的实时性能 要求。 分时的非实时系统,用户一般允许通过重新启 动计算机等措施来处理系统出错。 实时系统要求所有的进程在处理事件时,必须 在有限的时间内完成。 在实时系统中,用户可以控制进程的优先级, 并选择相应的调度算法,从而达到对进程的执 行先后顺序的控制。 实时系统主要是对外部事件进行处理和控制, 不允许出现控制错误,要求具有很高的可靠性。 因此,多数实时系统使用专用的实时操作系统。 IE310, 5-56, [email protected] Shanghai Jiao Tong University 5.6 实时调度(实时操作系统的特性) 实时操作系统应具有如下特征: 快速的外部中断响应能力; 进程或线程切换速度快; 要求系统具有快速硬件中断机构 还应使禁止中断的时间间隔尽量短,以免耽误其 它紧迫任务 应使系统中的每个运行功能单位适当的小,以减 少任务切换的时间开销 可靠性高,健壮性强; 支持多线程和可抢占调度; 用户控制灵活。 IE310, 5-57, [email protected] Shanghai Jiao Tong University 5.6 实时调度 5.6.2 实时调度算法 频率单调调度算法 以任务发生的频率作为调度的准则。 事先为每个进程分配一个与任务发生的频率成 正比的优先数,即任务发生的频率越低,其优 先级越低。例如,周期为20ms(频率为50Hz)的 进程优先数为50,周期为100ms(频率为10Hz)的 进程优先数为10。 总是调度优先数最高的就绪进程,并采用抢占 式分配策略。 可以证明该算法是最优的。 IE310, 5-58, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 时限调度算法 时限调度算法是一种以满足用户要求的时限为调度原则 的算法。 在实时系统中,时限分为两种: 处理开始时限(Starting Deadline) 处理结束时限(Ending Deadline) 调度进程一般使用其中的一种时限作为调度的依据。 本算法的基本思想是,按用户的时限要求设置优先级, 时限越近的赋予越高的优先级。当一个任务发生时,对 应的进程就被加入就绪队列,该就绪队列按照时限排序, 排在队首的进程一定是最接近时限要求,也是优先级最 高的进程,将首先占用处理机。对于新发生的任务,如 果它的优先级更高,还可以采用剥夺式调度,强行抢占 处理机。 IE310, 5-59, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 最早截止时间优先调度算法 Earliest Deadline First - EDF 根据任务的截止时间来确定它的优先级。 截止时间越早,其优先级越高。 算法要求在系统中有一个就绪队列,该就绪队 列中的进程按照截止时间排序,排在队首的进 程一定有最早的截止时间,它将在进程调度时 被首先选中而获得处理机的使用权。 算法既可用于抢占式调度,也可用于非抢占式 调度。 IE310, 5-60, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 最早截止时间优先调度算法—示意(非抢占式) 1 任务执行 3 4 2 1 开始截止时间 3 4 2 t 任务到达 1 2 3 4 IE310, 5-61, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 不再要求xxx最低松弛度优先调度算法 Least Laxity First - LLF 根据任务的紧急(或松弛)程度来确定它的优先级。 任务的紧急程度越高,其优先级越高。例如, 一个必须在200ms时刻必须完成的任务,如果其自身所需的运行时间 就有100ms,那么,调度程序必须在100ms时刻之前调度执行该任务, 该任务的紧急程度(松弛程度)为100ms。 又,另一任务在400ms时刻必须完成,它本身需要运行150ms,那么, 其松弛程度为250ms。 算法要求在系统中有一个就绪队列,该就绪队列中的进程按照实时 任务的松弛度排序,松弛度最低的任务排在队列的最前面,调度进 程总是选择就绪队列中的队首任务执行。 算法主要用于抢占式调度。 IE310, 5-62, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 最低松弛度优先调度算法—示意(抢占式) 假如,在一个实时系统中,有两个周期性 实时任务A和B,任务A要求每 20 ms执行 一次,执行时间为 10 ms;任务B只要求 每50 ms执行一次,执行时间为 25 ms。 由此得到所后所示的任务A和B每次必须完 成的时间分别为:A1、A2、A3、…和B1、 B2、B3、…。 IE310, 5-63, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 最低松弛度优先调度算法—示意(抢占式) 那么,任务A和B每次必须完成的时刻为 A1 0 20 A2 A3 40 60 B1 A4 80 A5 100 B2 A6 120 A7 A8 140 160 t B3 IE310, 5-64, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 最低松弛度优先调度算法—示意(抢占式) 在刚开始时刻(t1=0) A1必须在20ms时完成,而它本身运行又需 10 ms, 可算出A1的松弛度为10ms。 B1必须在50ms时完成,而它本身运行就需25 ms, 可算出B1的松弛度为25 ms。 故调度程序应先调度A1执行。 IE310, 5-65, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 最低松弛度优先调度算法—示意(抢占式) 在t2=10ms时刻 A2的松弛度可按下式算出 A2的松弛度=必须完成时间-其本身的运行时间-当前时间 =40ms - 10ms - 10ms =20ms。 类似地,可算出B1的松弛度为15ms。 故调度程序应选择B1运行。 IE310, 5-66, [email protected] 5.6 实时调度(实时调度算法) Shanghai Jiao Tong University 最低松弛度优先调度算法—示意(抢占式) 在t3=30ms时刻,A2的松弛度已减为0(即40-10-30),而B1的松弛 度为15 ms(即50-5-30),于是抢占B1的处理机而调度A2运行。 在t4=40 ms时,A3的松弛度为10ms(即60-10-40),而B1的松弛度 仅为5 ms(即50-5-40),故又应重新调度B1执行。 在t5=45 ms时,B1执行完成,A3松弛度已减为5 ms(即60-10-45), 而B2松弛度为30 ms(即100-25-45),于是又应调度A3执行。 在t6=55ms时,任务A尚未进入第4周期,而任务B已进入第2周期, 故再调度B2执行。 在t7=70 ms时,A4松弛度已减至0 ms(即80-10-70),而B2松弛度 为20 ms(即100-10-70),故又抢占B2的处理机而调度A4执行。 A 1(10) A 2(10) t1 t2 0 t 1=0 10 t3 20 B1(20) 30 A 3(10) t4 40 B1(5) t5 A 4(10) t6 50 t7 60 B2(15) t8 70 80 t B2(10) IE310, 5-67, [email protected] Shanghai Jiao Tong University 5.6 实时调度 5.6.3 实时调度的任务负荷与处理能力 在实时系统中,通常有着多个实时任务。 若处理机的处理能力不够强,则有可能因处理 机忙不过来而使某些实时任务不能得到及时处 理,从而导致发生难以预料的后果。 假定系统中有m个周期性的硬实时任务,它们 的处理时间可表示为Ci,周期时间表示为Pi,那 么在单处理机情况下,系统必须满足下面的限 制条件才是可调度的: m Ci 1 P 1 i i 相当于医生看病吞吐量限制。 IE310, 5-68, [email protected] Shanghai Jiao Tong University 5.6 实时调度(任务负荷与处理能力) 假如系统中有6个硬实时任务,它们的周期时间 都是 50 ms,而每次的处理时间为 10 ms,则 根据上式得到1.2,表明系统是不可调度的。 假定系统中的处理机数为N,那么系统必须满 足下面的限制条件才是可调度的: m i1 Ci N Pi IE310, 5-69, [email protected] xxx5.7 多处理机系统中的调度 Shanghai Jiao Tong University 不再要求xxxxx5.7.1 多处理机系统的类型 Multi-Processor System - MPS。 一般根据系统中所用处理器是否相同,将 MPS分为如下两类: 对称多处理器系统SMPS(Symmetric MultiProcessor System)。在系统中所包含的各处 理器单元,在功能和结构上都是相同的,当 前的绝大多数MPS都属于是SMP系统。 非对称多处理器系统。在系统中有多种类型 的处理单元,它们的功能和结构各不相同, 其中只有一个是主处理器,有多个从处理器。 IE310, 5-70, [email protected] 5.7 多处理机系统中的调度 Shanghai Jiao Tong University 不要求x5.7.2 多处理机系统的进程分配方式 在多处理器系统中,进程的调度与系统结 构有关。 例如,在同构型系统中,由于所用到的处 理器都是相同的,因而可将进程分配到任 一处理器上运行。 但是对于非对称多处理器系统,则对任一 进程而言,都只能将它分配到某一个适合 它运行的处理器上才能执行。 IE310, 5-71, [email protected] Shanghai Jiao Tong University 5.7 多处理机系统中的调度(进程分配方式) 对称多处理器系统中的进程分配方式 在SMP系统中,所有的处理器都是相同的, 因而可把所有的处理器作为一个处理器池 (Processor Pool)。 由调度程序或基于处理器的请求,可以将 进程分配给池中的任何一个处理器去处理。 在进行进程分配时,可采用以下两种方式 之一。 静态分配(Static Assigenment)方式 动态分配(Dynamic Assgement)方式 IE310, 5-72, [email protected] Shanghai Jiao Tong University 5.7 多处理机系统中的调度(进程分配方式) 对称多处理器系统中的进程分配方式 静态分配(Static Assigenment)方式 这是指一个进程从开始执行直至其完成,都被固定地 分配到同一个处理器上执行。 须为每一处理器设置一个专用的就绪队列,该队列中 的所有进程都将被分配到该处理器上执行。 在进程阻塞后再次就绪时,也仍被挂在这个就绪队列 中,因而下次它仍在此处理器上执行。 这种方式与单处理器环境下的进程调度是一样的。 其优点是进程调度的开销小。 其缺点是会使各处理器的忙闲程度不均。也就是说, 系统中可能有些处理器的就绪队列很快就变成空队列, 使处理器处于空闲状态,而另一些处理器则可能一直 忙碌。 IE310, 5-73, [email protected] Shanghai Jiao Tong University 5.7 多处理机系统中的调度(进程分配方式) 对称多处理器系统中的进程分配方式 动态分配(Dynamic Assgement)方式 为了防止系统中的多个处理器忙闲不均,可以在系统 中设置一个公共的就绪队列,系统中的所有就绪进程 都被放到该队列中。 分配进程时,可将进程分配到任何一个处理器上。 对一个进程的整个运行过程而言,在每次被调度执行 时,都是随机地被分配到在当时是空闲的某一处理器 上去执行。比如, 某进程P一开始被分配到处理器A上执行。 后来因阻塞而放弃处理器A。 当它又恢复为就绪状态后,又被挂到公共的就绪队列上。 在下次被调度时,就可能被分配到处理器B上执行,也有可 能被分配到处理器C或处理器D上执行。 IE310, 5-74, [email protected] Shanghai Jiao Tong University 5.7 多处理机系统中的调度(进程分配方式) 非对称MPS中的进程分配方式 对于非对称MPS,它们大多采用主—从(Master-Slave)式 操作系统。 操作系统的核心部分驻留在一台主机(Master)上,而从 机(Slave)上只是用户程序。 进程调度仅由主机执行。 每当从机空闲时,便向主机发送个索求进程的信号, 然后等待主机为它分配进程。 在主机中保持有一个就绪队列,只要就绪队列不空,主 机便从其队首摘下一进程分配给请求的从机。 从机接收到分配的进程后便运行该进程。 该进程结束后从机又向主机发出进程索求请求。 IE310, 5-75, [email protected] 5.7 多处理机系统中的调度 Shanghai Jiao Tong University 不要求x5.7.3 多处理机系统的进程(线程)调度方式 自调度(Self-Scheduling)方式 在多处理器系统中,自调度方式是最简单的一种调度方式。 它是直接由单处理机环境下的调度方式演变而来的。 在系统中设置有一个公共的进程或线程就绪队列。 所有的处理器在空闲时,均自行到该队列中获取一个进程(或 线程)来运行。 在自调度方式中,可采用在单处理器环境下所用的调度算法, 如先来先服务(FCFS)调度算法、最高优先权优先调度算法和 抢占式最高优先权优先调度算法等。 在单处理器环境下,先来先服务(FCFS)调度算法并不是一个 好算法,到了多处理器环境下,反而是一种最为简单有效的 好算法。 IE310, 5-76, [email protected] Shanghai Jiao Tong University 5.7 多处理机系统中的调度(进程调度方式) 不要求xxxxx自调度(Self-Scheduling)方式 自调度方式的主要优点表现为: 首先,系统中的公共就绪队列可按照单处理 机系统中所采用的各种方式加以组织;其调 度算法也可沿用单处理机系统所用的算法, 亦即,很容易将单处理机环境下的调度机制 移植到多处理机系统中,故它仍然是当前多 处理机系统中较常用的调度方式。 其次,只要系统中有任务,或者说只要公共 就绪队列不空,就不会出现处理机空闲的情 况,也不会发生处理器忙闲不均的现象,因 而有利于提高处理器的利用率。 IE310, 5-77, [email protected] Shanghai Jiao Tong University 5.7 多处理机系统中的调度(进程调度方式) 不要求xxxxx自调度(Self-Scheduling)方式 自调度方式的主要缺点表现为: 瓶颈问题。在整个系统中仅设置一个就绪队列,供多 个处理器共享,它们必须互斥地访问该队列。如果系 统中的处理器数目在数十乃至数百个时,这很容易称 为系统的瓶颈。 低效性。由于一个线程在其整个生命周期中,可能要 多次更换处理器,因而使其高速缓存的使用效率很低。 线程切换频繁。没有考虑同一个应用的多个线程之间 的相互合作问题,它们很难同时获得处理器运行,这 样将会使得某些线程因其合作线程未获得处理器运行 而阻塞,从而增加了线程切换的频度。 IE310, 5-78, [email protected] 5.7 多处理机系统中的调度 Shanghai Jiao Tong University 不要求xxxxx5.7.3 多处理机系统的进程(线程)调 度方式 成组调度方式 目的是为了解决自调度方式中的线程频繁切换问题。 所谓成组调度方式,是指将一个进程的一组线程,分配 到一组处理器上去执行。 可按照如下两种方式为应用程序分配处理器时间: 1. (1) 2. 面向所有应用程序平均分配处理器时间。 (2) 应用程序A 应用程序B 面向所有线程平均分配处理器时间。 应用程序A 应用程序B 处理器1 线程1 线程1 处理器1 线程1 线程1 处理器2 线程2 空闲 处理器2 线程2 空闲 处理器3 线程3 空闲 处理器3 线程3 空闲 处理器4 线程4 空闲 处理器4 线程4 空闲 时间长度 1 4 时间长度 1 1 四个处理器情形下的分配示意 IE310, 5-79, [email protected] 5.7 多处理机系统中的调度 Shanghai Jiao Tong University 不要求xxxxx5.7.3 多处理机系统的进程(线程)调 度方式 专用处理器分配方式 在一个应用程序的执行期,专门为该应用程序分配 一组处理器,其每一个线程一个处理器。 期间,这组处理器仅供该应用程序专用,直至该应用 程序完成。 特点: 1. 2. 3. 4. 处理器处理能力浪费严重。 对于配置了大量处理器个数的系统来说,其单个处理器的利用 率已经远不象单处理器系统中那样重要。 可以最大限度地避免进程或线程的切换。 一个应用程序的相互合作的线程个数不宜超过系统中处理器的 个数。 IE310, 5-80, [email protected] Shanghai Jiao Tong University 小结一 CPU是计算机系统中的一个十分重要的资 源,其高效调度具有非常重要的现实意义。 处理机调度一般涉及三级调度,重点则是 进程调度和作业调度。 本章介绍了进程调度、作业调度等实现功 能和算法思想,并简单介绍了实时系统中 的调度算法。 IE310, 5-81, [email protected] Shanghai Jiao Tong University 小结二 处理机调度程序一般不能将所有驻留在外存的作业全部 装入物理内存。 因此,作业调度或高级调度,负责按照某种策略,把处 于后备状态中的作业挑选出来,创建进程,分配资源, 装入内存。 作业调度的目标是尽量做到公平合理,吞吐量大和较快 的响应时间以及高的设备利用率等。 作业调度算法一般包括FCFS(先来先服务)、SJF(最短作 业优先)、HRRN(最高响应比优先)等。 这里,FCFS算法系统开销小,按作业的到达顺序进行调 度,不利于短作业。 SJF算法能得到最大的系统吞吐量,但可能会导致长作 业长期不能得到运行。 HRRN算法则是介于FCFS和SJF之间的一种算法。 IE310, 5-82, [email protected] Shanghai Jiao Tong University 小结三 进程调度是在作业进入内存并获得足够资源,即创建进 程之后才开始的。 进程调度的主要任务是选择一个合适的进程占用处理机。 进程调度的常用算法是轮转法、优先级法和多级队列法。 其中,轮转法适用于分时系统,它有较快的响应时间和 较好的公平性。 多级队列法是对轮转法和优先级法的综合和发展,具有 系统吞吐量大、平均周转时间小、I/O设备利用率较高、 响应时间较快、不必估计进程的执行时间和能进行动态 调节等特点。 中级调度则是为了解决内存紧张问题,必要时将合适的 相关进程从物理内存交换到外存交换区。 IE310, 5-83, [email protected] Shanghai Jiao Tong University 课后任务(书面作业/择机上交) 1. 2. 3. 4. 5. 6. 处理机调度分哪几种类型?请简述各类调度的 主要任务。 作业调度属于哪一级调度?作业处于运行态时 表示该作业占有了处理机吗?进程处于运行态 时表示该作业占有了处理机吗? 教材P.163习题9。 教材P.163习题10。 何谓响应比最高优先算法?它有何主要特点? 试论述进程的先进先出调度算法和时间片轮转 算法的本质区别。 IE310, 5-84, [email protected] Shanghai Jiao Tong University 课后任务(书面作业/择机上交) 7. 8. 9. 10. 11. 时间片轮转低级调度算法中,根据哪些因素确定时间 片长短? 什么是剥夺式调度策略,什么是非剥夺式调度策略。 为什么多级反馈队列算法能较好地满足各种用户的需 求? 多级反馈队列中,给不同队列以大小不同的时间片值, 意义何在? 在一个单道的程序设计系统中,有3个作业J1、J2、J3, 它们到达输入井的时间分别为8:55、9:10、9:30,它 们需要执行的时间分别为1.5小时、0.4小时、1小时。 系统在10:00按响应比高者优先算法对它们进行调度, 请回答: 1)作业被选中执行的次序是什么? 2)三个作业被选中时的相应比分别是多少? IE310, 5-85, [email protected] Shanghai Jiao Tong University 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 课后课程设计任务 自学第9章Linux应用基础; 自学第10章Linux的操作命令界面与内核编译; 练习实验1 实验环境与Linux操作系统的安装(虚拟机、红帽子Linux安装、 虚拟网卡的安装); 练习实验2-1 Linux的键盘命令; 练习实验2-2 Linux的图形界面; 练习实验2-3 Linux的批处理; 练习实验3-1 Linux进程的创建与父子进程同步; 练习实验3-2 Linux子进程映像的重新加载; 练习实验4-1 Linux软中断通信; 练习实验4-2 Linux管道通信; 练习实验4-3 Linux消息缓冲通信; 练习实验4-4 Linux共享存储通信; 练习实验5 Linux信号量与P、V操作; 练习实验6 动态申请内存(malloc/realloc/free); 练习实验7 Linux文件系统操作(open/creat/read/write/chmod/close) ; 联系TCP连接访问 IE310, 5-86, [email protected] Shanghai Jiao Tong University 课后课程设计任务 仔细阅读《操作系统课程设计》任务说明 书 依次进行其中所要求的各项工作 IE310, 5-87, [email protected] ...
View Full Document

This note was uploaded on 03/08/2012 for the course IE 310 taught by Professor Fangxinqi during the Fall '11 term at Shanghai Jiao Tong University.

Ask a homework question - tutors are online