操作系统原理与实例分析Word格式文档下载.docx

上传人:b****1 文档编号:15335197 上传时间:2022-10-29 格式:DOCX 页数:33 大小:33KB
下载 相关 举报
操作系统原理与实例分析Word格式文档下载.docx_第1页
第1页 / 共33页
操作系统原理与实例分析Word格式文档下载.docx_第2页
第2页 / 共33页
操作系统原理与实例分析Word格式文档下载.docx_第3页
第3页 / 共33页
操作系统原理与实例分析Word格式文档下载.docx_第4页
第4页 / 共33页
操作系统原理与实例分析Word格式文档下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

操作系统原理与实例分析Word格式文档下载.docx

《操作系统原理与实例分析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《操作系统原理与实例分析Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。

操作系统原理与实例分析Word格式文档下载.docx

6

程序并发执行引发的问题

协调各程序的执行顺序

例如,当输入的数据还未全部输入内存时,计算必须等待

多个执行程序共享系统资源,程序之间可能会相互影响,甚至影响输出结果

选择哪些、多少个程序进入内存执行?

内存中的执行程序谁先执行,谁后执行?

内存如何有效分配?

7

进程的概念

定义:

可并发执行的程序,在一个数据集合上的运行过程。

申请/拥有资源∽调度(线程)

静态概念,是指令和数据的集合,可长期存储

进程与程序对应关系:

-一个程序可以对应一个进程或多个进程

-一个进程可以对应一个程序,或者一段程序

8

进程的特征

动态性

并发性

独立性

异步性

9

引入进程带来的问题

增加了空间开销:

为进程建立数据结构

额外的时间开销:

管理和协调、跟踪、填写和更新有关数据结构、切换进程、保护现场

更难控制:

-协调多个进程竞争和共享资源如何预防

-解决多个进程因为竞争资源而出现故障

处理机的竞争尤为突出

10

进程的结构

组成(进程映像):

程序、数据集合、进程控制块PCB(ProcessControlBlock)

PCB是进程存在的唯一标志。

创建进程时,创建PCB;

进程结束时,系统将撤消其PCB。

11

PCB

进程标识信息:

进程的内部和外部标识符

处理机状态信息:

通用寄存器值、指令计数器值、程序状态字PSW值、用户栈指针值

进程调度信息:

进程状态、进程优先权、进程调度的其它信息

其它信息:

程序及数据地址、进程同步和通讯机制、资源清单、链接指针

12

PCB的组织方式之一

--单一队列

所有进程的PCB通过链表组织成为一个单一队列。

适用于进程数目不多的系统。

如,Windows操作系统。

13

PCB的组织方式之二

--表格结构

PCB按进程状态不同,组织成不同的表格:

就绪进程表、执行进程表(多机系统中)及阻塞进程表

系统分别记载各PCB表的起始地址

14

PCB的表格结构

15

PCB的组织方式之三

--多级队列

PCB按进程状态不同用链接指针组成不同队列:

就绪进程队列、阻塞进程队列(可按阻塞原因不同,分别组织)

系统分别记载各PCB链表的起始地址

16

PCB多级队列

17

2.2进程的状态

18

进程执行轨迹

进程的轨迹:

进程执行的指令序列,用以观察处理机的执行过程。

例,假设内存中有3个进程A、B、C,他们的程序代码已全部装入内存。

若A、B两进程需要执行12条指令,C进程需要执行4条指令,且C进程执行到第4条指令处必须等待I/O

19

20

假设分派程序分派处理机需要依次执行指令序列:

s+0,s+1,…,s+5

进程A的执行轨迹为a+0,a+1,a+2,a+3,…

进程B的执行轨迹为b+0,b+1,b+2,b+3,…

进程C的执行轨迹为c+0,c+1,c+2,c+3,当它执行到c+3指令时遇到了I/O指令,需要释放处理机,进行输入/输出操作

21

29s+0

30s+1

31s+2

