操作系统-第二章(重点,难点)

进程是操作系统中最为重要的概念,本章是全书最为重要的一章。

1.进程的基本概念

1)为何要引入进程?进程的组成三部分是哪三个部分?
为了能够使程序并发执行,并且可以对并发执行的程序加以描述和控制。
程序段、相关的数据段、PCB。

2)进程与程序的联系和区别。
联系:①进程是操作系统处于启动状态程序的抽象②同一个程序的多次执行过程对应不同的进程③进程需要的资源
区别:①进程是动态的,程序是静态的②进程是暂时的,程序是永久的③组成不同

3)进程有哪三个基本状态,这三个基本状态在一个进程的生命期呈现的特点是什么?它们是如何随着进程的执行和外界条件的变化不断地切换?
便于理解,直接见图:进程三种基本状态及其转换
4)进程的标识:进程控制块(PCB)定义,所包含的信息有哪些? 各进程的PCB如何组织以方便操作系统管理。
①进程标识符②处理机状态③进程调度信息④进程控制信息
为了便于管理,系统通常用线性方式或链接方式或索引方式将这些PCB组织起来。

2.进程同步的基本概念

进程同步是保证操作系统中诸进程间能协调运行的关键。

1)进程并发执行会受到哪两种制约,这两种制约会带来哪些问题?
①间接制约,主要源于资源共享②直接制约,主要源于进程合作
进程在运行过程中是否能获得处理机运行与以怎样的速度运行,并不能由进程自身所控制,由此会产生对共享变量或数据结构等资源不正确的访问次序,从而造成进程每次执行结果的不一致。

2)进程同步的概念(同步有广义和狭义两种理解,注意区分)
进程同步是指对多个相关进程在执行次序上进行协调,它的目的是使系统中诸进程之间能按照一定的规则(时序),即狭义的同步。共享资源和相互合作,从而使程序的执行具有可再见性。广义上,便是进程互斥。

3)临界资源的概念,临界资源为何为互斥性访问?
为了使多个进程能有效地共享临界资源,并使程序的执行具有可在现性,系统必须保证进程互斥地使用临界资源。

4)临界区,为了保证进程互斥进入自己的临界区应采用什么样的机制?
信号量机制:①整型信号量②记录型信号量③AND型信号量④信号量集

5)同步机制就遵循的准则有哪四条?
空闲让进、忙则等待、有限等待、让权等待。

3.信号量机制及其应用

信号量机制是一种卓有成效的进程同步机制。

1)信号量的含义
信号量可用来描述程序或语句之间的前趋关系,能使多个进程互斥地访问某个临界资源。

2)如何用信号量实现临界资源的互斥?(信号量的初值 ,PV操作在程序所处的位置)
设置互斥信号量mutex,并将其初值置为1,然后将访问该资源的临界区置于wait(mutex)和signal(mutex)之间。

3)如何用信号量实现进程同步机制?(信号量的初值 ,PV操作在程序所处的位置, 进程前趋图实现)
若P₁是P₂的直接前趋,即P₁→P₂,则可设置一个初值为0的公用信号量S,并将signal(S)操作放在P₁之后,而在P₂的前面插入wait(S)操作,以P₂保证在P₁完成后才开始执行。

4)了解AND型信号量机制概念和信号量集机制概念
AND同步机制的基本思想:将进程在整个运行过程中需要的所有资源,一次性全部地分配给进程,待使用完后在一起释放只要尚有一个资源未能分配给进程,其它所有可能为之分配的资源也不分配给它。
信号量集:对进程所申请的所有资源以及每类资源不同的资源需求量,在一次P、V原语操作中完成申请或释放。

4.管程

管程也是一种进程同步机制

1)管程的定义,管程的组成
管程是由一组局部的共享变量、对局部变量进行操作的一组过程以及对局部变量进行初始化的语句序列构成的一个软件模块。
更直观的理解,看下图
管程示意图

5.经典进程的同步问题

生产者-消费者问题

1)问题的定义:
在阅读问题时,可从以下几个方面分析问题
a)有哪些进程?
b)进程要访问哪些数据,其中临界资源是什么?
c)不同进程对执行时间有无要求?

2)整理进程间互斥与同步关系
a)互斥关系: 由临界资源互斥共享引起
b)同步关系:由相关进程对执行时间有具体要求

3)如何实现进程互斥与同步
a)如何设置信号量,初值的设定
b)PV操作在对应进程放置的位置

哲学家进餐问题

1)问题的定义:
在阅读问题时,可从以下几个方面分析问题
a)有哪些进程?
b)进程要访问哪些数据,其中临界资源是什么?

2)整理进程间互斥
互斥关系: 由临界资源互斥共享引起

3)如何实现进程互斥
如何设置信号量,初值的设定

4)如何用AND信号量解决

读者-写者问题

1)问题的定义:
在阅读问题时,可从以下几个方面分析问题
a)有哪些进程?
b)进程要访问哪些数据,其中临界资源是什么?

2)整理进程间互斥
互斥关系: 由临界资源互斥共享引起

3)如何实现进程互斥
如何设置信号量,初值的设定

6.消息传递通信机制

1)进程间通信的分类
共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统。

2)高级进程通信方式具体有哪些方式?
直接通信、信箱通信

3)直接消息传递系统
a)通信原语
b)一定的消息格式
c)进程同步
d)通信链路
消息缓冲队列通信机制: 它是一种直接通信实现机制。

7.线程的基本概念

1)为何引入线程
为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。

2)线程具有哪些特征(拥有资源量,并发性,调度性,系统开销等)

  • 调度和分派的基本单位
  • 一个进程中的所有线程都能并发执行,不同的进程中的线程也能并发执行
  • 拥有少量资源
  • 独立性低
  • 线程创建或撤销的开销更小,切换代价远低于进程
  • 支持多处理机系统

3)线程的组成
线程ID、当前指令指针、寄存器集合、堆栈。

4)线程实现方式
a)内核支持线程
b)用户级线程

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值