首页
社区
课程
招聘
[原创]白话windows之 会话、工作站、桌面、窗口之间的关系
2013-6-8 22:51 29095

[原创]白话windows之 会话、工作站、桌面、窗口之间的关系

2013-6-8 22:51
29095
收藏
点赞7
打赏
分享
最新回复 (47)
雪    币: 115
活跃值: (46)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
IDGHOST 2013-6-12 07:27
26
0
你说system是系统内核本身,我就越来越糊涂了。
虽说是0号进程(空闲进程),实际上存在Kprocess,不像是虚拟的。
不同点:相对system权限来说,这个R3被拒绝访问,线程更多,无分页内存。
相同点:有ntkrnlpa(windbg看到的是另一个)的线程,看起来更像是寄生的。
雪    币: 3517
活跃值: (2102)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wogao 2013-6-12 08:26
27
0
楼主整理的挺好的,辛苦啦
雪    币: 541
活跃值: (654)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
ddlx 5 2013-6-12 09:45
28
0
0号进程管理0号线程的。每个Cpu都有一个0号线程,0号线程是空闲线程,当Cpu没有其他线程需要运行的时候,就会让0号线程运行。这也说明了为什么0号进程显示的Cpu占用率代表Cpu空闲率了。
(0号进程是有EPROCESS的,只是没法通过Pid找到它)

另外线程问题,内核线程都属于system进程的(除了0号线程)。
为什么说system是系统本身呢?有一下几点证明:
1. system进程是没有实体的,并且从字面上和对该进程的描述(NT Kernel & System)上可以说明。
2. system没有用户态模式,system是一个系统内核进程。全系统只有两个:Idle和system。
3. 所有内核线程都归system管理

分页内存和未分页内存是由内核中全局变量指定的,在system进程信息中体现不出来(上一个跟帖说的有错误啊,不好意思~)

不知道能否解决你的疑惑
雪    币: 541
活跃值: (654)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
ddlx 5 2013-6-12 09:59
29
0
用windbg看一下进程信息会有更好的理解效果
0号进程:!process poi(PsIdleProcess) f
system进程:!process poi(PsInitialSystemProcess) f
雪    币: 115
活跃值: (46)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
IDGHOST 2013-6-12 10:58
30
0
我的理解:
1   0,4号进程都是内核的宿主(system也能被R3进程申请分页内存),哪个进程的非分页内存里的才是存放内核映像。
2.  我发现ntdll,ole等有仅存在于Idle的线程。
3.  另外我想知道userinit的父进程是?为什么不是system进程,这进程退出得太快很难查。
无论如何在这里总算学到了不少。
雪    币: 541
活跃值: (654)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
ddlx 5 2013-6-12 11:41
31
0
1. system要在R3申请分页内存需要一些特殊技巧吧(没试过,system是没有PEB的,就是申请了也没多大用)。system和idle进程中都不会有存放内核镜像。非分页内存由内核的全局变量维护,不存在system和0号进程的VadRoot 中。另外,内核镜像不是都存放在非分页内存中。nt模块的代码有一部分是存放在非分页内存的如.text段, 有一部分是存在分页内存里的如PAGE段,还有一部分是存放在分页内存并可抛弃如INIT段,这个由PE的段头属性决定。
2. 这个是不可能的吧,idle没有R3的内存布局,也没PEB,也不能被用户态访问,idle进程中更不能存在ntdll,ole模块。不知道你用什么工具看的,或者运行什么软件导致这样的情况,给介绍一下
3. userinit进程是用户初始化进程,是在用户登录后,做初始化工作用的。所以他的父进程是winLogin.exe。
雪    币: 115
活跃值: (46)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
IDGHOST 2013-6-12 12:19
32
0
好吧,我承认我才学疏浅,做个渔人比做个愚人要好
1.   我用NtAllocateVirtualMemory向system申请的内存,提下权就行了
2.   我用Kernel Detective查看的线程;若用XT才无语,system模块有ntdll.dll存在
3.   据我了解父进程为system,子进程也会一样。因此我对所用的PS API甚感兴趣。
雪    币: 108
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jylaxp 2013-6-12 12:27
33
0
Mark一下,手机不方便阅读
雪    币: 541
活跃值: (654)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
ddlx 5 2013-6-12 12:28
34
0
只有相互探讨,才能融汇贯通。。理不辨不明~。有兴趣加入群么?151843490。探讨windows内核技术的~
雪    币: 541
活跃值: (654)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
ddlx 5 2013-6-12 13:01
35
0
1. 你是对的
2. 用Kernel Detective看idle线程列表,里面显示的是所有的线程。所属idle的都是线程ID==0的线程。system存在ntdll.dll不奇怪,是为了让其他进程能够使用ntdll.dll预先映射到system进程中的。system本身是不使用该模块的。
3. userinit父进程是winlogin.exe,这个我是看《windows内核原理与实现》中说的。我没实际测试,

交流是学习最快的方法,我不是在炫耀自己知道的多,自己知道的不一定是对的,这也是我来看雪的原因。希望能与大家相互交流,让自己知道存在哪些不足,并验证自己脑子里记得东西哪些是错的。
如有冒犯请多包涵你说的很对”做个渔人比做个愚人要好“,我来看雪也是不想做个愚人
雪    币: 1126
活跃值: (3392)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
FIGHTING安 1 2013-6-12 13:10
36
0
学习了   楼主辛苦
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rhffv 2013-6-12 20:33
37
0
mark
支持一下
雪    币: 334
活跃值: (602)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
EvilKnight 4 2013-6-13 00:21
38
0
不错,支持一下!.
雪    币: 516
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
勇敢者 2013-6-13 10:00
39
0
感谢楼主  先收藏了
雪    币: 6192
活跃值: (2080)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
shuichon 2013-6-13 11:49
40
0
我觉得写的很不错。
雪    币: 17
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
simplejy 2013-6-14 08:14
41
0
不错不错,学习了。
雪    币: 541
活跃值: (654)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
ddlx 5 2013-6-15 01:40
42
0
对本帖进行了重新编辑,非常感谢与各位的探讨。发现本帖中确实存在错误。主要是从启动到登陆各个进程启动的顺序和时机不正确。
现已对该问题进行了修正。详见本帖。
雪    币: 293
活跃值: (232)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
瀚海云烟 1 2018-7-25 15:51
43
0
论坛迁移,丢了一些楼层吧~~ 内容值得回味
雪    币: 310
活跃值: (1917)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
niuzuoquan 2019-4-3 11:51
44
0
mark
雪    币: 267
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
liangyu 2019-4-12 12:58
45
0
此类帖子严重点赞
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
风吹雨碎 2023-3-14 14:15
46
0
把windows操作系统主要的进程,启动顺序详细梳理给了大家,给力。
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
风吹雨碎 2023-3-14 16:38
47
0
winlogin.exe,应该是 winlogon.exe吧
雪    币: 3428
活跃值: (3482)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
fengyunabc 1 2023-3-14 16:52
48
0
感谢分享!
游客
登录 | 注册 方可回帖
返回