32s+3

33s+4

34s+5

1a+0

2a+1

a+2

a+3

a+4

a+5

35a+6

36a+7

37a+8

38a+9

39a+10

40a+11

7s+0

8s+1

9s+2

10s+3

11s+4

12s+5

13b+0

14b+1

15b+2

16b+3

17b+4

18b+5

25c+0

26c+1

27c+2

28c+3

41s+0

s+1

s+2

s+3

s+4

s+5

19s+0

20s+1

21s+2

22s+3

23s+4

24s+5

7b+6

48b+7

49b+8

50b+9

51b+10

52b+11

22

两状态进程模型

两状态:

执行、未执行

-进程获得处理机,进入执行状态;

当时间片结束或其它某种原因,进程释放处理机,暂停执行,处于未执行状态。

23

两状态进程模型:

队列形式

24

注:

并非所有进程只要“未执行”就处于就绪(ready),有的需要阻塞(blocked)等待I/O完成

“未执行”又可分为就绪和阻塞

25

进程的五状态

执行状态(Running)

就绪状态(Ready)

阻塞状态(Blocked)

新状态(New)

终止状态(Terminated)

26

1.新状态:

进程已经创建,但未被OS接纳为可执行进程

2.就绪状态:

准备执行

3.执行状态:

占用处理机(单处理机环境中,某一时刻仅一个进程占用处理机)

4.阻塞状态:

等待某事件发生才能执行,如等待I/O完成等

5.终止状态:

因停止或取消,被OS从执行状态释放

27

28

①空新状态新创建的进程首先处于新状态。

②新状态就绪状态当系统允许增加就绪进程时,操作系统接纳新建状态进程,将它变为就绪状态,插入就绪队列中。

③就绪状态执行状态当处理机空闲时,将从就绪队列中选择一个进程执行,该选择过程称为进程调度,或将处理机分派给一个进程,该进程状态从就绪转变为执行。

④执行状态终止状态执行状态的进程执行完毕,或出现诸如访问地址越界、非法指令等错误,而被异常结束,则进程从执行状态转换为终止状态。

29

⑤执行状态就绪状态分时系统中,时间片用完,或优先级高的进程到来,将中断较低优先级进程的执行。

进程从执行状态转变为就绪状态,等待下一次调度。

⑥执行状态阻塞状态执行进程需要等待某事件发生。

通常,会因为进程需要的系统调用不能立即完成,如读文件、共享虚拟内存、等待I/O操作、等待另一进程与之通信等事件而阻塞。

⑦阻塞状态就绪状态当阻塞进程等待的事件发生,就转换为就绪状态。

进入就绪队列排队,等待被调度执行。

30

注:

某些系统允许父进程在任何情况下终止其子进程。

如果一个父进程被终止,其子孙进程都必须终止。

-新状态终止

-就绪状态终止

-阻塞状态终止

31

32

问题:

多个进程竞争内存资源

内存资源紧张

无就绪进程,处理机空闲:

I/O的速度比处理机的速度慢得多,可能出现全部进程阻塞等待I/O

33

解决方法

采用交换技术:

换出一部分进程到外存,以腾出内存空间

采用虚拟存储技术:

每个进程只能装入一部分程序和数据(存储管理部分)

34

对换技术,交换技术

(Swapping)

将内存中暂时不能运行的进程,或暂时不用的数据和程序,换出到外存,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的数据和程序,换入内存。

35

进程的挂起状态

进程被交换到外存,状态变为挂起状态

36

进程挂起的原因

进程全部阻塞,处理机空闲。

系统负荷过重,内存空间紧张。

操作系统的需要。

操作系统可能需要挂起后台进程或一些服务进程,或者某些可能导致系统故障的进程。

 

终端用户的请求。

父进程的需求。

37

被挂起进程的特征

不能立即执行

可能是等待某事件发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该进程也不能执行

使之挂起的进程为:

自身、其父进程、OS

