§3.4 进程控制 进程从创建到消灭的整个自下而上期中有三个基本状态,称为进程调度状态:执行、就绪、等待(阻塞)。

Slides:



Advertisements
Similar presentations
元大京華證券 組員名單 : A 楊之奇 A 廖本揚 A 宋俊承 A 陳冠廷 A 郭峻瑋 A 指導教授 : 許素華 副教授.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
達悟族報告 作者 : 林琪崴, 許原碩 座號 :13 號,14 號 原碩負責 : 簡介, 傳說, 圖驣, 達悟族飛魚季, 琪崴 : 地理位置, 土地利用方式, 飲食文化, 豐收祭.
主讲:张天明 影像艺术工程师. 声音的聆听 指出听到的是什么物体发出的声音,这一 声音是在什么样的空间环境中传播的。 一、 答案: 1 、打气筒打气的声音 2 、手打打气筒给足球打气的声音 3 、手打打气筒给自行车轮胎打气的声音 4 、七次(七声)打气筒打气的声音 5 、(气流)摩擦的声音 6 、猪在发急时的叫声.
概念導向命題技巧與試題分析 臺灣師大地理系 陳國川. 教學評量是一種『抽樣調查』 實施教學評量時,需具備二項條件: 其一,瞭解命題的理論及其實踐的方法; 其二,瞭解各種題型的功能與命題方式。 壹、前言.
第十八章 林肯大郡 第十八章 林肯大郡災變緊急搶救應變措施 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊造成二十八人罹難八十戶住宅倒塌的慘劇 此災變要喚起國人的重視 本章介紹搜救行動緊急應變措施。
高峰植物園行前解說 2005/12/07 By 羽明. 陽性先驅物種 陽性植物 --- 陽光需求量大 陰性 ( 或耐蔭性 ) 植物 --- 陽光需求量少, 或 日照太強反而無法生存 先驅植物 --- 森林大火或土石流地震後產生的 裸露空地, 先生長出來的植物.
報 告 人 : 胡 嘉 琪 ˙ˇ˙ 、 王 紫 庭 = ˇ = 台灣夜市文化 作者: 郭明澤‧私立明道高中‧綜二 4 班 馬炯修‧私立明道高中‧綜二 4 班.
5 ˙ 1 第五章 生物的協調作用 5 ‧ 1 神經系統. 5 ˙ 1 人體的神經系統 1. 協調動物生理反應的系統: 神經 系統、 內分 泌 系統。 2. 神經系統負責 統整 和 協調 。分為 中樞 神經 和 周圍 神經。 (1) 中樞神經包括 腦 和 脊髓 。 (2) 周圍 神經包括 腦神經 和.
从《西游》看大学生的成长 主讲人:颜廷学 时间: 地点:演艺大楼流行剧场.
1 認識創業之財務 ( 資金 ) 及稅務問題 講師 : 蘇炳章 日期 : 92 年 8 月 12 日.
新员工培训 设计部 思安新能源股份有限公司 主讲人: 韩少华 时 间:
前言:河流的主要功能 1. 交通運輸 優點-運費低廉,維護費用低 缺點-速度慢,裝載費時,不能到達生產區或消費區 的末端,需要轉載。 尚受到河流網路,河口位置,水量變化,河床 狀況,冰封時期 2. 水資源系統.
幽夢影~張潮 小佑子工作室 關於《幽夢影》 作者張潮,記寫他個人對人生世事之體驗透悟的 書。 書中文字,全為「語錄」形式,屬於格言,也是 最精鍊的隨筆。 全書可分為九卷:論才子佳人、論人與人生、論 朋友知己、論讀書、論閒情逸趣、論立身處世、 談文論藝、論四時佳景、論花鳥蟲魚。
成人高考高起点 语文 冲刺班 主讲老师:邓君媚. 复习指导 高考语文含四大块内容: 语言知识和语言表达,古代诗文阅读,现 代文阅读,写作。 在全面复习的前提下,按照《考试大纲》 的要求,要做好思路整理,建立高考的整体框 架的工作。认真归纳整理基础知识、培养基本 能力,复习做到有的放矢。 复习指导.
第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
老师,我可以不 爱 吗? 山东省淄博市张店区实验中学 杜桂兰 星期一的早晨,我紧张而又兴奋,因为 我的赛教课就要开始了。 这是一次级别很 高 的竞赛。
财政部 国家税务总局 中国人民银行(央行) 银监会 证监会 保监会. 法定存款准备金率 利率 税率 政府投资 楼继伟,周小川,易纲.
油蔴菜籽 指導老師:陳瑜霞 學生: 商設一甲 謝旻璇 車輛三乙 許勝傑 工管四甲 彭凱雲. 作者介紹: 廖輝英( 1948 年生)臺大中文系畢業。 從初三開始寫作,早期作品多以散文為主,大四 畢業時才暫時封筆。畢業後進了廣告界,成為廣 告文案好手,後為企畫主管,在廣告界縱橫十餘 年,也曾任職於建設公司,辦過社區報高雄一周。
蘭嶼情人洞傳說 林庭羽製 林庭羽製. 台灣的蘭花特別多,台灣有個蘭 嶼島,島上面的蘭花更多.所以 叫蘭嶼.這裡留下了動人的傳說。
職業訪談報告. 成員 : 鐘怡君 劉沛君 謝明達 賴映辰.
南台科大幼保實習課程 見習幼兒園心得報告 夜四技幼保四甲 998i0021 黃欣婷.
芋見豆花 南臺科技大學─四技應用日語系 組員: 應用日語一乙 4A3E0003 江佳蓁 應用日語一乙 4A3E0006 鄭怡芳
第一章 生殖 1‧2 無性生殖.
高教三十条 — 科技创新能力提升 科技创新能力提升工程方案起草小组 2013年7月4日.
你不可不知之 十二年國教二三事 教務主任:傅瑞琪.
鞋 楦 的 材 質.
最古怪的15種動物.
走! 一起去拜訪筏子溪.
台灣文學館之旅.
單車環島之旅 組員: 495D0072 胡閎智 495D0074 何冠緯 495D0020 王怡雯 495D0047 葉亭君
 耕地分割 及 執 行 內政部地政司 視察:林玲女.
