当前位置:首页 > 日记 > 正文

详细介绍了windows系统中进程和线程的创建过程。

详细介绍了windows系统中进程和线程的创建过程。
点评:本程序是一个具有一定独立功能的程序,关于一个操作上的一组数据活动,是一个独立的资源分配和调度系统,在windows操作系统下创建进程的过程中介绍,感兴趣的朋友可以参考。
工艺(过程)是一个有独立功能的数据集上运行的程序,这是资源分配和调度的一个独立的单元。程序是一组有序的指令的集合,它没有本身的任何意义,但它只是一个静态的实体。过程是不同的,它是数据集上执行程序,它是一个动态的实体,它的产生是通过创建、运行调度、等待资源或事件,是由于完成任务撤销,这反映了一个程序在一个特定的数据集运行的整个动态过程。

线程(线程)是进程的实体,是CPU调度和调度的基本单元,线程不能独立执行,必须在进程存在的过程中由多线程控制,从内核的角度来看,线程是活动对象,进程只是一组静态对象集。过程中必须至少有一个活跃的线程继续运行。当一个应用程序调用一个过程来创建一个功能如CreateProcess或用户执行一个程序(事实上,Windows用户执行的一般程序是由explorer.exe CreateProcess调用来完成操作系统),其过程分为以下步骤:

1。打开将在流程中执行的映像文件。
2。创建windows执行器进程对象。
三.创建初始线程(堆栈,堆执行环境初始化和执行线程主体对象)。
4、通知Windows子系统已经创建了新进程。(子系统是操作系统的一部分,它是一个协助操作系统内核管理用户状态/客户端子系统的具体过程是Csrss。exe)。
5。启动初始线程(如果create_suspended状态的线程创建时指定的时间,那么线程暂停)。
6。在新进程和线程环境中初始化地址空间(例如加载所需的DLL和库),然后启动进程入口。
在这里,操作系统完成了创建一个新进程的过程。

接下来,看看每个操作系统所做的工作。
1。打开将在流程中执行的映像文件。
操作系统首先找到已执行的Windows映像,并创建一个内存区域对象,以便稍后将其映射到一个新的进程地址空间。

2。创建windows执行器进程对象。
操作系统然后调用系统内部函数NtCreateProcess,创建一个窗口执行过程对象。具体步骤:
(1)建立过程
*分配并初始化EPROCESS结构块
*从父进程继承的亲和掩码
*最大最小工作集的分配过程(的psminimumworkingset psmaximumworkingset是由两个参数确定)
*阻止新进程进程配额,设置配额父亲块,并增加父块配额的引用计数。
*继承windows的设备名称空间
*在新过程对象的inheritedformuniqueprocessid保存父进程的进程ID
*为流程创建主访问令牌
*初始化进程句柄表
*新进程的退出状态设置为status_pending

(2)创建初始进程地址空间
*在适当的页表中创建页表项以映射初始页
*计算过程的工作集的大小从mmresidentavailablepage
*非缓存系统和页面表的空间表单部分映射到进程中。

(3)初始化内核进程块kprocess
(4)结束创建进程地址空间的过程。
(5)建立PEB
(6)执行过程对象的完成

三.创建初始线程(堆栈,堆执行环境初始化和执行线程主体对象)。

此时Windows执行器进程对象已完全完成,但它没有线程,因此无法执行。

然后系统调用NtCreateThread创建新线程挂,这是过程的主线。

4、通知Windows子系统已经创建了新进程。(子系统是操作系统的一部分,它是一个协助操作系统内核管理用户状态/客户端子系统的具体过程是Csrss。exe)。

其次,操作系统会发出一个新的数据信息被新进程线程创建的Windows子系统(CSRSS)通过客户端状态(Kernel32. DLL),使系统可以建立自己的进程线程管理模块。当Csrss收到消息,进行以下处理:

*复制进程和线程句柄的副本
*设置进程优先级
*配置CSRSS进程块
*把异常处理新工艺的端口到CSRSS,这样在过程中发生的CSRSS会收到异常消息
*分配和初始化的csrss线程块
*将线程插入进程的线程列表中
*插入过程分为Csrss的线程列表
*显示进程启动游标

5。启动初始线程(如果create_suspended状态的线程创建时指定的时间,那么线程暂停)。通过这一过程,过程环境一直在创造主线程的线程的执行线程的过程开始了

6。的地址空间的新进程和线程环境初始化(如加载需要的DLL和库)然后启动过程的入口。这一步是调用LdrInitializeThunk初始化装载机,堆管理器NLS TLS数组和临界区结构和加载任何必须DLL和使用dll_process_attach代码打电话给DLL的入口点,最后,当装载机初始化例程返回到用户模式APC经销商在处理图像开始在用户模式下执行,并调用线程启动函数开始。

在这里,操作系统完成了所有的创建,我们编写的程序是通过操作系统调用来运行的。

相关文章

oracle指定排序方法详细解决方案

oracle指定排序方法详细解决方案

