CREAT PROCESS
fork()
|
clone(参数,决定父子函数的共享内容)
|
do_fork()
|
copy_process()
|
dup_task_struct()
创建子进程的内核堆栈,复制父进程的进程描述符(task_struct)
进程描述符的很多成员被清除或者设为初值
设置子进程的状态task_struct-->state
...
分类:
系统相关 时间:
2014-10-16 17:32:12
阅读次数:
369
c#包含两大数据类型:值类型和引用类型。值类型包括简单类型、结构体类型和枚举类型,引用类型包括自定义类、数组、接口、委托等内存基本被划分为两大部分:堆和栈。从内存分配上来看,值类型通常分配在线程的堆栈上,作用域结束时,所占空间自行释放,效率高,无需进行地址转换,而引用类型通常分配在托管堆上,由GC来...
前一篇译文《使用TCmalloc的堆栈检查》,介绍了Tcmalloc进行堆栈检查,今天翻译《heap-profiling using tcmalloc》,了解如何 TCmalloc进行堆栈分析。...
分类:
其他好文 时间:
2014-10-16 14:48:52
阅读次数:
201
在前一篇译文《TCMalloc:线程缓冲的Malloc》详细讲解了TCMalloc的工作原理和特点,今天翻译《heap-checking using tcmalloc》,了解Tcmalloc堆栈检查。...
分类:
其他好文 时间:
2014-10-15 21:49:41
阅读次数:
236
task就好像是能包含很多activity的栈。 默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个 activity所在的task栈。当用户按下返回键时,第二个a...
分类:
其他好文 时间:
2014-10-15 14:35:41
阅读次数:
112
预备知识:__stdcall是函数调用约定的一种,函数调用约定主要约束了两件事: 1.参数传递顺序 2.调用堆栈由谁(调用函数或被调用函数)清理 常见的函数调用约定:stdcall cdecl fastcall thiscall naked call__stdcall表示 1.参数从右向左压...
分类:
编程语言 时间:
2014-10-15 14:20:50
阅读次数:
190
一、C++程序内存分配1)在栈上创建。在执行函数时,函数内局部变量的存储单元都在栈上创建,函数结束是,这些存储单元自动被释放。栈内存的分配运算内置于处理器的指令集中,一般采用寄存器来存取,效率很高但是分配的内存容量有限。2)从堆上分配,亦称动态内存分配。程序在运行时malloc或new任意多的内存,...
分类:
编程语言 时间:
2014-10-14 22:07:39
阅读次数:
287
我们今天将讨论的是8大你不得不知的Android调试工具,这些工具部分属于系统自带,也是一种方式方法,希望对大家有所帮助。1. 查看当前堆栈1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系2) 方法:new Exception(“print trace”).print...
分类:
移动开发 时间:
2014-10-14 20:57:59
阅读次数:
233
第一题:线程的基本概念、线程的基本状态及状态之间的关系?线程,有时称为轻量级进程,是CPU使用的基本单元;它由线程ID、程序计数器、寄存器集合和堆栈组成。它与属于同一进程的其他线程共享其代码段、数据段和其他操作系统资源(如打开文件和信号)。线程有四种状态:新生状态、可运行状态、被阻塞状态、死亡状态。...
分类:
编程语言 时间:
2014-10-13 23:09:47
阅读次数:
253
1. 查看当前堆栈 1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系 2) 方法:? new Exception(“print trace”).printStackTrace(); 2. MethodTracing 1) 功能:用于热点分析和性能优化...
分类:
移动开发 时间:
2014-10-13 18:50:27
阅读次数:
275