Linux readelf命令的使用

readelf命令是Linux下的分析ELF文件的命令,这个命令在分析ELF文件格式时非常有用,下面以ELF格式可执行文件test为例详细介绍: readelf -h a.out 显示a.out的ELF Header的文件头信息。 [root@robot ~]# vim main.c [r...

2018-09-18 15:35:36

阅读数:30

评论数:0

彻底搞懂红黑树(二)

其实关于红黑树,STL源码剖析---红黑树原理详解 已经写得非常好了。但套用新警察故事里的谢霆锋说的一句话:自己查,印象深一点。这里也是一样,在自己写,印象深一点。如果你要看正宗的STL源码剖析---红黑树原理详解,那请你点击这个。这里的是D版的o(╯□╰)o  当然,我也会加一些我自己的理解,因...

2018-08-20 20:41:47

阅读数:32

评论数:0

Linux ./configure --prefix命令

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,...

2018-06-21 15:12:21

阅读数:111

评论数:0

Linux(三) 运行级别

一、Linux运行级别0: 关机1: 单用户2: 无网络的多用户3: 命令行模式4: 未用5: GUI(图形桌面 模式)6 : 重启运行级别的切换 init 想要切换的运行级别二、查看运行级别who -r : 显示当前运行级别以及系统当前时间 。[outman02@bogon ~]$ who -r...

2018-06-12 20:40:19

阅读数:51

评论数:0

服务器性能指标(一)——负载(Load)分析及问题排查

平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt等。每个指标都有其独特的意义,很多时候在线上出现问题时,往往会伴随着某些指标的异常。大部分情况下,在问题发生之前,某些指标就会提前有异常显示。对于这些指标的理解和查看、异常解决等,是程序员们重要的必备技...

2018-05-22 10:00:44

阅读数:181

评论数:0

Linux SWAP 深度解读

swap、swappiness及kswapd原理,swap分区优先级的妙用。真可谓一文在手,SWAP从此不再忧愁。敬请笑纳。概述本文讨论的 swap基于Linux4.4内核代码 。Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑。希望本文能让读者了解Linux对swap...

2018-05-07 16:49:29

阅读数:1693

评论数:0

linux 操作系统中buffer 和 cache 的作用

Buffer 和 cache (它们都是占用内存)。Buffer: 系统分配但未被使用的buffer 数量。  Buffer 缓冲区:  是块设备的读写缓冲区,buffer 是I/O 缓存,用于内存和硬盘(或其他 I/O设备)之间的数据交换的速度而设计的。 分析:1、通常在写一个非常大的文件,文件...

2018-05-07 16:22:27

阅读数:44

评论数:0

Linux内核内存管理算法Buddy和Slab

有了前两节的学习相信读者已经知道CPU所有的操作都是建立在虚拟地址上处理(这里的虚拟地址分为内核态虚拟地址和用户态虚拟地址),CPU看到的内存管理都是对page的管理,接下来我们看一下用来管理page的经典算法--Buddy。Buddy分配算法假设这是一段连续的页框,阴影部分表示已经被使用的页框,...

2018-04-25 16:17:17

阅读数:73

评论数:0

CPU是如何访问内存的?

内存管理可以说是一个比较难学的模块,之所以比较难学。一是内存管理涉及到硬件的实现原理和软件的复杂算法,二是网上关于内存管理的解释有太多错误的解释。希望可以做个内存管理的系列,从硬件实现到底层内存分配算法,再从内核分配算法到应用程序内存划分,一直到内存和硬盘如何交互等,彻底理解内存管理的整个脉络框架...

2018-04-25 16:16:20

阅读数:104

评论数:0

物理地址和虚拟地址的分布

