- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程的创建.doc
实验一 进程以及创建
进程基本信息观察
Windows XP环境下通过windows任务管理器对程序、进程、线程关系观察;试举5例进程记录他们的基本信息(映像名称、PID、用户名、CPU时间、内存使用、虚拟内存使用、基本优先级、线程数)及对应的程序名称和程序大小。
在LINUX环境中通过ps命令观察并记录进程的基本信息(USER、PID、STAT、NI、PRI、PPID、COMMAND、TIME)。其中STAT指示进程状态,用后面的代码中的一个给出:R—可执行的;S—睡眠状态;D--不间断睡眠;T—停止或跟踪;Z—僵尸;W—进程没有驻留页;I—空闲。NI:进程的优先级值;PRI:进程的优先级;COMMAND:被执行的文件或命令;PPID:父进程的PID;TIME:进程使用的总CPU时间。
ps命令的格式:
ps[选项]
其中选项的取值及含义如下:
-e:显示所有进程;-f:全格式;
简单的控制台应用程序
我们先来创建一个名为“Hello,World”的应用程序。
步骤1:登录进入Windows 2000 Professional。
步骤2:在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将清单3-l中的程序键入记事本中,并把代码保存为Hello.cpp。
清单3-1 一个简单的Windows 2000控制台应用程序
// hello项目
# include iostream
?
void main()
{
std::cout “Hello, Windows 2000” std :: endl ;
}
步骤3:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,并利用简单的标准命令行:
C:\ CL Hello.cpp
来创建可执行的Hello.EXE。
进程的创建
知识要点:
1、进程的定义与特征 进程的定义:程是一个可并发执行的程序,在一个数据集合上的一次运行过程。它是系统进行资源分配和调度的一个独立单位。程控制的主要任务是对系统中所有进程从产生、存在到消亡的全过程实行有效的管理和控制。进程控制一般是由操作系统的内核来实现,内核在执行操作时,往往是通过执行各种原语操作来实现的。进程控制块PCB进程控制块PCB:(Process Control Block)这是为使多个程序能并发执行而为每个程序所配置的一个数据结构,其中存放了用于描述该进程情况和控制进程运行所需的全部信息进程的创建和撤消 创建原语
功能:创建一个具有指定标识符进程入口信息:进程标识符、优先级、进程开始地址、初始CPU状态、资源清单等实现过程:
撤消原语
功能:撤消一个指定的进程
入口信息:被撤消的进程名
实现过程:
2、Windows 2000进程的创建,了解Windows 2000进程的控制。
使用CreateProcess命令
⑴ 函数原型及参数说明:
BOOL CreateProcess(
LPCTSTR lpApplicationName, //指向一个以空结尾的串,他指定了要执行的模块名
LPTSTR lpCommandLine, //要执行的命令行字符串LPSECURITY_ATTRIBUTES lpProcessAttributes, //进程的安全属性LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线程的安全属性BOOL bInheritHandles, //表明新进程是否从调用进程继承句柄
DWORD dwCreationFlags, //定义控制优先类和进程创建的附加标志(创建标志LPVOID lpEnvironment, // 指向新的环境块的指针LPCTSTR lpCurrentDirectory, //指向一个以空结尾的串,该串定义了子进程的当前驱动器和当前目录
LPSTARTUPINFO lpStartupInfo, //指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示
LPPROCESS_INFORMATION lpProcessInformation //指向PROCESS_INFORMATION结构,该结构接受关于新进程的表示信息。
);
(2)返回值:
若函数调用成功,则返回值不为0;若函数调用失败,返回值为0。
ShellExecute和WinExec命令用于简单的作业。如果要完全控制一个新进程,就必须调用CreateProcess。
在上述参数中,参数lpStartupInfo是STARTUPINFO结构。可以用来设置控台的标题,新窗口的初始大小和位置,及重定向标准输入和输出。新程序通常
原创力文档


文档评论(0)