~完備、周密、迅速 ~ 行政院農業部畜產試驗所
建筑设计基础讲义 (02-1) 建筑水彩渲染.
現代文學導讀 (中國現代散文發展的歷史軌道)
谨以此文—— 送给所有的人.
方 孝 孺 指喻.
保護地球人人有責:我能做的事 若想讓地球、人類社會明天會更好的話,可以考慮日常生活中採取什麼綠色行動,逐步恢復按上天設計大自然規定的方式做人,從而減少個人的「生態足印」,爭取可以延續的未來。 
小 王 子 <第六組> 組長: 謝汶芳 組員: 劉佳蓉 曹展愛 陳建妏
據說: 烏鴉有四種--- 巨烏 祥烏 鳳烏 慈烏~ 知恩 感恩 報恩.
桃園傅小弟遭刺青施虐事件 指導老師:高家斌 班級:幼保四甲 姓名與學號: 496I0004 程千芸、496I0010 林昀嫻
北科大學士學位 冷凍空調 甲、乙、丙 級技術士 三年工作經驗 大一階段 專精訓練 大三階段 回流訓練.
高齡自主學習團體終身學習試辦計畫經費核銷
台北縣98年三鶯區語文研習 --建國國小 修辭與標點符號 福和國中廖惠貞
编程 重庆市经贸中等专业学校 曾洪兵.
有三件事我很確定: 第一、愛德華是吸血鬼 第二、出於天性,他渴望喝我的血 第三、我無可救藥地愛上他了……
2-何鍇卉 14-曹凱茹 19-陳亮妤 21-陳思瑜 37-蔡庭瑜 39-賴俞亨 40賴思恩
第二章 进程的描述与控制管理.
第二章 项目一:企业厂区与车间平面设计 1.
陶板屋 組員:陳婷 劉峻愷 趙崇佑 陳鵬如.
你,是扼殺 孩子競爭力的幫兇嗎?.
坚持群众路线 实现中国梦 nice队制作 成员:14金融1班陈云凤 14金融2班王文婷 14会计3班吴丹丹.
第五章 处理机管理 5.1 引言 5.2 调度算法 5.3 调度算法性能分析 5.4 实时调度 5.5 多处理机调度 5.6 调度算法举例
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
第8章 机床操作 主讲:臧红彬 博士.
Chapter 13 輸入/輸出系統 (I/O Systems)
公務員廉政倫理規範.
第一章 引论 1.1操作系统的概念 计算机系统: 计算机硬件 计算机软件 计算机硬件:运算器、控制器、存储器、输入设备和 输出设备
組 員: 王 新 惠 吳 映 暄 李 盈 慧 廖 香 涵 盧 姵 華 訪談日期:
也許你很疑惑: 最近升官的同事,專業能力又沒你強! 情場得意的朋友,長的又沒你帥或美! 小曹要交新朋友,為什麼就是比較簡單!
第4章 作業系統的介紹及操作.
詩文的形成 有意義的字詞 句子 段落 一首詩文的形成,是由有意義的字詞組成句子,再由句子組成段落。
作業系統 第三章 作業系統結構.
操作系统的结构和硬件支持 第2章 操作系统的结构和硬件支持.
基础篇 微型计算机系统 硬件系统 软件系统 操作系统基础 作业 计算机编码和数制 系统综述.
Process Description And Control
李元金 计算机与信息工程学院 第 14 讲 存储器管理(3) 李元金 计算机与信息工程学院 1/
李元金 计算机与信息工程学院 第 12 讲 存储器管理(1) 李元金 计算机与信息工程学院 1/
組員:.
 主講人:楊文明主任委員   106/06/30 中華電信職工福利委員會台北分會業務簡介.
