无标题文章

现代操作系统的功能

提供抽象
提供标准接口
调度资源使用
消费资源

死锁的必要条件

互斥:同一时间只有一个线程可以占有锁
占有并等待:至少一个线程占有着锁并等待其他线程解锁
非抢占:只有占有锁的线程可以解锁
循环等待:t1在等t2,t2在等t3,…,tn在等t1

进程的三种状态

运行(running):进程正在CPU运行
就绪(ready):准备好运行但还未在CPU运行
等待(waiting):等待一些事件比如I/O发生

当进程执行I/O操作时,进入等待状态

Much of operating system history driven by relative cost factors of hardware and people. Hardware started out fantastically expensive relative to people and the relative cost has been decreasing ever since. Relative costs drive the goals of the
operating system.
■ In the beginning: Expensive Hardware, Cheap
People Goal: maximize hardware utilization.
■ Now: Cheap Hardware, Expensive People Goal:
make it easy for people to use computer.

驱动操作系统发展的因素

操作系统的发展取决于人和硬件的相对价值。起初硬件成本显著高于人,后来硬件成本不断下降。这种相对价值决定了操作系统的目标。
起初:硬件成本高人力成本低,操作系统目标:最大化硬件的使用
现在:硬件成本低人力成本高,操作系统目标:让人更加方便地使用计算机

现代操作系统在进程管理提供的三种抽象

进程,虚拟内存,文件系统,同步和通信机制

多道程序设计(multiprogramming)

同一时间有多个进程。

操作系统通过上下文切换实现进程的抽象

上下文切换

终止一个进程,开始(或重启)另一个进程

上下文切换的实现

上下文切换时保存和恢复硬件状态。状态保存在进程控制块(PCB)中。

原子操作

Typically build complex atomic operations up out of sequences of primitive operations. In our case the primitive operations are the individual machine instructions.
原子操作是执行时不受其他任何操作干扰的操作。总而言之,他作为一个整体执行
原子操作执行时不会被线程调度机制打断。
如果一些原子操作按相同的序列执行,最终结果保证是相同的

什么是信号量(semaphore)

信号量是同步的第一步抽象,概念上,指一个支持P和V两个原子操作的计数器
P原子地等待直到计数器大于0,然后减小计数器并返回
V原子地增加计数器
对应到线程,一个线程释放(release)时,将信号量加一。
当信号量<=0时,线程等待。
当信号量>0时,线程通过,将信号量减一。

临界区(critical section)

每个线程中访问临界资源的那段代码,不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。

进程:进程

线程:线程是相应线程状态下的执行流。

进程和线程的区别

线程是相应线程状态下的执行流。线程和进程间的关键区别在于多线程可以共享他们的部分状态。通常,允许多线程在相同的内存上读取、写入(一个进程不可访问另一个进程的内存)。每一个线程也有它自己的寄存器、栈,但是其他线程也可在该线程栈所在的内存上读取和写入。

多线程程序出错

当并发执行时,结果取决于指令是如何交织的,这导致结果是不确定的
所以有可能产生错误,且再现bug是很困难的
为确保正确,必须使一些指令原子化,即当执行这些指令时阻止指令的交织

CPU调度

抢占调度

在抢占模式下,操作系统负责分配CPU时间给各个进程,一旦当前的进程使用完分配给自己的CPU时间,操作系统将决定下一个占用CPU时间的是哪一个线程。因此操作系统将定期的中断当前正在执行的线程,将CPU分配给在等待队列的下一个线程。

非抢占调度

在非抢占的调度模式下,每个线程可以需要CPU多少时间就占用CPU多少时间。

短作业优先调度

进程 到达时间 CPU突发时间
P1 0 8
P2 1 6
P3 2 4
P4 3 6
抢占调度

执行顺序
P1,P2,P3(4),P2(5),P4(6),P1(7),
P1等了16,P2等了4,P3等了0,P4等了8
平均等待时间(Average Waiting Time, AWT)为28/4

非抢占调度

执行顺序
P1(8),P3(4),P2(6),P4(6)
P1等了0,P2等了11,P3等了6,P4等了15
平均等待时间(Average Waiting Time, AWT)为8

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

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,004评论 0 23
  • 1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hie...
    fozero阅读 640评论 0 0
  • Java Thread 总结 【显示目录】 Ø线程的概述(Introduction) 线程是一个程序的多个执行路径...
    夏6阅读 243评论 0 0
  • 园林芳草相隔, 古道深巷楼接。 二十八年未曾别。 满天星河来阅。 阳春三月虫绝, 春寒冰冽鸟歇。 偶尔周末暖阳泽。...
    XXKY阅读 271评论 2 12
  • 有的时候,真的觉得你挺傻的。为什么总是在意一些不好的东西,不去多让自己快乐一点呢。 你宁愿没心没肺,至少可...
    可可爱可乐阅读 335评论 0 1