解决方案,排序方法,详细,电脑软件,oracle,Oracle9i之前,中国是由二进制编码排序。在新的Oracle9i根据拼音、部首、笔画排序功能。 1。设置nls_sort参数值 据schinese_radical_m基(一阶)和中风(二阶)排名schinese_stroke_m根据中风(一阶)和自由基(二…

什么样的过程dlt.exe安全

什么样的过程dlt.exe安全

过程,电脑软件,dlt,exe,点评:dlt.exe是戴尔OpenManage软件相关程序计算机 进程文件:DLT或dlt.exe 过程名称:遗产翻译 过程类别:安全风险的过程 英文描述: dlt.exe是戴尔OpenManage系统管理软件的一部分,系统,它也被称为对与错。 中文参考: dlt.ex…

玩游戏生化奇兵和Caton游戏不流畅(

玩游戏生化奇兵和Caton游戏不流畅(

奇兵,溶液,玩游戏,流畅,游戏,问题: 最近,在电脑上安装:生化奇兵无限的游戏,根据游戏,我gt640 NVIDIA图形的游戏,但玩游戏,或偶尔会出现卡顿的现象,我不知道为什么 答案uff1a 玩法:无限生化游戏,NVIDIA gt640显卡仍然是卡尔顿,可能是由N卡优化造成的…

Win8.1200%超DPI设置(4K显示器)

Win8.1200%超DPI设置(4K显示器)

显示器,设置,电脑软件,DPI,点评:4K显示技术,4K显示器越来越多,如夏普32寸寸PN-K321 4K超高清,虽然其价格昂贵,仍无法进入千家万户,但Windows 8.1已经准备好了它的普及,加上超高分辨率屏幕的支持。 在这方面,三个方面的改进的Windows 8.1在Win8的基…

电脑进入游戏后没有声音。

电脑进入游戏后没有声音。

进入游戏,声音,电脑软件,问题: 电脑一进入使命召唤9 为了玩游戏方便,游戏就安装了汉化补丁,不知道补丁的本地化原因吗 答案uff1a 计算机进入没有声音的游戏,首先检查是否DirectX损坏,如果检查没有问题,DirectX将更新为新版本,更新显卡和声卡驱动…

货拉拉司机入驻流程是什么?记者暗访

货拉拉司机入驻流程是什么?记者暗访

货拉拉司机入驻流程是什么?记者暗访货拉拉司机入驻流程全过程,货拉拉,培训,平台,行业,承诺,费用,结束,货运,货拉拉司机入驻流程是什么?23岁女孩跳车窗事件引起网友诸多讨论,就有记者暗访了货拉拉司机入驻流程全过程,大家可以一起来看一下。2月24日@紧…

Linux文件安全随机数发生器李晓辉

Linux文件安全随机数发生器李晓辉

文件安全,随机数,发生器,电脑软件,Linux,评论:数据安全这个话题在当今时代无处不在。然而,我们可以看到,由于缺乏数据安全,每天可以造成多少损失。说实话,没有人能保证数据的绝对安全,只有相对安全。 linux文件安全随机数发生器 作者:李晓辉 这…

手机软件(QQ安全助手/浏览器/Youni

手机软件(QQ安全助手/浏览器/Youni

删除,浏览器,手机软件,助手,短信,问题: HTC ChaCha智能手机新买的手机,有些预装软件(如:QQ安全助手、QQ浏览器,Youni短信),暂时不需要,每次启动软件会自动启动,浪费手机流量,删除或卸载,但我不知道如何操作 答案uff1a 手机加载软件不能被删除,因为他…

pavprsrv是pavprsrv.exe-使用

pavprsrv是pavprsrv.exe-使用

电脑软件,pavprsrv,exe,评论:详细的介绍了pavprsrv.exe - pavprsrv过程 进程文件:pavprsrv或pavprsrv.exe 过程名称:熊猫防病毒 过程类别:安全风险的过程 英文描述: pavprsrv.exe是一个过程,属于熊猫杀毒软件保护您的计算机免受互联网威胁的约…

如何在Linuxunpresstar.gz文件查看

如何在Linuxunpresstar.gz文件查看

文件,大小,如何在,电脑软件,gz,点评:最近,一个朋友问如何解决文件大小在Linux系统没有tar.gz文件解压缩。下面是一个简单的朋友与大家分享。 如何unpress tar.gz文件查看文件的大小 my_file.tar.gz焦油TVF 输出表单如下所示: - rwxr-xr-x根/…

XP系统不用鼠标就很快关闭机器。

XP系统不用鼠标就很快关闭机器。

系统,鼠标,机器,电脑软件,XP,评论:关闭XP系统最快的方法,你知道,只需按两个按钮就可以迅速关掉机器。肯,你会说我把机器转得很快,但是摇动鼠标很困难吗 XP系统是关机最快的方法,你知道,只需按两个按钮就可以快速关机。肯,你会说我把机器转的很快,但…

解决方案(技术),可以不经过卸载AvastW

解决方案(技术),可以不经过卸载AvastW

卸载,在线,解决方案,不经过,技术,近日,不少网友反映安装avast!在Win8.1 64位系统的杀毒软件。卸载后,计算机无法正常上网。本文将分享解决方案。 计算机出现以上提示用户安装avast!当卸载网络安全版,其网络防护模块不卸载。 解决方案是先下载…