操作系统概念第七版abraham Silberschatz著知识点总结---第四章

Chapter4 进程管理

22.进程的概念

在过程出现之前:

·批处理系统——工作;

·多程序或分时-程序或任务。

进程 :正在运行的作业/程序/任务的抽象

进程不仅仅是一个程序,进程的组成有

a程序文件的文本部分(可执行机器代码);text section

b.程序文件中的数据部分(全局变量);data section

c.处理器寄存器的内容;  registers

d.包含函数参数、返回地址和局部变量等临时数据的栈; stack

e.堆,即在必要时被动态分配的内存;heap

f.许多其他资源,如开放文件等。

进程在内存中的图像:


23 .进程和程序的区别

a.程序是驻留在某些存储中的被动实体;而进程是一个活动的实体,它包含除程序之外的许多资源。

b. 许多进程可能运行相同的程序。但是:

· 它们被认为是独立的执行序列,尽管它们共享相同的文本部分;

· 其他资源通常是不同的。

24. 进程状态

当一个进程执行时,它会改变状态。进程的状态由其当前活动定义。

每一进程可处于下列状态之一:

    new-正在创建进程;

   running-正在执行指令;

   waiting——进程正在等待某些事件发生;

   ready-进程正在等待分配给处理器;

  terminated终止——进程已经完成了它的执行。

25  状态转换

Admitted承认 :已创建流程并准备运行;

调度器分派schedulerdispatch:调度器选择要运行的进程;

中断interrupt:已发生的中断;

I/O事件等待I/Oevent wait  : I/O完成或接收信号的进程块;

I/O事件完成completion:I/O已完成/已发生事件;进程已经完成了它的执行。

 


这五种状态之间有六种转变


26 进程控制块process control block

每个进程在操作系统中由一个进程控制块(PCB)表示。也称为

任务控制块。

笔记:


· 进程号process number是进程的唯一标识符,也称为PID。

· 程序计数器(PC)program counter是一个寄存器。

· 调度信息scheduling information包括进程的优先级等。

 27 进程调度

当运行进程由于某种原因无法继续运行时,操作系统必须决定接下来运行哪个进程

三个主要问题:

·当前运行的进程发生了什么?

·如何跟踪每个进程应该做什么?

·如何决定接下来运行哪个进程?

问题1 当前运行的进程发生了什么?    --------------上下文切换Context switch


上下文切换:

 上下文切换是纯粹的开销。根据底层处理器的不同,它可能会消耗大量的CPU周期。

上下文切换已经成为性能瓶颈,程序员可以使用新的结构来尽可能地避免它。

问题2如何跟踪每个进程应该做什么?---------调度队列,I/O设备队列

      

调度队列:

作业队列job queue-由系统中的所有进程组成;

就绪队列ready queue等待CPU执行的进程组成;

队列图queuing diagram是操作系统中流程调度的常见表示


操作系统还有其他队列

I/O设备队列device queue——由等待特定I/O设备的进程组成。

各式I/O设备队列:


问题3如何决定接下来运行哪个进程?-------------调度器scheduler

这个决定是由调度器做出的。调度器从就绪队列中选择一个进程并将CPU分配给它。

我们称这个调度器为CPU调度器。

28进程协同 cooperatingprocess       生产者消费者问题

一个进程可以

独立:不受其他过程影响或影响其他进程

否则合作

进程协同有几个优点:

· 信息共享information sharing:多个进程可能对同一条信息感兴趣;

· 计算加速computation speedup:将问题分解成几个可并行运行的子任务;

· 模块化modularity:通过设计将不同功能的过程分开;

但是,协作进程的并发执行需要允许进程相互通信并同步它们的操作的机制。

例子:生产者消费者的问题:

A生产者进程产生被消费进程消耗的信息

为了允许生产者和消费者进程同时运行,我们需要:

· 可以由生产者填充并由消费者清空的缓冲区;

· 使生产者和消费者同步。

根据缓冲区的大小,我们有

· 无边界缓冲区的生产者和消费者问题;

· 有边界缓冲区的生产者和消费者问题。

有边界缓冲区的生产者和消费者问题:

   1.通过使用进程间通信(IPC)设施,操作系统可以提供缓冲区。程序员只需使用系统调用来填充或清空缓冲区。

2. 缓冲区也可以位于一块共享内存中,对于生产者和消费者都是可访问的。在这种情况下,程序员必须自己管理共享缓冲区

3.实现:共享内存有界缓冲区的生产者和消费者问题的解决方案:

  /  Shared   v a r i a b l e s   /

#define   BSIZE   10

