一个进程的诞生于死亡
来源:互联网 发布:传奇盛世光翼进阶数据 编辑:程序博客网 时间:2024/06/10 03:42
执行一个程序,必然就产生一个进程,最直接的程序执行方式就是在shell中以鼠标双击某个可执行的行文件图标,执行起来的app进程其实是shell调用createprocess激活的,看看整个流程:
1,shell调用creaeprocess激活app。exe
2,系统产生一个“进程核心对象”,计数值为1.
3,系统为此进程建立一个4GB地址空间。
4,加载器将必要的代码加载到上述地址空间中,包括app。exe的程序,数据,以及所需的动态链接库。加载如何知道要加载哪些dlls呢?他们被记录在可执行文件的.idata section中/
5,系统为此进程建立一个线程,称为主线程。线程才是CPU时间的分配对象。
6,系统调用C runtion 函数库的Startup code/
7,Startup code 调用app 程序的winmain函数。
8,app程序开始执行/
9,使用者关闭app主窗口,使winmain中的消息循环结束掉,于是winmain结束。
10,回到startup code/
11,回到系统,系统调用exitprocess结束进程
0 0
- 一个进程的诞生于死亡
- 一个进程的诞生与死亡
- 一个进程的诞生与死亡
- 一个进程的诞生与死亡
- 《深入浅出MFC》——一个进程的诞生与死亡
- 进程的诞生与死亡的整个过程
- 6.fork + execve:一个进程的诞生
- MFC程序的诞生与死亡
- MFC程序的诞生,运行与死亡
- mfc程序的诞生运行和死亡
- MFC程序的诞生与死亡
- MFC学习点滴四:MFC程序的诞生与死亡
- Windows编程 Windows窗口的从诞生到死亡
- 一个脚本的诞生
- 一个APP的诞生
- 一个BaseActivity的诞生
- 一个程序员的诞生!
- 性能怪兽!一个7倍于GoogleNet/AlexNet GPU的加速卡诞生了!
- POJ - 2239 Selecting Courses 二分图 最大匹配
- 函数重载概念本质
- RabbitMQ消息队列:ACK机制
- eth0: ERROR while getting interface flags: No such device
- 常用的正则表达式
- 一个进程的诞生于死亡
- Python操作Mysql基础教程
- Java中goto是关键字吗?什么是Java的保留字?Java中关键字有哪些?
- js中获取上下文路径
- IOS消息传递机制
- 同一个应用程序的不同Activity可以运行在不同的进程中么?
- Web容器和Web应用程序介绍
- iOS开发中导入第三方库时不能自动补全头文件的解决方法
- 从Java的Collection说起