注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

刘邓

每天收获一点点-目标:富足

 
 
 

日志

 
 

《操作系统精髓与原理设计第六版》读书笔记(2)  

2012-05-31 08:04:01|  分类: 操作系统类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
第二部分 进程
第三章 进程描述和控制
这一章大致的描述了下什么是进程,进程的状态模型,进程的描述(进程控制结构),进程控制(创建,执行和切换),操作系统的执行(三种执行模式)以及进程的安全问题(访问安全,内存安全等)
1.进程定义:
一个能分配给处理器并由处理器执行的程序实体。
进程的两个基本元素:程序代码和相关数据集
2.进程控制块
进程控制块包括:进程标示符,状态,优先级,程序计数器,内存指针(进程相关数据在内存中的位置指针),上下文数据(进程执行时处理器的寄存器中的数据,在进程切换时要保存起来以便进程执行时回到上次相同的状态),I/O状态信息,记账信息。
进程控制块中包含了充分的信息,这样就可以在中断一个进程以后在恢复执行的时候有足够的信息感觉像是从来没有中断过,这也是分时系统的基础。
进程控制块是操作系统中最重要的数据结构
3.进程状态
①两状态模型:运行态和未运行
②进程创建的原因:四种 (P77) 进程终止运行的原因:十四种(P78)
③五状态模型
《操作系统精髓与原理设计第六版》读书笔记(2) - 刘邓 - 刘邓
 


为了实现五状态模型需要就绪队列和阻塞队列,最简单的方法是2队列模式(即一个就绪队列一个阻塞队列)但是这种模型在一个时间发生时要扫描整个队列来选出因为事件发生而变成就绪态造成了很大程度的开销

另外一种方式是为每个时间构建一个队列,那么当事件发生时对应的事件队列中的进程都可以加入就绪队列。

第三章方案是按照优先级分派进程,每个优先级一个队列,这样操作系统就可以很容易的确定那个就绪进程具有最高的优先级并且等待事件最长。

④进程挂起

进程挂起:就是把长期处于阻塞状态的进程交换到虚拟内存或者外存中

为什么需要挂起咧?主要是内存不够时为新的进程请求腾出运行空间

增加了挂起以后五状态模型中的就绪态和阻塞态都可以一份为2了

阻塞态:阻塞/挂起 和阻塞/内存中

就绪态:就绪/挂起 就绪/内存中

可以发生的转换包括:阻塞(不指明挂起就在内存中)<—>阻塞/挂起,阻塞/挂起—>就绪/挂起.

导致进程挂起的原因:

交换(内存不够了),其他OS原因,交互式用户请求,定时,父进程请求

⑤进程描述

操作系统的控制结构:操作系统构建并维护它管理的每个实体的信息表(内存表,I/O表,文件表和进程表)

(1)

进程控制结构:

进程位置:

进程映像 = 程序+数据+栈+属性集(属性集极为进程控制块process control block)

进程的位置由具体的内存管理方案决定:包括基本的连续块;分页硬件运行用不连续的物理内存。

进程属性集(进程控制块):

a.进程表示信息:标识符(进程ID,父进程ID,用户ID)

b.处理器状态信息:用户可见寄存器,控制和状态寄存器,栈(栈用于保存参数和过程调用或者系统调用的地址)指针指向系统栈指针顶

c.进程控制信息:调度和状态信息(进程状态,优先级,调度相关信息,事件(进程在继续执行前等待的时间标识)),数据结构(进程的链接形式),进程间通信,进程特权,存储管咯,资源的所有权和使用情况。

4.进程控制

①执行模式:非特权模式(用户态),特权模式(内核态)

②创建一个进程:分配标识符—分配空间—初始化进程控制块—设置正确连接(加入到正确的进程队列中),创建或者扩充其他数据结构。

③进程切换和模式切换:

何时切换?:时钟片段(进程的运行时间超过了分时系统时间片),I/O中断(发生了I/O请求,而I/O那么慢在相应请求之前处理器果断转去执行其他的进程),内存失效(访问一个地址但是这个地址在虚拟内存而不是内存中,这时需要将虚拟内存块中的数据调入到内存中,显然这也很慢,cpu等不了)

上面三种原因都是和中断有关的,下面的是另外的情况:

陷阱发生(主要就是错误或者异常)还有系统调用(用户程序调用系统进程,所有系统转而去进行系统进程的执行)

 

模式切换:

《操作系统精髓与原理设计第六版》读书笔记(2) - 刘邓 - 刘邓


模式切换和进程切换的区别:

首先模式切换最后执行的还是原先的进程,其次系统操作更少(只需要保存和恢复原来的进程而不需要执行进程切换的诸多步骤(详细步骤间P93))。总之:进程切换要比模式切换做更多的工作。

 

④操作系统的执行:本质上讲操作系统的进程和用户程序的进程是一样的,那么操作系统进程是怎么运行的呢?这一部分就是讲的是操作系统进程如何执行的。

a.无进程内核:关键点是进程的概念仅仅适用于用户进程,内核作为独立的实体运行

b.在用户进程中运行:这种就是运行一部分用户程序然后运行一部分OS程序,在OS程序结束后可能发生模式切换也可能发生进程切换。(如果是模式切换则可以省去不少操作) 该方法重要优点之一:一个用户进程被中断以使系统进程执行,然后恢复本次进程,这发生的是模式切换不要牺牲两次进程切换作为代价。

c.基于进程的操作系统:操作系统进程和应用程序进程单独开来,由统一的进程切换函数来完成进程切换。

优点:模块化设计(多个模块组成进程,模块间独立性更高),非关键的操作系统函数单独执行,在多处理器环境下更加有效。

 

5.安全问题

一些关于入侵以及恶意软件带来的安全问题及其应对(入侵检测,认证,访问控制(权限),防火墙(专用计算机))

6.Unix SVR4的进程管理

这部分重要是对前面介绍的一个具体描述,以SVR4系统为例子介绍了其进程状态,进程描述以及进程控制的相关内容。

  评论这张
 
阅读(132)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017