一个进程的诞生于死亡

原创 2015年06月08日 19:44:01

执行一个程序,必然就产生一个进程,最直接的程序执行方式就是在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结束进程

后起之秀的炼成——Python诞生与崛起之路

python发展到这个程度所经历的
  • diosmai_kingso
  • diosmai_kingso
  • 2017年12月10日 21:21
  • 288

大数据框架之Spark框架

大数据软件框架之 Spark框架: Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室...
  • StarCoder_WangYue
  • StarCoder_WangYue
  • 2017年08月10日 08:02
  • 347

jzoj3588 【中山市选2014】J语言 (表达式解析)

超长题面 J语言作为一门编程语言,诞生于20世纪90年代………….. 好学的小H今天又学到了一种新东西——J语言。显然,J语言的背景已经被小H忘得一干二净了,但是小H仍然记得J语言中有趣的数学计算...
  • jokerwyt
  • jokerwyt
  • 2018年01月20日 17:30
  • 194

区块链:诞生于草根的时尚

IT行业像极了时尚行业,每隔一段时间就有一个新概念出来,被IT厂商热炒,而区块链的兴起完全是一种草根运动。作者 | 曹严明甲骨文公司的CEO Larry Ellison 曾经感叹地说,IT行业像极了时...
  • Blockchain_lemon
  • Blockchain_lemon
  • 2018年02月09日 00:00
  • 91

PHP三位创始人传奇的诞生简介

[导读] PHP到现在为止已经诞生了12年。在此期间,通过不断改进,已经成为Web开发的最重要的语言之一。 PHP能有今天的成就,它的三位创始人(拉斯穆斯Lerdorf , Zeev一系列Surask...
  • u012140950
  • u012140950
  • 2013年09月16日 08:53
  • 1210

区块链:诞生于草根的时尚

IT行业像极了时尚行业,每隔一段时间就有一个新概念出来,被IT厂商热炒,而区块链的兴起完全是一种草根运动。 作者 | 曹严明 甲骨文公司的CEO Larry Ellison 曾经感叹地...
  • Blockchain_lemon
  • Blockchain_lemon
  • 2018年02月09日 15:53
  • 3414

区块链:诞生于草根的时尚

IT行业像极了时尚行业,每隔一段时间就有一个新概念出来,被IT厂商热炒,而区块链的兴起完全是一种草根运动。 作者 | 曹严明甲骨文公司的CEO Larry Ellison 曾经感叹地说,IT行业像极了...
  • Icedeny
  • Icedeny
  • 2018年02月11日 09:32
  • 33

RFC821-简单邮件传输协议(SMTP)中文版

RFC821-简单邮件传输协议(SMTP)中文版----------------------------------------------------------------------------...
  • chary8088
  • chary8088
  • 2006年05月05日 17:06
  • 2533

Linux线程挂掉是否影响进程

严格的说没有“线程崩溃”,只是触发了SIGSEGV (Segmentation Violation/Fault)。如果没有设置对应的Signal Handler操作系统就自动终止进程(或者说默认的Si...
  • YUAN1125
  • YUAN1125
  • 2017年04月02日 13:39
  • 1049

JSON是什么?如何产生的?

JSON:是一种轻量级的数据交换方式,它是基于javascript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯这些特性使JSON成为理想的数据交换语言。易于人阅...
  • sxdtzhaoxinguo
  • sxdtzhaoxinguo
  • 2013年07月15日 09:57
  • 1106
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个进程的诞生于死亡
举报原因:
原因补充:

(最多只允许输入30个字)