只有挂起它的进程才能使之由挂起状态转换为其他状态

38

挂起与阻塞

问题

是否只能挂起阻塞进程?

如何激活一个挂起进程?

39

区分两个概念:

?

进程是否等待事件,阻塞与否

进程是否被换出内存,挂起与否

4种状态组合:

就绪:

进程在内存,准备执行

阻塞:

进程在内存,等待事件

就绪/挂起:

进程在外存,只要调入内存即可执行

阻塞/挂起:

进程在外存,等待事件

40

注:

处理机可调度执行的进程有两种:

新创建的进程

或换入一个以前挂起的进程

通常为避免增加系统负载,系统会换入一个以前挂起的进程执行。

41

挂起

接纳

激活

就绪/挂起

图2.12具有挂起状态的进程模型

时间片完

新建

就绪

执行

阻塞

终止

分派/调度

事件发生

事件等待

完成

阻塞/挂起

42

具有挂起状态的进程状态转换

阻塞 阻塞/挂起:

OS通常将阻塞进程换出,以腾出内存空间

阻塞/挂起就绪/挂起:

当阻塞/挂起进程等待的事件发生时,可以将其转换为就绪/挂起

就绪/挂起 就绪:

OS需要调入一个进程执行

就绪就绪/挂起:

一般,OS挂起阻塞进程。

但有时也会挂起就绪进程,释放足够的内存空间

新 就绪/挂起(新 就绪):

新进程创建后,可以插入到就绪队列或就绪,挂起队列。

若无足够的内存分配给新进程,则需要新就绪/挂起

43

具有挂起状态的进程状态转换(续)

阻塞/挂起阻塞:

当阻塞/挂起队列中有一个进程的阻塞事件可能会很快发生,则可将一个阻塞/挂起进程换入内存,变为阻塞

执行就绪/挂起:

当执行进程的时间片用完时,会转换为就绪。

或,一个高优先级的阻塞/挂起进程正好变为非阻塞状态,OS可以将执行进程转换为就绪/挂起状态

所有状态终止:

通常,执行终止。

但某些OS中,父进程可以终止其子进程,使任何状态的进程都可转换为退出状态

44

2.3进程的控制

45

两种执行模式

系统模式(又称为系统态)、控制模式或内核模式:

-具有较高的特权

-运行系统特定的指令,包括读/写控制寄存器的指令、基本I/O指令以及与存储器管理有关的指令,及一些特定的内存区

-内核模式下的处理机及其指令、寄存器和内存都受到完全控制和保护

用户模式(或用户态)

-具有较低的特权

-用户程序一般运行在用户模式

46

模式切换

用户模式系统模式:

用户程序执行到一条系统调用,进入操作系统内核执行

系统模式用户模式:

执行完系统调用的功能,返回到用户程序

特殊情况:

程序执行到结束语句时,切换到系统模式,不再返回到用户程序

47

操作系统内核(Kernel)

操作系统的核心,是基于硬件的第一层软件扩充,提供操作系统最基本的功能,是操作系统工作的基础。

现代操作系统设计中,为减少系统本身的开销,往往将一些与硬件紧密相关的(如中断处理程序、设备驱动程序等)、基本的、公共的、运行频率较高的模块(如时钟管理、进程调度等)以及关键性数据结构独立开来,使之常驻内存,并对它们进行特殊保护。

通常把这一部分称为操作系统的内核。

48

用户通过系统调用访问操作系统的功能,这些功能最终都通过操作系统内核实现。

不同的操作系统对内核的定义和功能范围的设定是不同的。

一般地,操作系统内核的功能可以概括地划分为资源管理功能和支撑功能。

-资源管理:

进程管理、存储管理和I/O设备管理

-支撑功能:

中断处理、统计、监测、时钟管理、原语操作等。

49

资源管理功能

进程管理:

进程创建和终止、调度、状态转换、同步和通信、管理PCB

存储管理:

为进程分配

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1