操作系统
ChaosMeta博客
“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.”
展开
-
C语言的内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
一、内存的结构哈佛结构:数据和代码分开存放。冯诺依曼结构:数据和代码放在一起。动态内存和静态内存:动态内存需要初始化之后才能使用,静态内存不需要初始化就可以使用,读写速度较快。内存编程模型:内存可以想象成一个个排列的单元格,每个单元格都有其特定的地址,且永久绑定,内存地址理论上可以有无限大,但是受制于CPU的位数,32位的CPU的内存地址范围最大为2的32次方,也就是4G的内...原创 2019-05-12 14:40:14 · 456 阅读 · 0 评论 -
ALSR
一 ALSR介绍:1.1定义 aslr是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。如今Linux、FreeBSD、Windows等主流操作系统都已采用了该技术。Linux Linux已在内核版本2.6.12中添加ASLR。...原创 2019-05-12 16:25:12 · 4550 阅读 · 2 评论 -
GDB的使用
1.GDB的常用命令原创 2019-05-29 14:20:09 · 102 阅读 · 0 评论 -
段错误
1.段错误的定义 段错误是计算机软件运行过程中可能出现的一种特殊错误情况。当程序试图访问不允许访问的内存位置,或试图以不允许的方式访问内存位置(例如尝试写入只读位置,或覆盖部分操作系统)时会发生段错误。分段是操作系统内存管理和保护的一种方法。在大多数情况下,它已经被分页所取代,但是分段的许多术语仍然被使用,“分段错误”就是一个例子。尽管分页被用作主内存管理策略,但有些操作系统在某些逻...原创 2019-05-29 16:16:21 · 31297 阅读 · 1 评论