1、 操作系统原理及应用题 目: 姓 名: 学 号:专业、班级:提 交 时间: 浅谈进程管理摘要 进程管理的设计是操作系统设计的核心,是操 作 系 统 的 职 能 之 一 , 主 要是 对 处 理 机 进 行 管 理 。 为 了 提 高 CPU的 利 用 率 而 采 用 多 道 程 序 技 术 。 通 过 进程 管 理 来 协 调 多 道 程 序 之 间 的 关 系 , 使 CPU得 到 充 分 的 利 用 。 通 过 学 习 计 算机 操 作 系 统 课 程 对 进 程 管 理 有 了 一 定 的 认 识 ,但 还 是 停 留 在 浅 层 次 的 理 论 上面 。 本 文 主 要 介 绍 进 程
2、 管 理 的 基 本 原 理 和 在 计 算 机 病 毒 诊 断 与 防 治 的 作 用 。关健词 操作系统 进程管理 同步与互斥 计算机病毒1、引言操作系统的重要特征是并发和共享。为了提高计算机系统的效率,增强计算机系统内各种硬件的并行操作能力,操作系统要求程序结构适应并发处理的需要使计算机系统中能同时存在两个以上正在执行的程序,即两个以上的程序都处于已经开始但未结束的执行状态。这就要求引人进程的概念。进程是操作系统中最核心的概念,它是一个对正在运行的程序的抽象。每个进程都有其自己的地址空间,从 0 到一个最大值,进程可以读写该空间中的内容。一个进程是某种类型的一个活动,它有程序 、输人、输
3、出及状态。单个处理机被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,转而为另一个进程提供服务。因此进程管理的设计必须包括进程的结构、进程的状态、进程控制、进程同步、进程互斥、进程通信、进程调度等的设计。2、进程的结构系统中同时存在很多进程, 依性质不同可分为系统进程和用户进程。进程现在一般采用层次结构, 即系统采用进程树的结构, 系统中的所有进程都属于一棵进程树。用户可通过不断执行系统提供的 fork 调用来形成自己的进程树。3、进程的状态进程执行时的间断性 决定了进程可能具有多种状态 主要具有以下三个基本状态(1)就绪状态 进程已获得除处理机以外的所有资源,一旦得到了处理机就可
4、立即执行(2)执行状态 又称为运行状态,当一个进程获得必要的资源并占有处理机(3)等待状态 又称为阻塞状态,正在执行的进程由于发生某事件而暂时无法执行下去(如等待输入输出完成)此时进程所处的状态称为等待状态如图 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态正在执行的进程因发生某事件而无法执行,如进程提出输入/输出请求,等待为其分配输入/输出设备或等待输入/输出完成,则进程由执行状态变为阻塞状态;处于阻塞状态的进程,在其等待的事件已经发生,如输入/输出完成,则进程由阻塞状态变为就绪状态;正在执行的进程,如时间片用完而暂停执行,该进程便由执行状态转变为就绪状
5、态,注意的是由执行状态变为阻塞状态是因为自身的原因而造成的,而由执行状态变为就绪状态是由外部原因(中断)而引起的。一个进程在任何时刻只能处于一种状态4、进程控制进程控制的职责是对系统中的全部进程实施有效的管理 其功能包括进程的创建 进程的撤消 进程的阻塞与唤醒等 这些功能一般是由操作系统的内核来实现的 进程控制功能是通过执行各种原语来实现的所谓原语是由若干条机器指令构成的 用于完成某一特定功能的一段程序 为了防止操作系统及关键数据如 等受到用户程序有意或无意的破坏 通常将处理机的执行状态分成两种 核心态 又称管态 是操作系统管理程序执行时机器所处的状态 能执行一切指令 与用户态 又称目态 是用
6、户程序执行时机器所处的状态 只能执行规定的指令进程创建是由创建原语实现的 创建原语的主要功能是为被创建进程形成一个 填入相应的初始值 并将此 插入就绪队列 进程撤消是由撤消原语实现的 主要功能是收回被撤消进程占用的所有资源并撤消它的5、进程同步进程互斥(1)互斥 在操作系统中 当一个进程进入临界区使用临界资源时,另一个进程必须等待 当占用临界资源的进程退出临界区后,另一个进程才被允许去访问此临界资源,进程间的这种相互制约关系称为互斥,为禁止两个进程同时进入临界区,可采用同步机构来协调它们,但应遵循下述准则,每次至多有一个进程处于临界区,当有若干进程欲进入临界区时,应在有限时间内使进程进入临界区
7、,进程在临界区内仅停留有限的时间(2)进程同步所谓进程同步是指对多个相关进程在执行次序上的协调,这些进程相互合作,在一些关键点上可能需要互相等待或互通消息,例如系统中有两个合作的进程,它们共用一个单缓冲区,这两个进程中,一个为计算进程,完成对数据的计算工作,另一个为打印进程负责打印计算结果,当计算进程对数据的计算尚未完成时,计算的结果没有送入缓冲区,打印进程不能执行打印操作,一旦计算所把计算结果送入缓冲区后,就应给打印进程发送一信号,打印进程收到该信号后,便可从缓冲区中取出计算结果进行打印,在打印进程尚未把缓冲区的计算结果打印完之前,计算进程也不能把下一次的计算结果送入缓冲区,只有在打印进程打
8、印完缓冲区中内容,给计算进程发出一个信号后,计算进程才能将下一次的计算结果再送入缓冲区, 因此计算进程的打印机进程是同步的。6、进程调度当有多个进程就绪时,操作系统必须决定先运行哪一个, 即进行进程调度。进程调度可分为可剥夺调度和非剥夺调度,非剥夺调度算法简单且易于实现,但不适于具有多个竟争用户的通用系统。可剥夺调度又可分为:时间片轮转调度、优先级调度 、多重队列、短任务优先、保证调度、博彩调度、实时调度和二级调度等。7、最基本的系统进程。指能够支撑操作系统正常运转所必需的一些进程。主要包括以下内容。alg. exe ,是一个应用层网关服务,用于网络共享。csrss. exe ,Client/
9、Server Runtime Server Subsystem , 是客户端服务子系统,用以控制 Windows 图形相关子系统。Explorer. exe ,Windows Program Manager 或 Windows Explorer ,资源管理器,用于控制 Windows 图形Shell ,包括开始菜单、 任务栏 ,桌面和文件管理。lsass. exe ,本地安全权限服务 ,用于控制 Windows 安全机制。services. exe ,用于管理 Windows 服务系统进程。spoolsv. exe /spool32. exe ,Printer Spooler Service
10、, Windows 打印任务控制程序 ,用于打印机就绪。svchost . exe ,Service Host Process ,一个标准的动态连接库主机处理服务。这里说明一下 ,不少人在“任务管理器” 中看到多个 Svchost . exe 运行,误以为有病毒了。其实,系统启动的时候 ,Svchost . exe 将检查注册表中的位置来创建需要加载的服务列表,如果多个 Svchost . exe 同时运行 ,表明当前有多组服务处于活动状态,多个 DLL 文件正在调用它。 System ,Micros oft Windows 系统进程。SysIdleProcess ,标识系统空闲的进程。 wi
11、nlog on. exe ,Windows Log on Process ,Windows NT 用户登陆程序。8、进程管理在病毒防治中的作用8.1 计算机病毒的诊断如果发现计算机有疑似感染病毒的症状时,我们应该首先检查是否有异常的进程。先关闭所有应用程序,然后右击任务栏空白区域,在弹出的菜单中选择“任务管理器” ,打开 “进程”标签,查看系统正在运行的进程,正常情况下系统进程应为 2228 个左右,如果进程数目太多,就要认真查看有无非法进程,或不熟悉的进程。8.2 计算机病毒的分析分析病毒的出现形式分为三类: 有单独隐藏的进程、 服务;单独的进程、服务;无单独的进程、服务,注入一个正常的系统
12、进程、驱动里。从进程的层面入手,用 ICESWORD,可以看到一个红色的进程,然后到网上搜索,最好先备份再将可疑的进程删除。使用进程查看工具, 可以使用 PE、ICESWORD、PrcView、隐藏进程管理工具等分析每一个可疑的进程,通过查看进程的属性,判断该进程的路径和服务。从病毒体层面入手,推荐使用Hijackthis,对于传统的加载方式还是比较优秀的一款工具,将扫描的日志放入 http:/ /www.hijackthis.de/index.php 会自动帮你分析可疑的程序。找到病毒体,一般病毒体的关健字和它自身的服务相关联,再用 process Explorer 查找病毒体注入哪个进程里
13、。对于注入正常的系统进程、驱动里,使用autoruns 可以分析出哪些文件注入到驱动程序里,然后上网查这些文件的性质。将 option 里有一项隐藏微软的登记选中,这样可以进一步减少查找的范围。对于注入系统进程里的病毒,以 dll、sys 文件注入 explorer、iexplore 等进程的情况,可以手动搜索硬盘上的 dll 文件和 sys 文件,查看其文件大小、创建、修改时间和版本等信息,判断是否可疑,对无版本信息或版本信息描述不正规的 dll 文件和 sys文件尤其要关注。8.3 计算机病毒的查杀查杀病毒即通过停进程、删文件、删服务三步骤来完成。(1)停进程,首先处理容易的,必须先用 I
14、ce Sword、Processexplorer、Unlocker、Super Rabbit 等在常规状态下停止或挂起进程的工具,否则病毒就会占用资源,无法删除。(2)删文件,Unlocker 小巧方便,它能轻易删除十分棘手的病毒。同时,如果有些文件被某个进程占用,它会弹出一个窗口,选择解锁。对于实在不能删除的文件,如 c: windowssystem32svchost.exe,挂在系统底层,可以在重新启动后删除。(3)删服务,对于系统服务,首先要停止服务,然后删除注册表,如果注册表项不能删,要修改注册表项属性,分配权限给所有人。最后重启到安全模式,删除对应文件,再新建同名空文件,并修改属性为
15、只读。一般来说,用 Hijack 来分析服务,看看有没有看起来不太熟悉的服务。也要注意那些熟悉的进程,名字是否被改动,以及进程所在的目录是否正确。9、总结进程管理是操作系统的重要职能,本文对进程管理的介绍是从基本原理出发的,由于本人对进程管理的了解还不是很透彻,所以可能分析得比较浅显。通过学习计算机操作系统,对计算机系统有了基本认识,希望能在以后的学习中能够学习更多关于操作系统的知识,为以后的工作学习打好基础。参考文献:吴成群 操作系统中的进程管理 电脑与知识 2004(26)王烁 操作系统进程管理设计的现状与发展方向 湖北汽车工业学院学报 1999 13 卷第 2 期甄保社 进程管理与应用分析 中华医学图书情报杂志 2006 02李振汕 进程管理在计算机病毒诊断与防治中的作用吕瑞梅. 浅谈进程管理在病毒防治中的作用J. 内蒙古科技与经济,2008(4)汤子瀛 哲风屏 汤小丹 计算机操作系统修订版 西安电子科技大学 2005庞丽萍 操作系统原理(第二版) 华中理工大学出版社 1997谭耀铭 操作系统 中国人大出版社