45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 电脑学院 > 网络安全 >

反病毒教程(基础篇)第3课

电脑软硬件应用网 45IT.COM 时间:2009-05-10 17:39 作者:网络转载

一.名词解释
1.程序
:具有独立功能的一组指令或一组语句的集合,或者是指出处理器执行操作的步骤.是一个静态的文本.

2.进程:一个程序在一个数据集上的一次执行.它是一个动态的过程.每个进程都有一个唯一的进程标识符,简称为PID.

3.作业:用户要求计算机系统进行处理的一个计算问题.一个作业可能需要多个进程配合才能完成.如360安全卫士的进程有360Safe.exe,360tray.exe,可能还有safeboxTray.exe.

4.线程:它是进程中可独立执行的子任务,一个进程中可以有一个或多个线程,每个线程也都有一个唯一的标识符.

5.父进程:可以创建其他进程的进程.比如,我们运行的大部分程序的父进程都是explorer.exe

6.子进程:由父进程创建的进程.父进程和子进程是相对而言的,有的进程可能既是父进程又是子进程.

*7.进程句柄:实际上是一个Long (整长型)的数据.它是windows用来标识应用程序所建立的进程的唯一整数,就像公民的身份证一样.

*8.指针:在C语言中可能会经常遇到,这里我们不讲语言,我们这样理解就行了:它是一种内存地址.内存地址和句柄一样也是一个16位的整数.而句柄则是指针的指针.

9.对象:系统中的一切都可称为对象,如文件,进程,程序等.这好比生活中的所有东西都可以称为物品一样.

二.深入了解进程
1.进程到底是什么?
    进程为应用程序的运行实例,是应用程序的一次动态执行.它是操作系统当前运行的执行程序.当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序,你开启,执行的额外程序,当然也包括你不知道,而自动运行的非法程序(如病毒等).
    进程是程序在计算机上的一次执行活动.当你运行一个程序,你就启动了一个进程.显然,程序是死的(静态的),进程是活的(动态的).进程可以分为系统进程和用户进程.凡是用于完成操作系统的各种功能的进程就是系统进程,病毒也常常把自己注册成系统进程,用户进程就是所有由你启动的进程.进程是操作系统进行资源分配的单位,系统进程具有较高的优先权来得到资源.
   
2.进程的特征.
动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的.
并发性:任何进程都可以同其他进程一起并发执行
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位.
异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的,不可预知的速度向前推进.

3.结构特征
进程由程序,数据和进程控制块三部分组成.

*4.为什么会有句柄这一说?
    刚才上面说了,句柄是一种指向指针的指针.而所谓的指针是一种内存地址.应用程序启动后,组成这个程序的各对象是住留在内存的.简单地理解,似乎我们只要获知这个内存的首地址就可以随时用这个地址访问对象(如进程).但是,如果你真的这样认为,那么你就错了.我们知道,Windows是一个以虚拟内存为基础的操作系统.Windows内存管理器经常在内存中来回移动对象,以此来满足各种应用程序的内存需要.对象被移动意味着它的地址变化了.如果地址总是如此变化,我们该到哪里去找该对象呢?(进程失控了?)
    为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的.Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存.这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置.这个地址是在对象装载(Load)时由系统分配给的,当对象被撤消(Unload)时又释放给系统。
    可能大家理解不了,举个形象点的例子.一本书(可以理解为我们的操作系统),总是会有一个目录页(登记具体内容的页码),目录页的每一行就相当于一个句柄,每一行后面的页码就相当于一个指针.当正文内容需要调整时(如原来在第一章的,我现在要把它放到最后一章),那么当内容改动时,我们就要修改目录页中相应的页码(目录页本身是不动的,只是改了页码而已,对于系统来说就是修改了句柄所指向的内存地址的内容).

*5,句柄的本质.
    windows程序并不是用物理地址来标识一个内存块,文件,任务或进程的.系统给这些项目分配确定的句柄,并将其值返回给应用程序,然后通过句柄来对其进行操作.程序每次重新启动,系统分配给这个程序的句柄通常是不一样的.

*6.线程到底是什么?
    线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程.线程不拥有系统资源,只有运行必须的一些数据结构,它与父进程的其它线程共享该进程所拥有的全部资源.线程可以创建和撤消线程.从而实现程序的并发执行.比如,在一个程序中,我们创建一个线程读写磁盘,用另一个线程来处理用户的其他请求.

三.实践

1.查看你系统中有多少进程?
打开任务管理器(按快捷键Ctrl+Alt+Del),切换到进程页.在这里我们可以看到系统中所有的进程(隐藏的进程在这里看不到),映像名称,有时也称为进程名,这个名字一般就是相应程序的文件名.在左下角,你可以看到你系统中有多少进程了,比如我的,现在是27.




我现在打开一个画图程序.





现在是28个了,多了哪个?多了mspaint.exe,这个就是画图程序的进程.看看这个进程的详细信息吧.点查看,选择列...,在PID,CPU时间,内存使用,用户名,虚拟内存大小等的前面打勾,确定.现在看到多了几列了.

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识