Windows编程知识要点总结4-进程1

 

四. 进程
是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。
进程是一个具有一定独立功能的程序关于某个数据**的一次运行活动。
每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。
进程的基本状态:就绪,运行,阻塞
在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。


进程的创建过程
1) 申请空白PCB。为新进程申请获得唯一的数字标识符,并从PCB**中索取一个空白PCB。
2) 为新进程分配资源。为新进程的程序和数据以及用户栈分配必要的内存空间。
3) 初始化进程控制块。PCB的初始化包括:①初始化标识信息。将系统分配的标识符和父进程标识符,填入新的PCB中;②初始化处理机状态信息。使程序计数器指向程序的入口地址,使栈指针指向栈顶;③初始化处理机控制信息。将进程的状态设置为就绪状态或静止就绪状态,对于优先级,通常是将它设置为最低优先级,除非用户以显式的方式提出高优先级要求。
4) 将新进程插入就绪队列。


一点实用内容
①当前进程路径
复制以下内容到记事本,另存为path.bat
@echo off
wmic process get executablepath>path.txt
start path.txt
②当前进程调用的服务
复制以下内容到记事本,另存为svc.bat
@echo off
tasklist/svc
set /p c=请输入服务名:
sc getdisplayname %c%
pause
%0
③开始-运行-输入services.msc

进程的调度算法:FIFO-先进先出,RR-时间片轮转,HPF-最高优先级算法

进程控制块PCB通常应包括:
1、进程标识符 name:
2、进程当前状态 status:
3、进程相应的程序和数据地址,以便把PCB与其程序和数据联系起来。
4、进程资源清单。列出所拥有的除CPU外的资源记录,如拥有的I/O设备,打开的文件列表等。
5、进程优先级 priority:
6、CPU现场保护区 cpustatus:
7、进程同步与通信机制
8、进程所在队列PCB的链接字
9、与进程有关的其他信息。 如进程记账信息,进程占用CPU的时间等。

Windows中的进程控制块是EPROCESS结构, 线程控制块是ETHREAD结构.
Windows的进程链表是一个双向环链表。这个环链表LIST_ENTRY结构把每个EPROCESS链接起来. 那么只要找到一个EPROCESS结构, 我们就可以遍历整个链表, 这就是枚举进程的原理。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值