3-操作系统基础知识
时间:2025-04-28
时间:2025-04-28
一.操作系统基础知识
1.1 操作系统定义与作用
操作系统有两个重要的作用:
(1)通过资源管理,提高计算机系统的效率
(2)改善人机界面,向用户提供友好的工作环境
操作系统不仅是计算机硬件和各种软件之间的接口,也是用户与计算机之间的接口。
1.2操作系统的功能
1)进程管理 2)存储管理 3)设备管理 4)文件管理 5)作业管理
二进程管理
2.1 基本概念
2.1.1进程
程序是静态的概念,是指令的集合。进程是一个程序关于某个数据集的一次运行,可以和其他程序并发执行的一次执行。即进程是运行中的程序,是程序的一次运行活动。
进程通常由程序、数据和进程控制块(PCB)组成的。
程序部分:描述了进程需要完成的功能。
数据部分:包括程序执行时需要的数据及工作区。
进程控制块:是进程的描述信息和控制信息,由状态、优先级、访问权限等信息组成,是进程动态特性的集中反映,也是进程存在的唯一标志。
2.1.2进程的状态及状态间的切换
三态模型
在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化,因此进程一般有运行、就绪和阻塞3种基本状态。
(1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态。显然对于单处理机系统,处于运行状态的进程只有一个。
(2)就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
(3)阻塞:也称等待或睡眠状态。一个进程正在等待某一事件发生(如等待I/0完成等而停止运行),这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞。
图进程的三态模型
2.1.3 进程的控制
进程的控制就是对系统中所有进程从创建到消亡的全过程实施有效的控制。
对进程的主要控制有创建、撤销、激活、阻塞等。
进程的创建:调用进程创建原语创建一个进程,首先申请一个空白PCB,为新进程所需的程序和数据等分配必要的内存空间,然后初始化PCB内的各项内容,最后将新进程插入到就绪队列。引起进程创建主要有用户登录、提供服务等事件。
进程的阻塞:在进程执行的过程中,出现了要求的数据尚未到达,或者要求启动某个I/O设备,必须等到I/O 操作完成后才能继续执行的这些事件时,由于无法继续执行,进程变调用阻塞原语来把自己阻塞,并插入到到阻塞对列。将处理机分配给另一个就绪进程,并进程切换。
进程的唤醒:当被柱阻塞的进程所期待的事件出现时,,则由有关的进程(比如,用完I/O设备的进程)调用唤醒原语Wakeup(),将等待该事件的进程唤醒,状态由阻塞改为就绪,再将该进程插入到就绪队列中。
1
2.2进程调度
2.2.1 调度的概念
“进程调度”,又称低级调度,它决定处于主存中的就绪进程哪个可以占用CPU,是操作系统中最活跃、最重要的调度程序。
2.2.2进程调度方式
是指当有更高优先级的进程到来时如何分配CPU。
非抢占式:一旦把处理机分配给某进程后,便让该进程一直执行,直至该进程运行完毕或发生某件事而被阻塞,才把处理机分配给其他进程,决不允许某进程抢占已经分配出去的处理机。
抢占方式:这种方式允许调度程序根据某种原则,去停止某个正在执行的进程,将已分配给该进程的处理机,重新分配给另一进程。
常用的调度算法类型:
(1)时间片原则。各进程按时间片运行,运行完以后,便停止该进程的执行,而重新调度进程。
(2)优先权原则,指当有更高优先级的进程到来时,强行将正在运行的进程占用的CPU分配给高优先级的进程;
(3)短进程优先原则。当新到达的进程比正在执行的进程明显短时,将剥夺当前进程的执行,将处理机分配给短进程,使之优先。
例题:在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺方式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如表3-7所示。
表3-7 设备的先后顺序和占用设备时间
进程优先级使用设备的先后顺序和占用设备时间
P1 高 R2(30ms)→CPU(10ms) →R1(30ms) →CPU(10ms)
P2 中 R1(20ms)→CPU(30ms) →R2(40ms)
P3 低 CPU(40ms) →R1(10ms)
假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为__(26)__%;R2的利用率约为____(27)____%(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。
供选择的答案:
(26)A.60 B.67 C.78 D.90 (27)A.70 B.78 C.80 D.89
2.3 进程的死锁
2.3.1 死锁的概念
所谓死锁是多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都无法继续运行下去的现象。
2.3.2死锁举例
例:同类资源分配不当引起死锁。若系统中有m个资源被n个进程共享,当每个进程都要求k个资源,而m<nk 时,即资源数小于进程所要求的总数时,可能会引起死锁。例如m=5,n=3,k=3,若系统采用的分配策略是轮流地为每个进程分配资源,则第一轮系统先为每个进程分配1台,还剩下2台;第二轮系统再为 …… 此处隐藏:6625字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:酒店管理实习心得