原创吴章金Linux阅码场2019-11-26license:"cc-by-nc-nd-4.0""本文从编译、二进制程序文件和运行角度逐级解析了LinuxC语言程序中几种变量类型"背景说明前几天,有同学在“泰晓原创团队”讨论群问道:请教下,谭C,8.9.3,用static声明静态局部变量,在实际中可有案例。看到这个问题,立即浮现的概念是RUNONCE,内核源
分类:
编程语言 时间:
2020-12-02 12:18:24
阅读次数:
7
原创吴章金Linux阅码场2019-11-18背景介绍Section是LinuxELF程序格式的一种核心数据表达方式,用来存放一个一个的代码块、数据块(包括控制信息块),这样一种模块化的设计为程序开发提供了很大的灵活性。需要增加一个功能,增加一份代码或者增加一份数据都可以通过新增一个Section来实现。Section的操作在Linux内核中有着非常广泛的应用,比如内核压缩,比如把.config打
分类:
系统相关 时间:
2020-12-02 12:18:07
阅读次数:
10
原创兰新宇Linux阅码场4月7日作者简介兰新宇,坐标成都的一名软件工程师,从事底层开发多年,对嵌入式,RTOS,Linux和虚拟化技术有一定的了解,有知乎专栏“术道经纬”进行相关技术文章的分享,欢迎大家共同探讨,一起进步。一般我们说到多核,大都是指SMP(Symmetricmulti-processing),而ARM的big.LITTLE的CPU组合方案则属于HMP(Heterogeneousm
分类:
其他好文 时间:
2020-12-02 12:14:27
阅读次数:
3
原创LiamLinux阅码场3月3日概要开发人员在高性能系统的性能调优过程中,经常会碰到各种背景的噪声干扰,从而使得收集的数据不够精确。本文主要从CPU以及Linux操作系统的角度来分析各种噪声的来源以及消除方法。最终的目标是搭建基准平台,在特定的cpu上实现”0”干扰。Cpu运行中存在的几种背景噪声干扰来源1.调度器:进程调度器对于系统的影响几乎无处不在,Linux内核一般来说是使用公平的分时调
分类:
系统相关 时间:
2020-12-02 12:14:10
阅读次数:
8
原创宋宝华Linux阅码场3月11日众所周知,Linux的进程睡眠有两种常规状态:TASK_INTERRUPTIBLE(浅度睡眠):可以被等待的资源唤醒,也能被signal唤醒;TASK_UNINTERRUPTIBLE(深度睡眠):可以被等待的资源唤醒,但是不能被signal唤醒。简单来说,深度睡眠的进程必须等待资源来了才能醒,在此之前,甚至你给它发任何的信号,它都不可能醒来。浅度睡眠的进程,则可
分类:
系统相关 时间:
2020-12-02 12:13:52
阅读次数:
7
原创梁金荣、戴君毅等Linux阅码场2月26日简介本文由西邮陈莉君教授研一学生梁金荣、戴君毅、马明慧等翻译,陈莉君、宋宝华老师指导和审核。译者梁金荣、戴君毅、马明慧等同学热爱开源,践行开放、自由和分享。原文地址:https://easyperf.net/blog/2019/10/05/Performance-Analysis-Of-MT-apps精品英文Linux系列文章翻译工作,由Linux阅码
分类:
编程语言 时间:
2020-12-02 12:13:34
阅读次数:
5
原创郝健Linux阅码场1月20日作者:郝健目前就职于瑞星咖啡,负责4层负载均衡的研究与开发。曾就职于天融信,赛尔网络,云杉网络几家公司。主要感兴趣的方向:linux内核网络子系统,dpdk。目前,Linux平台下主流的服务程序启动管理方式有以下几种:daemonsysvinitsystemdnohup1.daemon守护进程是在后台运行不受控端控制的进程,通常情况下守护进程在系统启动时自动运行。
分类:
系统相关 时间:
2020-12-02 12:13:20
阅读次数:
7
原创宋宝华Linux阅码场2019-12-23前言网上关于BIO和块设备读写流程的文章何止千万,但是能够让你彻底读懂读明白的文章实在难找,可以说是越读越糊涂!我曾经跨过山和大海也穿过人山人海我曾经问遍整个世界从来没得到答案本文用一个最简单的read(fd,buf,4096)的代码,分析它从开始读到读结束,在整个Linux系统里面波澜壮阔的一生。本文涉及到的代码如下:#include<unis
分类:
系统相关 时间:
2020-12-02 12:12:59
阅读次数:
8
原创宋宝华Linux阅码场2019-12-22在《宋宝华:火焰图:全局视野的Linux性能剖析》一文中,我们主要看了on-cpu火焰图,理解了系统的CPU的走向的分析。但是,很多时候,单纯地看on-cpu的情况(什么代码在耗费CPU),并不能解决性能问题,因为有时候性能差的原因瓶颈不一定在CPU上面,而是在off-cpu的时间,比如:进程进入系统调用执行io动作,io动作的延迟进程等待mutex锁
分类:
系统相关 时间:
2020-12-02 12:12:44
阅读次数:
9
原创朴英敏Linux阅码场2019-12-18本文简介:内核死锁问题一般是读写锁(rw_semaphore)和互斥锁(mutex)引起的,本文主要讲如何通过ramdump+crash工具来分析这类死锁问题。作者简介:朴英敏,现就职于国内一家手机研发公司,任职资深系统工程师,主要负责安卓系统方面的调试工作。0、背景知识点ramdump是内存转存机制,我们可以在某个时刻把系统的内存转存到一个文件中,然
分类:
系统相关 时间:
2020-12-02 12:12:23
阅读次数:
8