2022年1月6日

现代操作系统:进程与线程(十一)

摘要: 2.5 Classical IPC Problems经典IPC问题 2.5.1 The Producer-Consumer(or Bounded Buffer)Problem / 2.5.2 The Dining Philosophers Problem哲学家进餐问题 这是迪杰斯特拉的一个经典问题, 阅读全文

posted @ 2022-01-06 15:06 ThomasZhong 阅读(48) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(十)

摘要: 2.4.4 Sleep and Weakup睡眠与唤醒 注意:Tanenbaum提出了忙碌等待(如上所述)和阻塞(进程切换)两种解决方案。我们只研究忙碌等待的解决方案,它更容易实现阻塞解决方案。Sleep和Wakeup是最简单的阻塞原语。休眠自动阻塞进程,而唤醒则解除阻塞休眠进程。然而,睡眠和唤醒是 阅读全文

posted @ 2022-01-06 15:03 ThomasZhong 阅读(83) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(九)

摘要: 2.4 Interprocess Communication (IPC) and Coordination/Synchronization 2.4.1 Race Conditions竞争条件 满足以下全部条件时产生竞争条件: a. 两个进程(或线程)A和B各自将要执行一些(可能不同的)操作; b. 阅读全文

posted @ 2022-01-06 15:01 ThomasZhong 阅读(76) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(八)

摘要: Selfish RR(SRR, **, SRR, **)自私的时间片轮转 SRR是一种抢占式调度策略,在这种策略中,非阻塞(即就绪和运行)进程被分为两个类:被接受的进程-使用RR调度;其他的进程-在被接受之前不会运行。(也许SRR应该代表自私的RR)。 被接受的 RR +a priority 不被接 阅读全文

posted @ 2022-01-06 14:53 ThomasZhong 阅读(151) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(七)

摘要: 2.3.2 Scheduling in Interactive System交互式系统的进程调度 以下算法也可以用于批处理系统,但在这种情况下,使用这些调度算法带来的增益可能无法抵消其带来的额外复杂性。 Round Robin(RR, RR, RR, RR)时间片轮转调度算法 轮循是一种重要的抢占式 阅读全文

posted @ 2022-01-06 14:47 ThomasZhong 阅读(105) 评论(0) 推荐(0) 编辑

2021年10月26日

现代操作系统:进程与线程(六)

摘要: 2.3 Process Scheduling进程调度 注意:我们将在2.3节之前做2.4节,因为2.3节和2.5节是密切相关的;在我看来,介于2.4之间似乎有些尴尬。在处理器上调度进程通常称为处理器调度、进程调度、简单地调度。正如我们在本课程后面将看到的,更准确的名称是短期处理器调度。当我们学习调度 阅读全文

posted @ 2021-10-26 11:11 ThomasZhong 阅读(97) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(五)

摘要: Challenges and Questions挑战和问题 假设一个进程有几个线程,如果这些线程之一执行了以下操作,会发生什么? 执行fork()开辟一个新进程; 关闭一个文件; 请求更多的内存; 通过lseek移动文件指针; 看一个好玩的问题理解一下: pid_t pid1 = -1, pid2 阅读全文

posted @ 2021-10-26 11:07 ThomasZhong 阅读(188) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(四)

摘要: 2.2 线程 进程的一个关键特性是进程具有一定的隔离性:当一个程序执行x++时,在同时运行的另一个程序中的x值并不会增加,但是这一特性同样会带来一些问题。 如上图所示,线程背后的思想是让多个控制线程在单个进程的地址空间中运行。地址空间是一个内存管理的概念,在本章节中我们可以先将地址空间看成是进程运行 阅读全文

posted @ 2021-10-26 11:05 ThomasZhong 阅读(90) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(三)

摘要: 2.1.5 进程的实现 操作系统将关于每个进程的数据组织在一个表中,很自然地称为进程表(Process Table)。该表中的每一项称为一个进程表项(Process Table Entry)或进程控制块(Process Control Block)。 进程表的特点:a. 每个进程表项表示一个进程;b 阅读全文

posted @ 2021-10-26 11:01 ThomasZhong 阅读(175) 评论(0) 推荐(0) 编辑

现代操作系统:进程与线程(二)

摘要: 2.1.4 Process States and Transitions进程状态和转换 首先只需要看上面一个三角形之间的关系,首先表明了进程的三个基本状态: Running运行态:进程的外部执行条件满足(已获取到运行时需要的资源)且进程已获得CPU,表明该进程正在执行,单处理器系统中(单核)有且只有 阅读全文

posted @ 2021-10-26 10:56 ThomasZhong 阅读(117) 评论(0) 推荐(0) 编辑

导航