Presentation transcript:

§3.4 进程控制 进程从创建到消灭的整个自下而上期中有三个基本状态,称为进程调度状态:执行、就绪、等待(阻塞)。

一、实际上,为了更好地管理和调度进程及适应系统的功能目标,许多系统中都有“挂起” 和“解除挂起 ” (即解挂)进程的功能: 1. 系统有时可能出故障或某些功能受到破坏,这时需要暂时将系统中的进程挂起,以便系统把故障消除后,再恢复原来状态。 2. 用户检查自己作业的中间执行情况和中间结果时,因同预期想法不符而产生怀疑,这时用户要求挂起他的进程,以便进行某些检查和改正。

3. 系统中有时负荷过重 (进程数过多),资源数相对不足,从而造成系统效率下降,此时需挂起一部分进程以调整系统负荷,等系统中负荷减轻后再将挂起进程恢复运行。 表示具有挂起和解挂功能的系统中进程的状态,新增加了新的状态 挂起就绪 (readys) 挂起等待 (Blockeds) 活动就绪 (readya) 活动等待 (Blockeda)

注:挂起命令可由进程自己或其它进程发出;而解挂命令只能由其它进程发出。 wakeup (唤醒) 事件发生 Readya Blockeda 时间片完 schoduler 等待事件 sleep 被调度 Running 解挂 active 挂起 suspend 挂起 suspend 解挂 active Readys 挂起suspend Blockeds 事件发生 wakeup (唤醒) 图:具有挂起功能的进程状态变化 注:挂起命令可由进程自己或其它进程发出;而解挂命令只能由其它进程发出。

二、进程的原语 1. OS的内核 为了对进程控制,系统中必须设置一个机构,它具有创建撤消以及进程通讯和资源管理等功能,这样结构称为OS的内核 (kernel)。 内核本身并非一个进程,而是硬件的首次延伸,即它是加到硬件上的第一层软件。 内核是通过执行各种原语操作来实现各种控制和管理功能的。

2. 原语 (primitive) 原语是机器指令的延伸,是用若干条机器指令构成的,用以完成特定功能的一段程序。为保证操作的正确性,原语在执行期间是不可分割的。 在许多机器中为了实现上的方便,规定在执行原语操作的要屏蔽中断,以保证原语操作的不可分割性。

为了对系统中的进程进行有效的管理,通常系统都提供了若干基本的操作,这些操作通常被称为原语。 用于进程控制的原语有: (1) 创建进程原语 (2) 撤消进程原语 (3) 挂起进程原语 (4) 解挂进程原语 (5) 阻塞进程原语 (6) 唤醒进程原语 (7) 调度进程运行原语 (8) 改变优先级原语

(1) 建立进程原语 一个进程如果需要时,它可以建立一个新的进程。被建立的进程称为子进程,而建立者进程称为父进程。所有的进程只能由父进程建立,不是自生自灭的。

各系统的建立进程原语就是供进程调用的用以建立子进程使用的。该原语的主要工作是为被建立进程建立起一个进程控制块PCB,并填入相应的初始值。其主要操作过程是先向系统的PCB空间申请分给一个空闲的PCB,而后根据父进程所提供的参数,将子进程的PCB表目初始化,最后返回一个进程内部名。参数为:进程名(外部标识符)n;处理机的初始状态(或进程运行现场的初始值,主要指名寄存器和程序状态字初始值)S0;优先数k0;父进程分给子进程的初始主存区M0和其它资源清单(多种资源表)R0等。

