本文讲述linux在X86平台上的分段和分页机制MMU(内存控制单元)通过分段单元的硬件电路将逻辑地址转换成线性地址,再通过分页单元的硬件电路把线性地址转换为物理地址: 逻辑地址:包含在机器指令语言指令中用来指定一个操作数或一条指令的地址。每个进程都有自己的代码段,数据段,逻辑地址就是相对于代码.....
分类:
其他好文 时间:
2015-01-06 21:22:35
阅读次数:
200
12.bss段的初始化
在C代码:有初始化全局的数据段,局部的栈,malloc部分的堆,未初始化的全局的bss段。 从上面的编译的信息知道:
Bss段的起始地址:0001052c
Bss段的结束地址:00010534
我们的hello变量的地址:00010530是落在bss段里的地址的。所以是存在b...
分类:
其他好文 时间:
2015-01-05 18:28:41
阅读次数:
142
原文:深入理解C指针之二:C内存管理 内存管理对所有程序来说都很重要。有时候内存由运行时系统隐式的管理,比如为变量自动分配内存。在这种情况下,变量分配在它所处的函数的栈帧上(每个函数都有它自己的栈帧,用来保存它的局部变量和返回地址等)。如果是静态或全局变量,内存处于程序的数据段,会被自动清零。数据段...
分类:
其他好文 时间:
2015-01-05 16:33:04
阅读次数:
113
;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ...
分类:
其他好文 时间:
2015-01-05 14:28:40
阅读次数:
198
默认情况下,所有的数据段都是进程独立的,每个进程有自己的一份。但有时候进程共享一个数据段也是有需要的,为此VC++编译连接器提供了专门的语法,下面是一个典型的例子,建立了一个名为Shared的共享数据段,该数据段里只有一个变量g_hwndOwner。////////////////////////////////////////////// 进程共享区 //////////////////////...
分类:
系统相关 时间:
2015-01-02 18:48:10
阅读次数:
391
001 TCP/IP 网络接入层有何作用?
路径确定和数据包交换
数据表示、编码和控制
可靠性、流量控制和错误检测
详细规定构成物理链路的组件及其接入方法
将数据段划分为数据包
002 下列哪些陈述正确指出了中间设备在网络中的作用?(选择三项)
确定数据传输路径
发起数据通信
重新定时和重新传输数据信号
发送数据流
管理数...
分类:
其他好文 时间:
2015-01-01 21:17:13
阅读次数:
419
Linux应用编程中,exec函数被广泛的使用。
当进程调用exec函数时,该进程的执行程序完全的替换为新程序。新程序从它的main函数开始执行;
使用fork函数创建一个子进程后,子进程往往会使用exec函数去执行另一个程序。
注意:调用exec函数并不会创建新进程,所以创建前后的进程ID不会改变,exec只是用一个全新的程序替换了当前正在运行的程序的代码段、数据段、堆、栈。...
分类:
系统相关 时间:
2014-12-24 08:41:08
阅读次数:
250
一、静态成员:static修饰,每个类只有一份拷贝,为所有该类的对象所共用。1.静态数据成员:类内声明、类外初始化。和全局变量一样,在数据段里分配内存。eg:class A{ static int co;};int A::co=0;2.静态成员函数:1).静态成员函数专门用来存取类的静态成员,不可....
分类:
其他好文 时间:
2014-12-23 01:28:43
阅读次数:
207
内存管理对所有程序来说都很重要。有时候内存由运行时系统隐式的管理,比如为变量自动分配内存。在这种情况下,变量分配在它所处的函数的栈帧上(每个函数都有它自己的栈帧,用来保存它的局部变量和返回地址等)。如果是静态或全局变量,内存处于程序的数据段,会被自动清零。数据段是一个区别于可执行代码和运行时系统.....
分类:
其他好文 时间:
2014-12-21 11:27:20
阅读次数:
170
说到Windows应用层网络通信不得不提winsock,winsock是工作在TCP/IP层的应用层(TCP/IP层分为主机到网络层【比特】、网络互联层【数据帧】、传输层【数据包】、应用层【数据段】),这是Windows给我们使用的最底层的网络通信应用层的API,winsock提供的两种模式(...