进程管理包括(进程管理包括哪五个模块)
windows , unix, linux 三者对进程管理的相关比较
供了在 Windows 操作系统下的一个 UNIX 环境,它可以帮助程序开发人员把应用程序从 UNIX/Linux 移植到 Windows 平台(当然也是合在Windows平台开发方便移植的UNIX Linux代码),是一个功能强大的工具集。
附:一、概述
标准 UNIX 操作系统是一个交互式的分时系统,提供了一个支持程序开发全过程的基础和环境,可以支持40个终端用户。UNIX系统是由美国电报电话公司(ATT)下属的Bell实验室的两名程序员K.汤普逊(Ken Thompson)和D.里奇(Dennis Ritchie)于1969~1970年研制出来的。UNIX问世以来十分流行,它运行在从高档微机到大型机各种具有不同处理能力的机器上。目前,UNIX除了可在PDP-11 、DEC公司的VAX-11系统的各种机型上运行之外,还可以在IBM的370、3300系列机和Amdahi公司、Data General公司、Hp公司的系列机上。近年来,几乎所有的16位机、32位微型计算机都竞相移植UNIX。这种情况在操作系统发展的历史上是极为罕见的。随着UNIX的普及,书写系统的C语言也成为引人注目的语言,得到广泛使用。
UNIX系统获得了巨大的成功,这有着内在的原因和客观的因素。客观条件之一是,UNIX问世之前己有许多操作系统研制成功,其中有成功的经验,也有失败的教训,而UNIX的设计者正是经过认真考虑,作了适当的取舍,使UNIX站在前人肩头上获得成功(MULTICS用了200人年未达到原定目标,UNIX只用了2个人年);其二是,由于当时人们需要一个使用方便、能提供良好开发环境、大小适中的系统,UNIX恰是生逄其时;其三是,UNIX是在PDP-11系列机上开发出来的,这种机器在世界上己得到广泛应用,这为UNIX广泛配置创造了条件。当然,UNIX成功的关键是在于自身的性能和特点。
UNIX的主要特点是:短小精悍、简易有效、并具有易理解、易扩充、易移植性。
UNIX的核心程序由约10000行C语言代码和1000行汇编语言代码构成,被分成能独立编译和汇编的44个文件,每个文件又分若干过程。这些文件可分以下三类:
⑴汇编语言文件:系统只有2个文件用汇编语言编程,包含33个汇编子程序,与机器硬件直接相关的部分,如中断处理、系统启动等,为了提高效率,有些频繁使用的基本过程,也用汇编语言编写。
⑵C语言文件:共有28个,其中包括进程管理的主要过程,它们又可分成190个子程序 。文件可以独立编译,经装配程序连接装配后就可执行。
⑶C语言全局变量文件:共14个,其中含有结构的重要说明。这类文件不能独立编译,而必须和某个C语言文件一起编译。
二、UNIX操作系统的主要特点
1.精巧的核心与丰富的实用层
UNIX系统在结构上分成内核层和实用层。核心层小巧,而实用层丰富。核心层包括进程管理、存储管理、设备管理、文件系统几个部分。UNIX核心层设计得非常精干简洁,其主要算法经过反复推敲,对其中包含的数据结构和程序进行了精心设计。因此,核心层只需占用很小的存储空间,并能常驻内存,以保证系统以较高的效率工作。
实用层是那些能从核心层分离出来的部分,它们以核外程序形式出现并在用户环境下运行 。这些核 外程序包含有丰富的语言处理程序。UNIX支持十几种常用程序设计语言的编译和解释程序,如C、APL、FORTRAN77、PASCAL、SNOBOL、COBOL、BASIC、ALGOL68等语言及其编译程序。还包括其他操作系统常见的实用程序,如编辑程序、调试程序、有关系统状态监控和文件管理的实用程序等。UNIX还有一组强有力的软件工具,用户能比较容易地使用它们来开发新的软件。这些软件工具包括:用于处理正文文件的实用程序troff,源代码控制程序SCC
S(Source Code Control System),命令语言的词法分析程序和语法分析程序的生成程序LEX(Generator of Lexical Analyzers)和YACC(Ye
t Another Compiler Compiler)等。另外,UNIX的命令解释程序Shel
l也属于核外程序 。正是这些核外程序给用户提供了相当完备的程序设计环境。
UNIX的核心层向核外程序提供充分而强有力的支持。核外程序则以内核为基础,最终都使用由核心层提供的低层服务,它们逐渐都成了“UNIX系统”的一部分。核心层和实用层两者结合起来作为一个整体,向用户提供各种良好的服务。
2.使用灵活的命令程序设计语言Shell
Shell首先是一种命令语言。UNIX 的200多条命令对应着200个实用程序。Shell 也是一种程序设计语言。它具有许多高级语言所拥有的控制流能力,如if、for、while、until、case语句,以及对字符串变量的赋值、替换、传替参数、命令替换等能力。用户可以利用这些功能用Shell语言写出“Shell”程序存入文件。以后用户只要打入相应的文件名就能执行它。这种方法易于系统的扩充。
3.层次式文件系统
UNIX系统采用树型目录结构来组织各种文件及文件目录。这样的组织方式有利于辅助存储器空间分配及快速查找文件,也可以为不同用户的文件提供文件共享和存取控制的能力,且保证用户之间安全有效的合作。
4.文件和设备统一看待
UNIX系统中的文件是无结构的字节序列。在缺省情况下,文件都是顺序存取的,但用户如果需要的话,也可为文件建立自己需要的结构,用户也可以通过改变读/写指针对文件进行随机存取。
UNIX将外围设备与文件一样看待,外围设备如同磁盘上的普通文件一样被访问、共享和保护。用户不必区分文件和设备,也不需要知道设备的物理特性就能访问它。例如系统中行式打印机对应的文件名是/dev/lp 。用户只要用文件的操作(write)就能把它的数据从打印机上输出。这样在用户面前,文件的概念简单了,使用也方便了。
5.良好的移植性
UNIX的所有实用程序和核心的90%代码是用C语言写成的,这使得UNIX成为一个可移植的操作系统。操作系统的可移植性带来了应用程序的可移植性,因而用户的应用程序即可用于小型机,又可用于其他的微型机或大型机。从而大大提高了用户的工作效率。
虽然UNIX系统取得了巨大的成功,但它也不是没有缺点的。概括起来,对UNIX的批评有如下几点:
1.UNIX系统的版本太多,造成应用程序的可移植性不能完全实现
UNIX是用C语言写成的,因而容易修改和移植。UNIX也鼓励用户用UNIX的工具开发适合自己需要的环境,这样造成了UNIX版本太多而不统一。为了解决这一问题,目前 ATT己与四家重要的微机厂家(Inte
r,Motorola ,Zilog和National Semiconductor)合作制订统一的UNIX
system V版本,这将会给UNIX的标准化以重大影响。
2.UNIX系统缺少诸如实时控制、分布式处理、网络处理能力
这一缺点也在不断改进中,以UNIX为基础的分布式系统和具有实时处理能力的系统己在研制中,有的已研制成功。
3.UNIX系统的核心是无序模块结构
UNIX系统的核心有90%是用C语言写成的,但其结构不是层次的,故显得十分复杂,不易修改和扩充。
UNIX系统的这些缺点比起它的成就而言是十分次要的,它的成功是辉煌的。
三、UNIX系统结构
UNIX操作系统采用以全局变量为中心的模块结构,因而系统结构较为复杂,这主要表现在:模块间的循环调用和文件之间的全局变量问题。
从结构上看,UNIX可以分为核心层和外壳层,核心层又分成与硬件接口的设备驱动、物理存储块管理的最低层及实现存储管理、文件管理、设备管理、进程管理等功能的低层。核心的外层是系统调用,它是UNIX核心的对外接口。最外层的Shell是用户与UNIX系统的接口,其他的各种实用程序和用户程序也在这一层运行。
系统结构如图8.1所示。
1.Shell
UNIX提供的用户接口是一种被称为Shell的命令语言,这种命令语言的解释程序也称为Shell 。在系统初始启动时为每个用户建立一个Shell进程,每个Shell进程等待用户输入命令。命令的最简单形式是一个命令行,由命令名和若干参数组成,中间用空格隔开。Shell解释执行命令时,先区分命令名和参数,然后根据命令名找出对应的文件,把文件读入内存,并按给出的参数解释执行。
命令的执行是通过 fork 系统调用来完成的,Shell进程调用for
k后,fork创建一个Shell进程的子进程且让Shell进程等待。子进程解释执行命令,命令执行结束时子进程调用exit系统调用完成终止子进程和释放父进程的工作。Shell进程被释放后,给出允许用户输入下一个命令行的提示,命令的基本执行过程如图8.2。
UNIX的交互系统要求用户必须等待前一行命令执行结束,在终端上出现提示符后才能输入下一个命令行。由于有些命令的执行时间较长,因此为了减少用户等待时间,在UNIX系统中允许用户使用Shell命令语言编写程序来表示一组命令的执行顺序,用命令语言编写成的程序称Shell程序。Shell程序存放在文件上,需要时由命令解释程序去执行Shell程序中的各个命令。
2.系统调用
系统调用是用户程序请求操作系统为其服务的惟一形式,在UNIX中把系统调用称为程序员接口。UNIX规定用户程序用捕俘(trap)指令请求系统服务,UNIX核心中的中断捕俘程序根据trap的类型转向相应的处理程序。Trap指令形式如下:
UNIX第6版共有41条系统调用,可以分成以下三类:
①与进程管理有关的系统调用,如建立子进程、等待子进程、睡眠、发信号、修改数据段大小等。
②与文件管理有关的系统调用,如建立文件、连接文件、打开文件、关闭文件 、读文件 、写文件以及修改当前目录、修改文件属性等。
③其他系统调用,如取当前用户号 、取日历时间 、读取进程运行时间、改变优先数等。
在系统调用中,参数的传递有两种方式。第一种方式:在程序中通过trap指令后继单元传送。这一方式又分为直接方式和间接方式。在直接方式中,允许在trap指令的后继单元中最多可放5个参数;在间接方式中,trap指令的后继单元放的是一个参数区指针,在这个参数区可以存放更多的参数。第二种方式是通过寄存器R0,R1传递参数的。
UNIX的系统程序员界面这包括了大量的库子程序和标题文件。标题文件定义了在系统调用中使用的复杂数据结构;库子程序和库函数为系统调用提供了附加的程序支持。
3.存储管理
UNIX系统最初是在 PDP-11 上开发的,PDP-11是段式结构的存储器,在PDP-11中把段称作页,每一页可包含若干块,每块64个字节,主存以块为单位进行分配。
存储分配采用优先适应算法,存储空间使用空闲区表来管理。每表占50项,每项2个单元,一个指向相应空闲区起始块号,另一个指出空闲区大小。表内各项次序按空闲区地址从低到高排列,若有两个相邻空闲区则合并成一个。表项内容为0,表示表尾。
由于PDP-11不支持虚拟存储器,所以UNIX中内存用户区和磁盘对换区的分配和释放由存储管理模块管理。在对换程序的管理下内存用户区和磁盘对换区连成一体,起着虚拟存储器的作用。对换进程扫描PCB表,发现辅存有就绪进程时,查内存是否有空闲区,若有空闲区则直接调入;否则要把内存中某些进程换出,若内存没有可换出进程,则对换进程处于等待状态,直到某些事件发生,唤醒后再度工作。辅存有多个就绪进程时,按先进先出换进内存;内存有多个进程可换出时,则选可换进程中优先数低的进程换出。
当进程要增加页长时,可通过申请新页、释放旧页来实现。若内存无足够空间,则在辅存申请新页,同时将进程整个换到辅存。
Linux是什么?
1991年,芬兰赫而辛基的学生LinusTorvalds为了自己使用与学习的需要,他开发了类似Unix且运行在80386平台上运行的操作系统,命名为Linux。为了使每个需要它的人都能够容易的得到它,LinusTorvalds把它变成了"自由"软件。
感谢Internet的飞速发展使得全世界的程序开发员有了一种全新的有效沟通方法。还要感谢在数年之前由RichardStallman主持的GNU项目。Linux在几年后变成了一个完整的操作系统。它的能量得到了释放,变得非常可靠,并且每天都会有新的改进加入进去。
为了使Linux变得容易使用,Linux也有了许多发布版本,发布版实际上就是一整套完整的程序组合。现在已经有许多不同的Linux发行版和各自的版本号,为了不产生混淆,我们先解释一些常提到的术语。
当我们提到Linux时,一般是指"RealLinux",即内核,是所有UNIX操作系统的“心脏”。但光有linux并不能成为一个可用的操作系统。还需要许多软件包,编译器,程序库文件,Xwindow系统等等。因为组合方式不同,面向用户对象不同,所以这就是为什么有许多不同的Linux发行版的原因。
Linux的特点
Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性:
1.开放性
开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。
2.多用户
多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。
3.多任务
多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程,平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。
4.良好的用户界面
Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。
系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。
5.设备独立性
设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序)保证每次调用设备提供服务时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。
Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。
6.提供了丰富的网络功能
完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。
支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。
文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。
远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。
7.可靠的系统安全
Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
8.良好的可移植性
可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。
Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。
我们为什么要用Linux?
Linux是"免费"的,上面又有那么多"免费"的软件,为什么不用?
Windows实在太不稳定了,受不了,换个平台吧。
想学习UNIX,可是钱包里的钞票不多,先从Linux开始吧。
想学习操作系统,哪里有开放源代码的OS?而且还要很活跃,有前途的。
基于Linux的并行计算,不但费用低廉,而且功能强大,有潜力,重要的是有源代码。
想成为一名Hacker(当然是网侠一类),Linux当然是最好的工具之一。
Linux潜在的商业价值不可限量,性能相当地好,稳定性也很好,用其替换商业操作系统真是明智的选择。
Oracle,Infomix,Sysbase,IBM都支持Linux了,用其作数据库平台挺不错。烦了一次又一次去买许可证(奸商经常设这样的陷阱),Linux遵循公共版权许可证(GPL)正合我意。
Linux太适合Internet/Intranet,本身就是通过网络来协同开发的,网络时代为什么不用Linux?
采用Linux可以极大的降低拥有者总成本(TCO)。等待商业操作系统补丁的耐心是有限度的,更受不了总被商家牵着鼻子走,开放源代码的Linux至少可以使用户有一定的控制权。开放源代码使用户可以按照自己的需要添加或删除某些功能,用户可定制性,真是太好了!
利用开放源代码的Linux还可以开发路由器,嵌入式系统,网络计算机,个人数字助理等等,GNU真是巨大的知识宝库,何乐而不用?
崇尚自由软件精神和梦想,贡献自己的力量!
参考资料:网络世界
希望对你有用!
进程管理器是什么?
【基本介绍】本程序收录了作者在网上搜集整理的有关Windows系统中的进程,并提供一此进程管理功能以帮助大家更好地了解和管理Windows系统中的进程。目前共收集了700多条进程信息――包括系统进程、应用程序进程以及部分病毒与木马进程。本软件最大的特点在于它丰富强大的进程信息数据库,包含了几乎全部的Windows系统进程,和大量的常用软件进程,以及不少的病毒和木马进程。并且按其安全
【基本介绍】本程序收录了作者在网上搜集整理的有关Windows系统中的进程,并提供一此进程管理功能以帮助大家更好地了解和管理Windows系统中的进程。目前共收集了700多条进程信息――包括系统进程、应用程序进程以及部分病毒与木马进程。本软件最大的特点在于它丰富强大的进程信息数据库,包含了几乎全部的Windows系统进程,和大量的常用软件进程,以及不少的病毒和木马进程。并且按其安全等级进行了区分:正常进程(正常的系统或应用程序进程,安全)――黑色;可疑进程(容易被病毒或木马利用的正常进程,需要留心)――绿色;病毒木马进程(危险)――红色。可以让您在查询进程时一目了然地分辨出进程是否安全。另外本软件提供查看进程文件路径的功能,您也可以根据进程的实际路径来判断它是否为正常进程。最后,您还可以使用软件提供的“删除文件”直接结束并删除危险进程。这一切对于您维护系统安全与稳定很有帮助。除此之外,软件还提供系统资源监视与开机等操作以及特别设计的“智能运行”功能。这些功能可以取代您系统里的任务管理器。
[展开全部↓]
重要提示:
尊敬的用户,如果不能正常运行软件,请安装补丁文件夹中补丁程序即可。
软件截图
win10的是这个样子的
进程的内容
一个计算机系统进程包括(或者说“拥有”)下列数据:
那个程序的可运行机器码的一个在存储器的映像。 分配到的存储器(通常包括虚拟内存的一个区域)。存储器的内容包括可运行代码、特定于进程的数据(输入、输出)、调用堆栈、堆栈(用于保存运行时运数中途产生的数据)。 分配给该进程的资源的操作系统描述符,诸如文件描述符(Unix术语)或文件句柄(Windows)、数据源和数据终端。 安全特性,诸如进程拥有者和进程的权限集(可以容许的操作)。 处理器状态(内文),诸如寄存器内容、物理存储器寻址等。当进程正在运行时,状态通常储存在寄存器,其他情况在存储器。 进行进程切换就是从正在运行的进程中收回处理器,然后再使待运行进程来占用处理器。
这里所说的从某个进程收回处理器,实质上就是把进程存放在处理器的寄存器中的中间数据找个地方存起来,从而把处理器的寄存器腾出来让其他进程使用。那么被中止运行进程的中间数据存在何处好呢?当然这个地方应该是进程的私有堆栈。
让进程来占用处理器,实质上是把某个进程存放在私有堆栈中寄存器的数据(前一次本进程被中止时的中间数据)再恢复到处理器的寄存器中去,并把待运行进程的断点送入处理器的程序指针PC,于是待运行进程就开始被处理器运行了,也就是这个进程已经占有处理器的使用权了。
这就像多个同学要分时使用同一张课桌一样,所谓要收回正在使用课桌同学的课桌使用权,实质上就是让他把属于他的东西拿走;而赋予某个同学课桌使用权,只不过就是让他把他的东西放到课桌上罢了。
在切换时,一个进程存储在处理器各寄存器中的中间数据叫做进程的上下文,所以进程的 切换实质上就是被中止运行进程与待运行进程上下文的切换。在进程未占用处理器时,进程 的上下文是存储在进程的私有堆栈中的。 进程执行时的间断性,决定了进程可能具有多种状态。事实上,运行中的进程可能具有以下三种基本状态。
1)就绪状态(Ready):
进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。
2)运行状态(Running):
进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。
3)阻塞状态(Blocked):
由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。该事件发生前即使把处理器资源分配给该进程,也无法运行。 程序
程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。
程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。
进程更能真实地描述并发,而程序不能;
进程是由进程控制块、程序段、数据段三部分组成;
进程具有创建其他进程的功能,而程序没有。
同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程,也就是说同一程序可以对应多个进程。
在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。
线程
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。
当下推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统的一个重要指标。 进程控制是进程管理中最基本的功能。它用于创建一个新进程,终止一个已完成的进程,或者去终止一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换。
创建进程
1.引起创建进程的事件
在多道程序环境中,只有(作为)进程(时)才能在系统中运行。因此,为使程序能运行,就必须为它创建进程。导致一个进程去创建另一个进程的典型事件,可以有以下四类:
1) 用户登录
在分时系统中,用户在终端键入登录命令后,如果是合法用户,系统将为该终端建立一个进程,并把它插入到就绪队列中。
2)作业调度
在批处理系统中,当作业调度程序按照一定的算法调度到某作业时,便将该作业装入到内存,为它分配必要的资源,并立即为它创建进程,再插入到就绪队列中。
3) 提供服务
当运行中的用户程序提出某种请求后,系统将专门创建一个进程来提供用户所需要的服务,例如,用户程序要求进行文件打印,操作系统将为它创建一个打印进程,这样,不仅可以使打印进程与该用户进程并发执行,而且还便于计算出为完成打印任务所花费的时间。
4) 应用请求
在上述三种情况中,都是由系统内核为它创建一个新进程,而这一类事件则是基于应用进程的需求,由它创建一个新的进程,以便使新进程以并发的运行方式完成特定任务。
2.进程的创建过程
一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语create()按下述步骤创建一个新进程。
1) 申请空白PCB。为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。
2) 为新进程分配资源。为新进程的程序和数据以及用户栈分配必要的内存空间。显然,此时操作系统必须知道新进程所需要的内存大小。
3) 初始化进程控制块。PCB的初始化包括:
①初始化标识信息,将系统分配的标识符和父进程标识符,填入新的PCB中。
②初始化处理机状态信息,使程序计数器指向程序的入口地址,使栈指针指向栈顶。
③初始化处理机控制信息,将进程的状态设置为就绪状态或静止就绪状态,对于优先级,通常是将它设置为最低优先级,除非用户以显式的方式提出高优先级要求。
4) 将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入到就绪队列中。
进程终止
1.引起进程终止的事件
1)正常结束
在任何计算机系统中,都应该有一个表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条Hold指令或终止的系统调用。当程序运行到Hold指令时,将产生一个中断,去通知OS本进程已经完成。
2)异常结束
在进程运行期间,由于出现某些错误和故障而迫使进程终止。这类异常事件很多,常见的有:越界错误,保护错,非法指令,特权指令错,运行超时,等待超时,算术运算错,I/O故障。
3)外界干预
外界干预并非指在本进程运行中出现了异常事件,而是指进程应外界的请求而终止运行。这些干预有:操作员或操作系统干预,父进程请求,父进程终止。
2. 进程的终止过程
如果系统发生了上述要求终止进程的某事件后,OS便调用进程终止原语,按下述过程去终止指定的进程。
1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程状态。
2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真。用于指示该进程被终止后应重新进行调度。
3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。
4)将被终止的进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。
5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。
阻塞唤醒
1.引起进程阻塞和唤醒的事件
1)请求系统服务
当正在执行的进程请求操作系统提供服务时,由于某种原因,操作系统并不立即满足该进程的要求时,该进程只能转变为阻塞状态来等待,一旦要求得到满足后,进程被唤醒。
2)启动某种操作
当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则必须先使该进程阻塞,以等待该操作完成,该操作完成后,将该进程唤醒。
3)新数据尚未到达
对于相互合作的进程,如果其中一个进程需要先获得另一(合作)进程提供的数据才能运行以对数据进行处理,则是要其所需数据尚未到达,该进程只有(等待)阻塞,等到数据到达后,该进程被唤醒。
4)无新工作可做
系统往往设置一些具有某特定功能的系统进程,每当这种进程完成任务后,便把自己阻塞起来以等待新任务到来,新任务到达后,该进程被唤醒。
2.进程阻塞过程
正在执行的进程,当发现上述某事件后,由于无法继续执行,于是进程便通过调用阻塞原语block()把自己阻塞。可见,进程的阻塞是进程自身的一种主动行为。进入block过程后,由于此时该进程还处于执行状态,所以应先立即停止执行,把进程控制块中的现行状态由执行改为阻塞,并将PCB插入阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞(等待)队列。最后,转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即,保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU环境。
3. 进程唤醒过程
当被阻塞的进程所期待的事件出现时,如I/O完成或者其所期待的数据已经到达,则由有关进程(比如,用完并释放了该I/O设备的进程)调用唤醒原语wakeup(),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。 进程的调度算法包括:
实时系统中:FIFO(First Input First Output,先进先出算法),SJF(Shortest Job First,最短作业优先算法),SRTF(Shortest Remaining Time First,最短剩余时间优先算法)。
交互式系统中:RR(Round Robin,时间片轮转算法),HPF(Highest Priority First,最高优先级算法),多级队列,最短进程优先,保证调度,彩票调度,公平分享调度。 进程是由进程控制块、程序段、数据段三部分组成。一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。是可并发执行的程序。在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位,也是称活动、路径或任务,它有两方面性质:活动性、并发性。进程可以划分为运行、阻塞、就绪三种状态,并随一定条件而相互转化:就绪--运行,运行--阻塞,阻塞--就绪。
进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。
详述windows的进程管理
Windows XP/2000的任务管理器是一个非常有用的工具,能让你看到系统中正在运行哪些程序(进程),只要你平时多看任务管理器中的进程列表,熟悉系统的基本进程,就可以随时发现可疑进程,这对防范木马和病毒大有裨益!不过有一些可疑进程,你用任务管理器却无法杀掉,这该怎么办呢?
一、哪些系统进程不能关掉
Windows运行的时候,会启动多个进程。只要你按下“Ctrl+Alt+Del”键打开任务管理器,点击“查看”/选择列,勾选“PIO(进程标识符)”,然后单击“进程”标签,即可看到这些进程。不过有一些进程个人用户根本用不到,例如Systray.exe(显示系统托盘小喇叭图标)、Ctfmon.exe(微软Office输入法)、Winampa.exe等,我们完全可以禁止它们,这样做并不会影响系统的正常运行。
二、如何关闭任务管理器杀不了的进程
如果你在任务管理器中无法关闭某个可疑进程,可以使用下面的方法强行关闭,注意不要杀掉进程表中的系统核心进程:
1. 使用Windows XP/2000自带的工具
从Windows 2000开始,Windows系统就自带了一个用户态调试工具Ntsd,它能够杀掉大部分进程,因为被调试器附着的进程会随调试器一起退出,所以只要你在命令行下使用Ntsd调出某进程,然后退出Ntsd即可终止该进程,而且使用Ntsd会自动获得Debug权限,因此Ntsd能杀掉大部分的进程。
操作方法:单击“开始”/程序/附件/命令提示符,输入命令:ntsd -c q -p PID(把最后那个PID,改成你要终止的进程的PID)。在进程列表中你可以查到某个进程的PID,例如我们要关闭图1中的Explorer.exe进程,输入:ntsd -c q -p 408即可。
以上参数-p表示后面跟随的是进程PID, -c q表示执行退出Ntsd的调试命令,从命令行把以上参数传递过去就行了。
2. 使用专门的软件来杀进程
任务管理器杀不掉的进程,你可以使用专门的软件关闭。有很多软件可以杀进程,例如进程杀手、IceSword、柳叶擦眼、系统查看大师、Kill process等。
(1)进程杀手2.5(【点击下载“进程杀手2.5”】)
它能够浏览系统中正在运行的所有进程,包括用Ctrl+Alt+Del 看不到的进程,可以精简进程、自动中止系统基本进程以外的所有进程,对木马和病毒进程有一定清除作用,你可以用它随时中止任一个正在运行的进程,选中该进程,按“中止进程”按钮即可。
(2)IceSword(【点击下载“IceSword”】)
如今系统级木马后门功能越来越强,一般都可轻易隐藏进程、端口、注册表、文件信息,普通进程工具根本无法发现这些“幕后黑手”。IceSword使用大量新颖的内核技术,可以查出所有隐藏进程。
要查看当前进程,请点击“进程”按钮,在右部列出的进程中,隐藏的进程会以红色醒目地标记出,以方便查找系统级后门。如果要结束某进程,可以先选中它(按住Ctrl键可选择多个进程),然后使用右键菜单的“结束进程”,即可关闭之。
(3)柳叶擦眼
它可以列出系统中所有的进程(包括隐藏的),并可以杀死进程,能自动标示出系统文件,自动中止基本进程外的所有进程,还具有IE保护功能。
运行软件后,单击“柳叶擦眼”可以显示当前正在运行的所有进程,你只需注意那些“定义级别”为“未知”及“危险”的进程,按“降妖伏魔”按钮关闭它们即可。
(4)系统查看大师1.0
目前许多木马都是在后台运行的,它们运行时会隐藏自己的窗口,因此你无法在屏幕上看到它们。该软件可以获取隐藏的不可见窗口,让你发现木马踪影、关闭之。
软件运行后,在左侧视图中点击“取不可见窗口”按钮,右侧的窗口中就会显示出所有当前运行的、隐藏的不可见窗口标题,选定其中的可疑窗口,然后点击右下端的“结束此窗口”按钮,即可关闭之。如果你要关闭某进程,可以单击“进程列表”按钮,选中该进程,然后右击鼠标在弹出的窗口中,单击“结束进程”即可。
什么是进程管理器
Windows的任务管理器提供了有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息,可以显示最常用的度量进程性能的单位;如果连接到网络,那么还可以查看网络状态并迅速了解网络是如何工作的,今天,我们就来全面了解任务管理器的方方面面。
一、如何启动任务管理器
最常见的方法是同时按下“Ctrl+Alt+Del”组合键,不过如果不小心接连按了两次键,可能会导致Windows系统重新启动,假如此时还未保存数据的话,恐怕就欲哭无泪了。
其实,我们可以选择一种更简单的方法,就是右键单击任务栏的空白处,然后单击选择“任务管理器”命令。或者,按下“Ctrl+Shift+Esc”组合键也可以打开任务管理器,赶快试试吧。当然,你也可以为\Windows\System32\taskmgr.exe文件在桌面上建立一个快捷方式,然后为此快捷方式设置一个热键,以后就可以一键打开任务管理器了。
小提示:需要说明的是,在Windows XP中,如果未使用欢迎屏幕方式登录系统,那么按下“Ctrl+Alt+Del”组合键,弹出的只是“Windows安全”窗口,必须选择“任务管理器”才能够打开。
二、认识任务管理器
任务管理器的用户界面提供了文件、选项、查看、窗口、关机、帮助等六大菜单项,例如“关机”菜单下可以完成待机、休眠、关闭、重新启动、注销、切换等操作,其下还有应用程序、进程、性能、联网、用户等五个标签页,窗口底部则是状态栏,从这里可以查看到当前系统的进程数、CPU使用比率、更改的内存容量等数据,默认设置下系统每隔两秒钟对数据进行1次自动更新,当然你也可以点击“查看→更新速度”菜单重新设置。
1. 应用程序
这里显示了所有当前正在运行的应用程序,不过它只会显示当前已打开窗口的应用程序,而QQ、MSN Messenger等最小化至系统托盘区的应用程序则并不会显示出来。
你可以在这里点击“结束任务”按钮直接关闭某个应用程序,如果需要同时结束多个任务,可以按住Ctrl键复选;点击“新任务”按钮,可以直接打开相应的程序、文件夹、文档或Internet资源,如果不知道程序的名称,可以点击“浏览”按钮进行搜索,其实这个“新任务”的功能看起来有些类似于开始菜单中的运行命令。
2. 进程
这里显示了所有当前正在运行的进程,包括应用程序、后台服务等,那些隐藏在系统底层深处运行的病毒程序或木马程序都可以在这里找到,当然前提是你要知道它的名称。找到需要结束的进程名,然后执行右键菜单中的“结束进程”命令,就可以强行终止,不过这种方式将丢失未保存的数据,而且如果结束的是系统服务,则系统的某些功能可能无法正常使用。
Windows的任务管理器只能显示系统中当前进行的进程,而Process Explorer可以树状方式显示出各个进程之间的关系,即某一进程启动了哪些其他的进程,还可以显示某个进程所调用的文件或文件夹,如果某个进程是Windows服务,则可以查看该进程所注册的所有服务,需要的朋友可以从 下载。
3. 性能
从任务管理器中我们可以看到计算机性能的动态概念,例如CPU和各种内存的使用情况。
CPU使用情况:表明处理器工作时间百分比的图表,该计数器是处理器活动的主要指示器,查看该图表可以知道当前使用的处理时间是多少。
CPU使用记录:显示处理器的使用程序随时间的变化情况的图表,图表中显示的采样情况取决于“查看”菜单中所选择的“更新速度”设置值,“高”表示每秒2次,“正常”表示每两秒1次,“低”表示每四秒1次,“暂停”表示不自动更新。
PF使用情况:正被系统使用的页面文件的量。
页面文件使用记录:显示页面文件的量随时间的变化情况的图表,图表中显示的采样情况取决于“查看”菜单中所选择的“更新速度”设置值。
总数:显示计算机上正在运行的句柄、线程、进程的总数。
执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。
物理内存:计算机上安装的总物理内存,也称RAM,“可用”表示可供使用的内存容量,“系统缓存”显示当前用于映射打开文件的页面的物理内存。
内核内存:操作系统内核和设备驱动程序所使用的内存,“页面”是可以复制到页面文件中的内存,由此可以释放物理内存;“非分页”是保留在物理内存中的内存,不会被复制到页面文件中。
4. 联网
这里显示了本地计算机所连接的网络通信量的指示,使用多个网络连接时,我们可以在这里比较每个连接的通信量,当然只有安装网卡后才会显示该选项。
5. 用户
这里显示了当前已登录和连接到本机的用户数、标识(标识该计算机上的会话的数字ID)、活动状态(正在运行、已断开)、客户端名,可以点击“注销”按钮重新登录,或者通过“断开”按钮连接与本机的连接,如果是局域网用户,还可以向其他用户发送消息呢。
三、任务管理器之特别任务
其实,任务管理器除了终止任务、结束进程、查看性能外,它还可以完成很多更高级的特别任务呢。下面,我们通过几个实例来介绍任务管理器的扩展应用:
实例一:同时最小化多个窗口
切换到“应用程序”标签页,按住Ctrl键同时选择需要同时最小化的应用程序项目,然后点击这些项目中的任意一个,从右键菜单中选择“最小化”命令即可,这里同时还可以完成层叠、横向平铺、纵向平铺等操作。
实例二:降低BT软件的资源占用率
运行BT软件时,往往会占用大量的系统资源,你会看到硬盘灯不停闪烁并伴随着飞速转动的噪音,此时无论是浏览网页或是运行其他应用程序,肯定会有系统停滞的感觉。
打开“任务管理器→进程”窗口,选择BT软件的进程名,然后从右键菜单中选择“设置优先级”命令,这里可以选择实时、高、高于标准、标准、低于标准、低等不同级别,请根据实际情况进行设置,例如设置为“低于标准”可以降低进程的优先级别,从而让Windows为其他进程分配更多的资源。
实例三:打造增强版本的任务管理器
有热心网友从Longhorn中将任务管理器剥离出来并提供下载,我们可以借此来打造一个增强版本的任务管理器。解压缩下载文件,会得到Taskkill.exe、Tasklist.exe、Taskmgr.exe等3个文件,首先覆盖\Windows\System32\Dllcahe\下的同名文件,覆盖前请事先备份源文件,接下来继续覆盖\Windows\System32\下的同名文件,当弹出“Windows文件保护”对话框时,选择“取消”按钮。
更换后的任务管理器不仅程序图标发生了变化,右击进程,可以发现在右键菜单中增加了打开所在目录、创建转储文件两个命令,而“查看→选择列”中增加了命令行、映像路径两个项目,前者可以查看所显示的进程是否被伪装,后者则可以查看进程的文件路径。
实例四:打开处理器的超线程
P4处理器的超线程技术(Hyper-Threading Technology)其实是相当于将一颗处理器分为两个虚拟的处理器,简单地说,实现超线程需要处理器、主板、操作系统三方面的支持。如果你使用的是Windows XP/Server 2003,而且确定自己的主板和处理器支持超线程,那么可以切换到“性能”标签页,如果这里显示两个CPU使用记录图表的话,说明你的处理器确确实实已经打开超线程。
当然,我们也可以在开机信息中查看超线程支持情况,一般会显示CPU1、CPU2两个处理器名称,或者启动后进入“设备管理器”,这样同样会显示两个处理器的信息。
实例五:禁用任务管理器
任务管理器可以完成如此强大的任务,如果你使用的是公用计算机,而又不希望他人私自操作任务管理器,可以在“开始→运行”框中键入Gpedit.msc命令打开组策略窗口,找到“本地计算机策略→用户配置→管理模板→系统→Ctrl+Alt+Del选项”项,然后在右侧窗口中选择“删除任务管理器”项,将其设置为“已启用”,以后按下“Ctrl+Alt+Del”组合键时就无法操作任务管理器了。
当然,通过文中提到的其他两个方法还是可以正常操作任务管理器的,一劳永逸的解决办法是为Taskmgr.exe文件设置用户授权,当然必须使用NTFS文件系统才行,呵呵。
小知识:
句柄:用来惟一标识资源(例如文件中注册表项)的值,以便程序可以访问它。
线程:在运行程序指令的进程的对象,线程允许在进程中进行并发操作,并使一个进程能够在不同处理器上同时运行其程序的不同部分。
进程:一个可执行程序(例如资源管理器)或者一种服务(例如MSTask)
编辑词条
操作系统按所提供的功能进行分类,可分为哪几类
1、设备管理:主要是负责内核与外围设备的数据交互,实质是对硬件设备的管理,包括对输入输出设备的分配,初始化,维护与回收等。例如管理音频输入输出。
2、作业管理:这部分功能主要是负责人机交互,图形界面或者系统任务的管理。
3、文件管理:这部分功能涉及文件的逻辑组织和物理组织,目录结构和管理等。从操作系统的角度来看,文件系统是系统对文件存储器的存储空间进行分配,维护和回收,同时负责文件的索引,共享和权限保护。
4、进程管理:说明一个进程存在的唯一标志是pcb(进程控制块),负责维护进程的信息和状态。进程管理实质上是系统采取某些进程调度算法来使处理合理的分配给每个任务使用。
5、存储管理:数据的存储方式和组织结构。
扩展资料:
注意事项:
防止注册表垃圾使用Registry Cleaner这类工具。不要使用OutlookExpress,把垃圾邮件过滤器存放在注册表中。
保持杀毒和反间谍软件的更新:恶意软件经常在注册表中制造垃圾,还会启动不必要的Windows服务,做许多降低系统性能的事情,甚至导致系统根本无法工作。
参考资料来源:百度百科-操作系统