操作系统-处理器调度

作业,进程,线程

作业

作业是由一组统一管理和操作的进程集合构成,是用户要求计算机系统完成一项相对独立的工作。

所以,作业有作业调度。
作业调度,就是按照操作系统预先规定的作业调度策略,从磁盘的作业后备队列中选择作业调入内,为作业分配所需要的资源并建立与作业相对应的进程。

作业调度的单位是作业。

进程

进程是可并发执行的,具有独立功能的程序在一定数据集合上的一次执行过程,是操作系统进行资源分配和调度的基本单位。

进程状态变化
Paste_Image.png
Paste_Image.png

Paste_Image.png

(1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态。处于此状态的进程的数目小于等于处理器的数目,对于单处理机系统,处于运行状态的进程只有一个。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。
(2)就绪:当一个进程获得了除处理机以外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。
(3)阻塞:也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。

还有创建,终止,挂起。
挂起和阻塞差别:
阻塞:主动进入阻塞,等待系统唤醒。I/O,,等待进程之间通信。
挂起:被动进入挂起,放到外存中,挂起它的人,来负责唤醒。由于资源不足,或是父进程要审核它等原因。

各种状态机,不过是系统怎么实现,
这里系统认为应该有这么多种状态,所以设计了这样的状态机,
用于将各个进程分类,从而好管理而已。

#所以线程的状态是为了解决实际问题方便管理分配二抽象出来的。
#你可以往里面加更多的状态。

中级调度和低级调度都是对进程而言的调度。

中级调度是,在换出内存的进程中确定需要进入内存的进程。

低度调度是按照一定的调度算法从内存的就绪进程队列中选择进程,为进程分配处理器,避免进程对处理器的竞争。

一个CPU怎么可以保证多个程序,可以安然运行?
方法就是恢复现场。恢复上下文。
所以线程就是为了恢复线程而存在的东西。

为此维护了一个结构PCB,用于恢复现场。

PCB
进程标志信息
处理剂状态信息(通用寄存器,指令寄存器,程序状态字寄存器和用户堆栈指针寄存器的内容。)
进程调度信息(调度状态,进程优先级,进程的等待时间。进程执行时间,进程状态变化相关时间)
进程控制信息(程序和数据地址)

PCB表的存储结构:
链表结构:只记录头指针,然后,每一个PCB都有一个指针指向下一个。
索引方式:维护几个表,就绪索引表,阻塞索引表,然后里面存了PCB的地址。

作业调度算法

只是一些为调度而设计出来的算法,看你怎么设计,你也可以设计自己觉得优秀的算法

评价标准:
{
1.处理器利用率
CPU利用率 = CPU的有效工作时间 /CPU总的运行时间
CPU总的工作时间 = CPU有效工作时间+CPU空闲时间
2.响应时间    提交请求,到反应的时间
3.周转时间    作业提交到作业完成
4.系统吞吐量 单位时间完成的进程数目为系统吞吐量
}

调度算法:
1.FCFS 先来先服务
2.短作业优先(抢占的)
执行时间段的先运行。比较的是剩余时间。
3.响应比搞着优先
就是计算响应比而已:
响应比 = 响应时间/处理时间
=( 等待时间+处理时间)/处理时间 =1+ 等待时间/处理时间

为什么不直接比,等待时间/处理时间算了...

4.优先权高优先

进程调度算法

同样也是你可以设计的算法啦。

1.FCFS
2.时间片轮转。TRR算法
3.优先级调度算法
4.多级队列调度算法
将进程分成若干个队列,
不同队列之间,优先级高的队列先调度,
不同对列内部采用不同的调度算法。
5.度级反馈队列调度算法
(书上写了规则,总之,运行时间以会影响有优先级以及分配的时间片)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容

  • CPU调度 什么是CPU调度?为什么要进行CPU调度?如何进行CPU调度?对于多道程序来说(单片系统)CPU只有一...
    金发萌音阅读 2,711评论 0 2
  • 一、CPU调度的相关概念 1.1 cpu调度 其任务是控制、协调进程对cpu的竞争,即按一定的调度算法从就绪队列中...
    yjaal阅读 1,147评论 4 5
  • 进程和线程 进程线程的区别1、进程是什么?是具有一定独立功能的程序、它是系统进行资源分配和调度的一个独立单位,重点...
    HeartGo阅读 1,209评论 0 4
  • 处理机调度与死锁 处理机调度的层次 高级调度/作业调度/长程调度 作用:将外存后备队列中的作业调入内存 对象:作业...
    颜洛滨阅读 838评论 0 1
  • 今天在网上看到了一个简书,上面的文章很棒,觉得这个很方便,就下载了一个,以后自己写写东西也很方便。简书,就是...
    许生说阅读 288评论 0 1