第3章 进程管理 3.1 进程 进程就是处于执行期的程序(目标码存放在某种存储介质上),但进程并不仅仅局限于一段可执行程序代码。通常进程还要包含其他资源,像打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程。当然还包括用来存放全局变量的数据段等 ...
分类:
系统相关 时间:
2016-04-07 13:30:55
阅读次数:
238
C语言背后的运行机制,学会了会对C语言更加熟悉,可以直接看到C语言的骨头里去。 存储类(storage class): ①什么是存储类? 存储类就是变量存储类型,即变量在内存中存储在什么段。 例如:栈:普通局部变量。 数据段(.data):初始化不为零的全局变量,静态局部变量。 bss段:初始化为零 ...
分类:
编程语言 时间:
2016-04-07 06:55:24
阅读次数:
306
直接寻址:直接是把偏移地址认为是源操作数,不声明段地址的情况下默认段地址为DS MOV AX,[1000H] 意味着将数据段中的偏移地址为1000H内存单元下的内容存放至通用寄存器中 还可以用变量来表示 MOV AX,SRC SRC为存放地址的变量 寄存器间接寻址:首先应该明确3个概念 1.基址:由 ...
分类:
其他好文 时间:
2016-04-06 23:27:45
阅读次数:
179
1、链接器脚本文件的组成: 基本构成:段:代码段.text 数据段.data bss段 .bss 起始链接地址 对齐 变量 代码段首文件 2、实例文件: SECTIONS{ . = 0x0; //设置程序起始链接地址,=左右两边要空格 . = ALIGN(4);//,设置代码段四字节对齐,=左右两边 ...
分类:
其他好文 时间:
2016-04-06 13:10:28
阅读次数:
163
内存结构分析 计算机中内存的使用者有两种:操作系统、程序语言 栈区:主要用于全局存储变量名,主要的特点是运行速度快,存储的数据是长度固定(并不是值的大小) 堆区:主要用于存储对象,主要的特点是连续,数据数据可以动态的扩展与收缩。效率相对低 代码段:存储的源代码的二进制形式 数据段:还可以分为全局区与... ...
分类:
其他好文 时间:
2016-04-05 16:07:07
阅读次数:
149
1.基本类型和引用类型的值 基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象 在操作对象时,实际上是在操作对象的引用而不是实际的对象;为此,引用类型的值是按引用访问的; 2.动态的属性 定义基本类型值和引用类型值得方式是类似的:创建一个变量并为该变量赋值,但是当这个值保存到变量 ...
分类:
其他好文 时间:
2016-03-31 16:59:52
阅读次数:
133
第3章 进程管理 3.1 进程 1、进程 进程就是处于执行期的程序。 进程包括: 可执行程序代码 打开的文件 挂起的信号 内核内部数据 处理器状态 一个或多个具有内存映射的内存地址空间 一个或多个执行线程 用来存放全局变量的数据段 …… 实际上,进程就是正在执行的程序代码的实时结果 2、执行线程 简 ...
分类:
系统相关 时间:
2016-03-30 19:28:54
阅读次数:
220
程序在内存中加载好后 代码段和数据段的段地址在内存中的位置发生了变化 这个变化是随机的 因为内存中的空间占用也是动态的 所以程序加载好后需要重定位 需要把代码段的段地址和数据段的段地址 分别告诉 代码段寄存器(code segment) 和数据段寄存器(data segment) 让CPU 处理器 ...
分类:
其他好文 时间:
2016-03-29 23:53:41
阅读次数:
166
内存中的五大区域: 栈区,堆区,BBS段,数据段和代码段,其中除了堆区以外,其他区域的内存管理由系统自行回收 OC对象是存储在堆区的,所以OC的内存管理主要是对”堆区中的OC对象”进行管理 内存管理中的几个概念: ->引用计算器:既retainCount,每个OC对象内部都有1个8字节空间用来存储r ...
分类:
其他好文 时间:
2016-03-26 22:10:48
阅读次数:
272
在一中我们说到了多任务即不同进程都有自己的独立的代码段,数据段,堆栈段。看似利用这个原理能将多任务隔离,但是他们各个段的起始地址又都是0,这就是很无语了,不过没关系,分页的时候会接着讲。这篇文章说一下多任务的切换。
分类:
系统相关 时间:
2016-03-15 19:02:08
阅读次数:
276