跳转到内容

代码段

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Zyksnowy留言 | 贡献2019年4月13日 (六) 21:47编辑。这可能和当前版本存在着巨大的差异。

在采用段式内存管理的架构中,代码段(code segment / text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许程序自修改self-modifying code)。 在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。

操作系统在装载一个程序时会进行进程地址空间的分段,而代码段通常处于最底部,即最低地址部分,而在高处,所以在允许代码段可写的架构上,当内存溢出时,代码段中的数据就会开始被覆盖。[1]

参见

  1. ^ Yu-An Tan; Ji-yan Zheng; Yuan-Da Cao; Xue-lan Zhang. Buffer overflow protection based on adjusting code segment limit. IEEE International Symposium on Communications and Information Technology. IEEE. October 2005. doi:10.1109/ISCIT.2005.1567023.