建立进程原语的工作大致描述为: procedure Create (n, S0, k0, M0, R0) begin /  请求分配PCB空间  i : = Get Internal Name(n); /  初始化PCB  Id(i) : =n;  Priority(i) : = k0;  Cpustate(i) : = S0;  Main Store(i) : = M0;  Resources(i) : = R0;  Status(i) : = Readys  Parent(i) : = CALLER /  插入就绪队列  Insert(RL,i); end

程序中的第语句是调用查找进程名过程“ Get Internal Name ”,参数为进程外部名n。该过程查找PCB集合,如已有此同样外部名进程则返回出错消息,否则返回一个空闲的PCB内部标识号i。 第语句是把进程外部名n登记到第i个PCB的相应外部名表目中。 语句是往PCB中登记优先数。 语句登记现场状态初始值 S0到相应的现场保留区中或Cpustate中。

,分别记入主存和资源的初始占有情况,这是由父进程将自己的一部分资源分给子进程的。 是把进程初始状态置为“ 挂起就绪 ”。 语句中CALLER代表调用本过程的父进程之内部标识号,将它记入子进程PCB的父进程名这一栏。 语句也是调用插入过程Insert,其中RL表示就绪队列,即把进程i插入就绪队列。

(2) 挂起与解挂原语 在挂起原语的作用下,进程的状态由活动转为静止,而激活原语则处于静止状态的进程变为活动,即把“ 静止就绪 ” 变为“ 活动就绪 ”,将“ 静止阻塞 ” 变为“ 活动阻塞 ”。 如激活具有指定标识符的进程的操作可描述为:

procedure activate (n:) begin i : = get internal name (n): if status(i) : = “ readys” then status(i) : = “ readya” else status(i) : = “ blockeda”; if status(i) : = “ Readya” then Scheduler end

说明: 1. 首先根据进程外部名n,找出其内部名i; 2. 看其状态是“ readys” 还是“ blockeds”; 3. 假若状态是“ Readya”则由于此进程挂起了很长时间才解挂,其优先数可能改变,所以调用处理机调度程序 (scheduler) 来为高优先级进程抢占由一个低优先级进程占用的处理机。

(3) 改变进程优先级原语 进程的优先级是表示进程的重要性及运行的优先性,供进程调度程序调度进程运行时使用。为了防止一些进程因优先级较低,而长期得不到运行的情况。许多系统采用动态优先级,即进程的优先级不是固定不变的,而是按一定原则变化的。

通常进程的优先级与以下因素有关: (1) 作业开始时的静态优先数。作业的优先数取决于作业的重要程度;用户为作业运行所付出的价格和费用大小;作业的类型等因素; (2) 进程的类型。一般系统进程的优先级大于用户进程的优先数;输入输出型进程的优先级大于CPU型的进程,这是为了充分发挥系统输入输出设备的效能;

(3) 进程所使用的资源量。随着使用CPU时间愈多,其优先级愈来愈低。对其它资源使用的情况的考虑也类似。 (4) 进程在系统中等待时间。等待时间愈长,优先级就愈高。

各系统出于不同考虑,有不同的优先数计算公式。这些公式主要来自于实践经验。以UNIX系统为例,其优先数的最小值为-100,最大值为127。其值越小,优先级越高。用户进程的优先数总是大于等于100。对优先数大于等于100的进程,系统为其每秒重算一次优先数。 计算公式如下:

PCPU,对当前运行进程每20毫秒加1,直至255为止。对其它进程每秒减10,直到小于10为止。所以这是一个与进程运行时间和等待时间有关的量; Pnice,这是一个与进程本身情况有关的参数,通常为正。用户是通过系统调用nice设置的。 由公式可以看出,一个进程占用CPU时间增加,它的优先级下降。而长期不被理睬的进程,其优先级将会相对提高。

改变某进程n的优先数的原语大致可描述如下: procedure Change Priority(n) ; begin i : = Search Internal Name (n) ; Pri(i) : = Calculate Priority(i) ; if Status (i) = Readya then begin Insert (RL, i, Pri) ; SCHEDULER end end

程序首先根据进程外部名n找出其内部名i,然后调用计算优先数公式算出优先数并登记到进程 i 的PCB中。当该进程状态为活动就绪,则一方面将进程 i 按其优先数插入就绪队列的适当位置,并调用 SCHEDULER,并决定是否可能抢占某个处理机使用。

三、O.S与进程控制的执行 操作系统是管理和控制进程执行的。操作系统本身是程序的集合,它与用户程序一样需要使用处理器来执行操作系统程序。 操作系统如何才能得到对处理器的控制,得到控制后运行方式如何?