s truct{

  ....} item   b u f f e r [ BSIZE ] ;

int    in   =  0 ,   out =  0 ;


29 进程间通信IPC

在生产者和消费者问题中,我们说缓冲区可以由操作系统提供。操作系统必须同步生产者和消费者对缓冲区的访问。

IPC是什么?

IPC提供了一种机制,允许进程在不共享相同地址空间的情况下进行通信和同步它们的操作。

例子: 消息传递、管、套接字等。Message-passing,pipe, socket, etc

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《操作系统概念:第九》是由Abraham Silberschatz、Peter B. Galvin和Greg Gagne合的一本计算机科学领域的经典教材。本书系统地介绍了操作系统的基本概念、原理和设计方法,深入讨论了多道程序、处理器调度、内存管理、文件系统等重要主题。 该书可以分为七个主要部分。第一部分介绍了操作系统的概述,包括操作系统的作用、功能和发展历史。第二部分探讨了进程管理,包括进程的创建、调度、同步和通信。第三部分涵盖了内存管理,包括分区管理、页面置换算法和虚拟内存等内容。 第四部分介绍了文件系统,包括文件和目录的组织、磁盘调度以及文件系统的实现。第五部分讨论了输入/输出系统,包括驱动程序、设备管理和磁盘存储等。第六部分介绍了分布式系统和并行操作系统,包括网络和分布式文件系统。最后一部分讨论了安全性和保护机制,包括访问控制和安全策略等。 该书采用了清晰的语言和生动的例子,结合了最新的研究成果和实际案例,使读者更容易理解和应用操作系统概念。此外,书中还包含了大量的习题和实践项目,帮助读者加深理解,并将所学知识应用到实际问题中。 《操作系统概念:第九》是一本全面且权威的操作系统教材。它不仅适用于计算机科学专业的学生,也适用于从业人员和对操作系统感兴趣的读者。无论是在理论研究还是在实践应用方面,这本教材都是值得一读的重要参考书。 ### 回答2: 《操作系统概念(abraham silberschatz pdf)第九》是一本面向计算机科学专业学生和专业人士的经典教材。本书对操作系统概念和原理进行了详细而全面的介绍。 首先,本书从操作系统的角度定义了计算机系统,并解释了它的组成部分。书中详细讨论了进程管理、内存管理、文件系统、输入输出管理等关键概念,并提供了相应的算法和实例。此外,本书还介绍了多处理器系统、并行计算和分布式系统等现代操作系统的新兴技术。 此外,本书还对操作系统的设计与实现进行了探讨。作者详细解释了操作系统的内核设计和模块化,提供了实践项目和实验手册,帮助读者深入理解操作系统的实际运作。并且,本书还对操作系统的安全性和保护机制进行了介绍,让读者了解如何保护计算机系统免受恶意软件和非法访问的侵害。 此外,本书在自愿顺序和并发性方面提供了许多实例和案例研究。它详细介绍了进程同步、进程互斥、死锁的原因和解决方法,让读者有系统地了解并理解操作系统的关键概念。 综上所述,《操作系统概念(abraham silberschatz pdf)第九》是一本经典的操作系统教材,对操作系统概念和原理进行了全面而深入的介绍。无论是对于计算机科学专业学生还是专业人士,都是一本值得阅读和参考的书籍。 ### 回答3: 《操作系统概念(第九)》是Abraham Silberschatz等人合的经典教材。本书详细介绍了操作系统概念、原理、设计和实现等方面的知识。 首先,操作系统是计算机系统中最基础的软件之一,它负责管理计算机的硬件和软件资源,为用户和应用程序提供一个友好且高效的运行环境。本书从操作系统的基本概念入手,探讨了各种操作系统的常见功能和特性,例如进程管理、内存管理、文件系统等。 其次,在介绍操作系统的各个组成部分时,本书还深入讨论了各种操作系统的设计和实现原理,包括进程调度算法、内存管理策略、磁盘调度算法等等。读者可以通过学习这些原理,了解操作系统是如何高效地管理计算机资源的。 此外,本书还涵盖了一些当前热门的操作系统相关技术和概念,如多核处理器、虚拟化技术、云计算等。这些内容让读者能够紧跟操作系统领域的最新发展,并理解这些技术对操作系统设计和实现带来的挑战与机遇。 《操作系统概念(第九)》以其全面、系统的内容、清晰易懂的语言和详细的例子,深受师生们的喜爱。无论是作为本科生的教材还是研究生的参考书,它都是一本不可或缺的操作系统经典教材。通过学习这本书,读者可以全面掌握操作系统的基本概念和原理,提升计算机科学领域的专业技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值