CPU拿到内存后就可以向其它人(kernel的其它模块、内核线程、用户空间进程、等等)提供服务,主要包括:以虚拟地址(VA)的形式,为应用程序提供远大于物理内存的虚拟地址空间(Virtual Address Space)每个进程都有独立的虚拟地址空间,不会相互影响,进而可提供非常好的内存保护(me...

2018-04-25 16:15:51

阅读数:81

评论数:0

Linux用户态进程的内存管理

相信大家都知道对用户态的内存消耗对象是进程,应用开发者面对的所有代码操作最后的落脚点都是进程,这也是说为什么内存和进程两个知识点的重要性,理解了内存和进程两大法宝,对所有软件开发的理解都会有了全局观(关于进程的知识以后再整理和大家分享)。下面闲话少说,开始本篇的内容——进程的内存消耗和泄漏进程的虚...

2018-04-25 16:13:56

阅读数:40

评论数:0

浅析Linux操作系统工作的基础

简介: 本文根据 Linux™ 系统工作基础的分析,对存储程序计算机、堆栈(函数调用堆栈)机制和中断机制进行概述。文中将为您提供操作系统(内核)如何工作的细节,进一步从宏观概述结合关键点进行微观(CS:EIP、EBP/ESP等的变化)分析。 一、存储程序计算机                   ...

2018-04-25 16:04:04

阅读数:37

评论数:0

浅析Linux计算机进程地址空间与内核装载ELF

简介: 本文基于Linux™系统对进程创建与加载进行分析,文中实现了Linux库函数fork、exec,剖析内核态执行过程,并进一步展示进程创建过程中进程控制块字段变化信息及ELF文件加载过程。 一、初识Linux进程                                        ...

2018-04-25 15:59:56

阅读数:32

评论数:0

浅析Linux计算机工作机制

简介: 本文将对 Linux™ 系统计算机的工作机制进行简单概述。文中将为您提供单任务系统如何工作的细节,然后将进一步展示汇编指令在CPU的运行过程,以及由单任务向多任务处理的扩展。♦ gcc用法参考(*表示文件名) – gcc –E –o *.cpp *.c 生成预处理文件 – gcc –x c...

2018-04-25 15:31:37

阅读数:41

评论数:0

ELF格式与bss段

ELF(Executable Linkable Format)是Linux系统下的一种可执行可链接文件的格式,是COFF格式的变种。在Linux系统中包括了可重定位文件(.o文件),可执行文件(/bin/bash文件),共享目标文件(.so)和核心转储文件(core dump)。ELF文件头(EL...

2018-04-25 11:44:45

阅读数:35

评论数:0

Linux上的TIME_WAIT和tcp_fin_timeout

当Linux服务器的TIME_WAIT过多时,通常会想到去修改参数降低TIME_WAIT时长,以减少TIME_WAIT数量,但Linux并没有提供这样的接口,除非重新编译内核。Linux默认的TIME_WAIT时长一般是60秒,定义在内核的include/net/tcp.h文件中:#define ...

2018-04-25 11:43:52

阅读数:651

评论数:0

LINUX下目标文件的BSS段、数据段、代码段

操作系统:ubuntu 13.04工具:gcc, objdump, readelf参考:《程序员自我修养》代码编译后的机器指令经常被放在代码段里,代码段名为".text";已初始化的全局变量和已初始化的局部静态变量经常放在数据段里,数据段名为"...

2018-04-25 11:36:27

阅读数:28

评论数:0

阅读 Linux 内核源码——共享内存

介绍我看的是linux-4.2.3的源码。参考了《边干边学——Linux内核指导》(鬼畜的书名)第16章内容,他们用的是2.6.15的内核源码。现在linux中可以使用共享内存的方式有两种POSIX的shm_open()在/dev/shm/下打开一个文件,用mmap()映射到进程自己的内存地址Sy...

2018-04-23 20:13:55

阅读数:34

评论数:0

linux 共享内存与nginx共享内存

共享内存的实现分为两个步骤:一、 创建共享内存,使用shmget函数。二、 映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数。创建共享内存int shmget(key_t key ,int size,int shmflg)key标识共享内存的键值:0/IPC_PRIVA...

2018-04-23 20:07:22

阅读数:57

评论数:0

【vim】简介与基本配置

正文vim是一款非常强大的文字编辑软件,是各种类UNIX系统标配的文本编辑工具。相信此文的读者对它应该不会陌生,在这里就不做介绍了。回到顶部1.为什么要使用vim在认识vim之前,我用过好多IDE:Visual Studio, Eclipse, C++ Builder,Source Insight...

2018-04-23 16:33:30

阅读数:57

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