前面一篇文章介绍了kexec和kdump的思想,本文着重讲它们的另一个方面,就是kdump到底是如何转储垮掉内核的内存映像的。首先定义一个链表,它很重要。 static LIST_HEAD(vmcore_list); unsigned long long elfcorehdr_addr ELFCORE_ADDR_MAX; /…
在Linux内核源码中,经常要对链表进行操作,其中一个很重要的宏是list_for_each_entry:
/*** list_for_each_entry - iterate over list of given type* pos: the type * to use as a loop cursor.* head: the head for your list.* member: t…
BSP Board Support Package, 和bootloader放到一起,越比较我越糊涂,似乎,就不是一个level,不是一个东西的比较。
在此我还是转载一下别人写的吧,读一读还是很有收获的。 BSP
是板级支持包(Board Support …
2.3 <kconfig.txt>文档内容这个文件包含了使用"make *config"的一些帮助。使用"make help"列出所有可能的配置目标板。xconfig (qconf) 和 menuconfig (mconf)程序里也包含内置的帮助文档。Be sure to checkit for navigation, search, and other ge…
Linux 2.6内核中提高网络I/O性能的新方法epoll 正如我昨天在“Linux下各类TCP网络服务器的实现源代码”(http://zhoulifa.bokee.com/5345930.html)一文中提到的那样,I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。感谢chin…
操作环境:RHEL 5.1 一、准备工作
1、获取内核 http://www.kernel.org/
2、解压缩内核文件,进入解压后内核源代码目录,切换至root用户
tar -xzvf linux-2.6.39.4.tar.bz2
cd /mnt/hgfs/linux-2.6.39.4
su root 二、内核编译
3、内核清…
在上一篇《一文深入了解 CPU 的型号、代际架构与微架构》 中我们介绍了我手头的一颗 Intel(R) Core(TM) i5 的型号规则,以及它的物理硬件的 Die 图结构。以及它对应的 Skylake 核的微架构实现。
不少同学开始问我其它型号的 CPU 和它比有什么区别呢。考虑到了市场上…
http://www-128.ibm.com/developerworks/cn/linux/l-netlink/?cadwcn-newsletter-linux
多 数的 Linux 内核态程序都需要和用户空间的进程交换数据,但 Linux 内核态无法对传统的 Linux 进程间同步和通信的方法提供足够的支持。本文总结并比较了几种内核态与用户态…
Uboot相关命令介绍 1、bootm
bootm [addr [arg ...]] - boot application image stored in memory passing arguments arg ...; when booting a Linux kernel, arg can be the address of an initrd image
bootm命令可以引导启动存储在内存中的程序映像。这些内存包括RAM和可…
对于 Linux 网络,好奇心强的同学一定思考过两个问题: 当我们发出一个包的时候,Linux 是如何决策该从哪个网卡(假设有多个网卡)、哪个下一跳发出这个包,用什么 IP 作为 source......当 Linux 收到一个包时&a…
描述Linux内核的文章已经有上亿字了但是对于初学者,还是应该多学习多看,毕竟上亿字不能一下子就明白的。即使看了所有的Linux 内核文章,估计也还不是很明白,这时候,还是需要fucking the code.28年前(1991年8月26日)Lin…
Linux 内存管理模型非常直接明了,因为 Linux 的这种机制使其具有可移植性并且能够在内存管理单元相差不大的机器下实现 Linux,下面我们就来认识一下 Linux 内存管理是如何实现的。
一,基本概念
每个 Linux 进程都会有地址空间,这…
linux移植的准备工作
linux 内核配置与编译 1,清楚临时文件 中间文件 配置文件
make clean:::::::::::remove most generated files but keep the config
make mrproper:::::::::::remove all generated files config files
make distclean:::::::::::mrprop…
ARMv8中将内存分为两种类型:Normal memory和Device memory,Normal memory适用于系统中的大部分内存,而Device memory则适用于外设所使用的内存。
1. Normal Memory
Normal memory类型属性适用于系统中的大多数内存。它表示架构允许硬件对这…
一,进程的分类
在 CPU 的角度看进程行为的话,可以分为两类:
CPU 消耗型:此类进程就是一直占用 CPU 计算,CPU 利用率很高IO 消耗型:此类进程会涉及到 IO,需要和用户交互,比如键盘输…
一、DPDK简介
DPDK(Data Plane Development Kit)是一个开源的数据平面开发工具包,它提供了一组C语言库和驱动程序,用于快速开发高性能的数据平面应用程序。DPDK使用用户空间的方式来实现网络数据包处理,从而避免了传统…
前言
Das U-Boot 是一个主要用于嵌入式系统的引导加载程序,可以支持多种不同的计算机系统结构,包括PPC、ARM、AVR32、MIPS、x86、68k、Nios与MicroBlaze。这也是一套在GNU通用公共许可证之下发布的自由软件。 一言以蔽之,uboot的功能就是用户…
SYN Flood好使啊,成本低廉,简单暴力,杀伤力强,更重要的是:无解,一打一个准!这种攻击充分利用了TCP协议的弱点,可以很轻易将你的网络打趴下。如果监控和应急不到位的话,那…
linux根文件系统与initrd 收藏 1 根文件系统
简单来说,(根文件系统)就是系统第一个mount的文件系统
Filesystem Handling
Like every traditional Unix system, Linux makes use of a system s root filesystem : …
GCC 中文手册 http://www.nbfan.com/forum/dispbbs....&ID1433&page1 GNU make 指南 http://www.linuxsir.org/bbs/showthr...&threadid40431 autoconf-2.57手册(英文) http://www.gnu.org/software/autocon...toconf_toc.html Autoconf-…
一、整体架构与子系统划分 根据内核的核心功能, Linux 内核划分为 5 个子系统:
Process Scheduler,也称作进程管理、进程调度:负责管理 CPU 资源,以便让各个进程可以以尽量公平的方式访问 CPU。Memory Manager&#x…
一、引言
处理器(central process unit,简称CPU)是手机的核心部件,其主要功能是取指令并译码执行。CPU主要包括控制器和运算器两个部件,它对在手机中的所有硬件资源(如存储器,输入输出单元)进行…
如何参与Linux内核开发 英文版: http://www.kernel.org/doc/Documentation/HOWTO英文版维护者: Greg Kroah-Hartman <gregkroah.com>翻译者: 李阳 Li Yang <leozh-kernel.org>维护者: 李阳 Li Yang <leozh-ker…
定义一(http://ebpf.io的定义) eBPF (which is no longer an acronym for anything) is a revolutionary technology with origins in the Linux kernel that can run sandboxed programs in a privileged context such as the operating system kernel.…
ARM 的概念ARM(Advanced RISC Machine),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM 公司并不生产芯片也不销售芯片,它只出售芯片技术授权。其合作公司针对不同需求搭配各类硬…
MMU,全称Memory Manage Unit, 中文名——存储器管理单元。 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所…
林昊,网名BlueDavy,China OSGi User Group Director,淘宝网平台架构部架构师,个人的研究方向主要为 Java模块化、动态化系统的构建以及高性能的大型分布式Java系统的构建。曾编写《OSGi实战》和《OSGi进阶》两篇Opendoc࿰…
GCC、ARM-LINUX-GCC、ARM-ELF-GCC浅析 一、GCC简介: The GNU Compiler Collection,通常简称GCC,是一套由GNU开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持C语言编译,还支持C, Ada, Ob…