Linux系统编程
文章平均质量分 93
由具体功能到实现的方式剖析Linux编程的技巧,掌握并成为Linux编程的大师
Achou.Wang
勿在浮沙筑高台
展开
-
linux内存寻址原来那么简单
以上就是计算机进行内存寻址的全过程,当然分页单元的过程主要是软件实现的,这里没有对linux的实现接口进行说明,如果感兴趣的可以下载linux 2.6版本查看,虽然新版本的linux分页单元有改动,但是还是推荐你看下2.6版本的,这个版本的功能实现更加的纯粹,也更容易理解。段是代码段、数据段、栈段,按照是否是内核态,又可以分为内核代码段、内核数据段、内核栈段,用户代码段、用户数据段、用户栈段,图中给出的Selector就是用来确定使用哪个段的。因为分段主要靠硬件,而分页主要靠软件。原创 2023-12-24 16:37:33 · 978 阅读 · 0 评论 -
深入理解LInux ELF可执行程序
一个源文件在生成可执行程序的过程中地址需要经过以下几个主要步骤。源文件在经过编译器处理之后会生成可重定位目标文件,也就是我们常见的.o文件,经过链接器处理之后,会将多个.o文件处理成可执行文件。 称为可重定位目标,包含二进制代码和数据,其形式可以和其他目标进行合并,创建一个可执行目标文件因为.o文件也是ELF文件的一种,所以我么可以使用readelf -h 来查看.o文件的elf头数据通过与文件头结构体对比首先看到的是Magic魔法数字,这些数字的大小由宏定义 来进行限定,Magic放在ELF文件原创 2022-06-25 13:09:55 · 1078 阅读 · 0 评论 -
Linux的Page Cache
1. Page Cache何为Page Cache为了了解Page Cache我们可以看一下Linux的文件I/O系统从图中可以看出,Page Cache是由Linux内核进行管理的,而且通过mmap以及bffered I/O将文件读取到内存空间实际上都是读取到Page Cache上的。如何查看系统的Page Cache?通过读取cat /proc/meminfo文件,查看系统实时内存情况。...Buffers: 117572 kBCached: 273原创 2021-09-11 17:44:01 · 1404 阅读 · 0 评论