2万+  知识点  标题检索     全文检索
       处理机管理
               进程的基本概念
               进程是一个程序在一个数据集合上的一次执行,是操作系统中可以并行工作的基本单位,也是核心调度及资源分配的最小单位。它由程序、数据、进程控制块(PCB)组成。进程与程序的重要区别之一是:进程是有状态的;而程序没有,程序是静态的。
               进程的基本特征有动态性、并发性、独立性、异步性、结构性。
               传统上,每个进程在任何时刻总是处于3种基本状态(即运行、就绪、阻塞)的某一种基本状态。在不少系统中,还增加了两种基本状态,即新建态、终止态。状态之间的转换如下图所示。
               
               进程状态的转换
               线程
               在SMP系统中,操作系统还提供了线程机制。线程是比进程更小的能独立运行的基本单位,它是处理器分配的最小单位。
               进程是资源分配的基本单位,而线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。线程也有就绪、阻塞和运行3种基本状态。
               进程间通信
               1)同步与互斥
               (1)进程间的同步。一个进程相对于另一个进程的运行速度是不确定的,也就是说,进程是在异步环境下运行的。每个进程都以各自独立的、不可预知的速度向前推进。但相互合作的进程需要在某些确定点上协调它们的工作,当一个进程到达了这些点后,除非另一进程已经完成了某些操作;否则就不得不停下来等待这些操作结束。
               (2)进程间的互斥。在多道程序系统中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源(Critical Resource, CR),如打印机、公共变量和表格等。同步是进程间的直接制约问题,互斥是进程间的间接制约问题。
               2)信号量机制
               信号量是一种解决进程同步与互斥的工具。主要有整型信号量、记录型信号量、信号量集机制。最常用的信号量是整型变量。
               信号量可分为两类:一类是公用信号量,用于实现进程间的互斥,初值等于1或资源的数目;另一类是私用信号量,用于实现进程间的同步,初值等于0或某个正整数。信号量S的物理意义是:当S≥0时,表示某资源的可用数;当S<0时,其绝对值表示阻塞队列中等待该资源的进程数。
               3)PV操作
               PV操作是实现进程同步与互斥的常用方法。PV操作是低级通信原语,在执行期间不可分割。其中,P操作表示申请一个资源,V操作表示释放一个资源。
               P操作定义:S:=S-1,若S≥0,则执行P操作的进程继续执行;否则,若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
               V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行;否则,若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。
               利用PV操作实现进程互斥的方法为:令信号量mutex的初值为1,当进程进入临界区时执行P操作,退出临界区时执行V操作。
               利用PV操作实现进程同步的方法为:用一个信号量与消息联系起来。当信号量的值为"0"时表示希望的消息未产生,当信号量的值为非"0"时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否到达,调用V操作通知消息已准备好。最典型的就是单缓冲区的生产者和消费者的同步问题。
               进程调度算法
               进程调度算法有以下几种。
               (1)先来先服务调度算法:按进程进入就绪队列的先后次序选择可以占用处理器的进程。
               (2)优先数调度算法:对每个进程确定一个优先数,进程调度总是让具有最高优先数的进程先使用处理器。如果进程具有相同的优先数,则对这些有相同优先数的进程再按先来先服务的次序分配处理器。
               (3)时间片轮转调度算法:把规定进程一次使用处理器的最长时间称为"时间片"。让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个"时间片"。如果一个时间片用完,进程工作尚未结束,则它也必须让出处理器给其他进程使用,自己被重新排到就绪队列的末尾,等待再次运行。时间片轮转调度算法经常用在分时操作系统中。
               (4)分级调度算法:由系统设置多个就绪队列,每个就绪队列中的进程按时间片轮转调度算法占用处理器。
               死锁
               1)产生死锁的原因
               若系统中存在一组进程,它们中的每个进程都占用了某种资源,而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说明系统出现了死锁。只要下面4个条件中有1个不具备,系统就不会出现死锁。
               (1)互斥条件:某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占有。
               (2)不可抢占条件:进程所获得的资源在未使用完毕之前,资源申请者不能强行地从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放。
               (3)占有且申请条件:进程至少已经占有一个资源,但又申请新的资源;由于该资源已被另外进程占有,此时该进程阻塞;但是,它在等待新资源时,仍继续占用已占有的资源。(注:也称为保持与等待条件)
               (4)循环等待条件:存在一组进程等待序列{P1,P2,…,Pn},其中P1等待P2所占有的某一资源,P2等待P3所占有的某一资源,……,而Pn等待P1所占有的某一资源,形成一个进程循环等待环。
               2)死锁的预防方法
               死锁的预防方法如下。
               (1)打破互斥条件。
               (2)打破不可抢占条件。
               (3)打破占有且申请条件。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2019 All Rights Reserved 软考在线版权所有