1. 操作系统得到控制与进程间的开关(Switch) 操作系统是经由中断方式才得到对处理器的控制。当进程在处理器上执行时,处理器是运行在用户模式(用户态或目态)。当中断发生时,当前进程的执行被打断。从而执行操作系统的相应的中断处理程序,于是操作系统得到了对处理器的控制,直到处理完成后,操作系统才把处理器的控制权交还原来被中断进程,或交给其他就绪进程运行。 目态->管态->目态

常见引起打断进程的执行,把控制转给O.S.的事件机制。 (1) 时钟中断 时钟中断处理程序如果是当前运行进程时间片到,或定时钟唤醒实时进程或延迟处理进程。这时中断处理程序将调用进程调度程序调度其他进程来执行。

(2) I/O设备中断 如果中断处理程序发现I/O正常完成,并有一个或多个进程正被阻塞,等待该I/O中断。那么中断程序要把这些阻塞进程的进程状态改为就绪,并把它们从阻塞队列移到就绪队列中去,最后调用进程调度程序决定是由原来进程还是由其他进程来运行。

(3) 存储访问故障中断 如果进程要访问的地址不在主存中(如缺页等),则需要把它们调入主存,这涉及等待时间较长的I/O操作。于是中断管理程序通过进程调度程序调度其他就绪进程运行,即引起了处理器在进程间切换。

(4) 访问管理程序中断 当处理器发现用户程序中的指令是访管指令,则自动触发本中断。中断管理程序调用相应管理程序为用户进程服务,如启动I/O,打开文件,分配主机等,通常会导致现行进程被阻塞。

处理器执行模式的开关: 用户进程被中断或调用操作系统功能(访问管理程序)均引起处理器执行模式开关,即由用户模式(目态) 内核模式(管态)。模式开关会引起系统开销,但开销很小。因为处理器执行模式的标志位,有些系统是在程序状态字中,通过存、取PSW就执行了模式开关。

进程之间的开关 操作系统执行过程中引起进程之间的开关。从上面关于中断驱动,使操作系统处理中断后,很多情况下,引起CPU在进程之间切换。进程间开关开销是比较大的。首先原来的运行进程的状态要改变为就绪或阻塞,那么它的PCB中的有关信息均应作相应变化,包括现场信息的保存。它的PCB将移到相应了列中去。其次需要为新选出的就绪进程的PCB改为运行状态,移出就绪队列,修改存储管理的有关表格,把新选出进程PCB中的寄存器和PSW中的值装入系统处理器的各寄存器和PSW中去。

2. 操作系统的执行方式 (1) 非进程的内核方式 如图a所示,操作系统整个处于内核模式,执行于所有进程的外部,并与它们分离的。每当运行的用户进程被中断,或者要求访问管理程序时,进程的现场信息保存起来,控制转给操作系统,并执行内核模式。这种方式是多数的老操作系统采用的方式,当时进程的概念只用于用户程序。

进程A 进程N … 操作系统 图a

(2) 在用户进程内部执行 这种方式多用于小型和微型操作系统中。由于每个进程都要使用操作系统服务功能,于是与虚拟技术类似的假想每个进程都有一个操作系统,认为操作系统与用户进程是上下文相关,操作系统的地址空间被包含在每个进程的地址空间之内。每当进程被中断和调用管理程序功能时,操作系统均在该用户进程的地址空间内执行,但处理器的执行模式仍然由用户模式改为内核模式。

这种方式的最大优点是,用户进程被中断或调用管理程序时,操作系统仍然在该进程地址空间内执行,没有进程之间开关发生(仅有处理器执行模式的开关)。UNIX操作系统就属于这种方式,而图a的方式中,进程被中断和调用管理程序,当控制转给操作系统,就已经从原来的进程转出来了。

进程A 进程N … OS功能 OS功能 进程开关功能 图b

(3) 操作系统进程方式 操作系统的各种功能作为系统进程运行,操作系统的实现,是这些系统进程的集合运行的结果,这些进程也称之为服务器或服务器进程,与用户进程的关系构成客户/服务器模式。这种方式的优点是便于应用软件工程中原则,设计操作系统的有关成分,使之具有高度模块独立性,高内聚,低耦合的模块。另外这种方式非常适合于多机系统和分布式环境。Windows NT可认为属于这种方式。

进程N 进程A OS进程1 OS进程i … 进程开关功能(微内核) 图c