![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 77
xytdatabase
这个作者很懒,什么都没留下…
展开
-
Linux 2.6.31内核优化指南
Linux 2.6.31内核优化指南作者:Ken WuEmail: ken.wug@gmail.com转载本文档请注明原文链接 http://kenwublog.com/docs/linux-kernel-2-6-31-optimization.htm! 介绍本文档是一篇关于Linux Kernel 2.6.31的最简优化指南。作者旨在编译一份性能最...2010-03-29 14:24:10 · 202 阅读 · 0 评论 -
Cache 的write back和write through
Cache 的write back和write through 收藏 为了保证cache和memory的数据一致性,通常有三种方法:1〉write through:CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致。优点是简单,缺点是每次都要访问memory,速度比较慢。2〉post write:CPU更新cache数据时,把更新...2010-03-30 13:54:54 · 134 阅读 · 0 评论 -
Cache Cohernce with Multi-Processor
刚写完一篇关于Cache Coherence的文章,就发现BNN2年前就有一篇好文,早知道就不这么费事自己写了:)Recently work with dual cpu kernel part. For dual cpu, or we say, multi-processor, the big challenge part for a kernel is how to handle the...2010-03-30 13:57:52 · 93 阅读 · 0 评论 -
CPU学习
这是作者学习硬件基本知识过程中的笔记,由于以前很少接触这方面的知识,又缺乏系统的学习,难免会出现错误,希望得到大家指正。一、Intel CPU的主要部件:1. CPU内核:是真正意义上的处理器,用于执行指令和处理数据,其计算能力与CPU的速度密切相关。2. L1 CacheCPU内部集成的L1 Cache(一级高速缓存),又被称为主缓存,用于暂存部分指令和数...2010-03-30 14:16:01 · 250 阅读 · 0 评论 -
从VFS inode到LFS inode的寻址过程
我们知道Linux是借用虚拟文件系统作为上层抽象的管理者来统一支持下层的各具差异的逻辑文件系统。应用程序要访问任何已经注册并挂载的逻辑文件系统相应物理存储外设都是通过VFS层次提供的统一调用接口来实现。Linux中对物理外存上的数据块采用的组织管理方式是借助称为索引节点(inode)的数据结构,因此当应用进程要与具体的逻辑文件系统进行数据存取时,相应的逻辑文件系统将需要提供操作例程接口来实施具体的...2010-03-30 17:16:30 · 157 阅读 · 0 评论 -
linux cpu负载原理
linux cpu负载原理 内核分析 待补2010-04-07 16:41:50 · 120 阅读 · 0 评论 -
Linux下的CPU利用率计算原理详解
我们在搞性能测试的时候,对后台服务器的CPU利用率监控是一个常用的手段。服务器的CPU利用率高,则表明服务器很繁忙。如果前台响应时间越来越大,而后台CPU利用率始终上不去,说明在某个地方有瓶颈了,系统需要调优。这个是即使不懂技术的人都容易理解的事情。上面理解对吗?我个人觉得不十分准确。这个要看后台你测试的进程是什么类型的。如果是计算密集型的进程,当前端压力越来越大的时候,很容易把CPU利用...2010-04-07 17:13:16 · 254 阅读 · 0 评论 -
浅析Linux下core文件
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。何谓core文件当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。...2010-04-08 10:32:23 · 92 阅读 · 0 评论 -
Linux 的多线程编程
本文们针 Linux 线程编程主特性总结出 5 条经验,以改善 Linux 线程编程习惯避免其陷阱。本文,们穿插些 Windows 编程例以比 Linux 特性,以加深读印象。 背景 Linux 线程程序相应其(比如 Windows)线程 API 有些细微隐晦差别。不注意这些 Linux 些陷阱,常常致程序问题不穷,死锁不断。本文们从 5 个方面总结出 Linux 线程编程...2010-04-12 09:32:03 · 180 阅读 · 0 评论 -
深入C++的new
“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A:class A{...2010-04-12 10:31:52 · 185 阅读 · 0 评论 -
linux 2.6 Makefile详解
熟悉内核的Makefile对开发设备驱动、理解内核代码结构都是非常重要的linux2.6内核Makefile的许多特性和2.4内核差别很大,在内核目录的documention/kbuild/makefiles.txt中有详细的说明。给大家一个中文版的翻译=== 目录 === 1 概述 === 2 用户与作用 === 3 Kbuild文件...2010-03-30 13:48:46 · 146 阅读 · 0 评论 -
linux1
linux1 linux1 linux12010-03-30 13:38:29 · 53 阅读 · 0 评论 -
linux 经典进程切换实现代码
extern _inline void switch_to(int n) { unsigned short __tmp; __tmp = (unsigned short)_TSS(n); _asm { mov ebx, offset task mov eax, n mov ecx, [ebx+eax*4] cmp ecx, current/* 任务n 是...2010-03-29 15:10:21 · 123 阅读 · 0 评论 -
内存屏障原语
来自于在CU的一个讨论: http://linux.chinaunix.net/bbs/thread-713279-1-1.html 讨论完了给一个总结,有些话是别人说的,有的还是clf的网友的,为了不使文档显得杂乱,都不具名了。 欢迎批评指正! 内核中定义的内存屏障原语有: #define barrier() __asm__ __volatile__("": : ...2010-03-29 15:11:48 · 265 阅读 · 0 评论 -
Linux线程实现机制分析
内容: ·基础知识:线程和进程 ·Linux 2.4内核中的轻量进程实现 ·LinuxThread的线程机制 ·其他的线程实现机制 ·参考资料 ·关于作者 自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前 Linux...2010-03-29 15:12:54 · 86 阅读 · 0 评论 -
c语言深度解析
c语言深度解析 嘿嘿2010-03-29 15:38:40 · 81 阅读 · 0 评论 -
Linux内核剪裁实验
实验目的:1. 配置、编译Linux内核;2. 了解Linux内核结构。实验原理:Linux内核的配置系统由三个部分组成,分别是: l Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则; l 配置文件(config.in):给用户提供配置选择的功能; ...2010-03-29 17:08:28 · 343 阅读 · 0 评论 -
Linux内核修改实验
Linux内核修改实验实验目的:1. 深入理解Linux启动过程;2. 修改Linux内核,让Linux启动后不执行init进程,而执行自己编写的程序。实验原理:1. Linux的启动有一个清晰的过程,基于Linux的开放性,修改其内核是完全可能的;2. 当内核被引导并进行初始化之后,内核就可以启动自己的第一个用户空间应用程序init...2010-03-29 17:10:36 · 168 阅读 · 0 评论 -
Linux内核裁剪的具体步骤
在menuconfig中配置:详细介绍内核配置选项及删改情况第一部分:全部删除Code maturity level options ---> 代码成熟等级选项[]Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。第二部分 :除以下选项,...2010-03-29 17:27:43 · 85 阅读 · 0 评论 -
修改Linux内核增加系统调用
本文修改内核2.4.29,分两部分,第一部分修改内核并测试,第二部分解释从用户态调用新系统调用的过程。在Intel处理器上,可以通过调用门和软中断两种方式实现系统调用。Linux选择软中断的方式,内核通过软中断(int $0x80)给用户提供服务,即系统调用。本文参考了文后给出地址的文章,甚至系统调用代码也是从中而来,本文重在解释其调用过程。 一,修改内核 增加系统调用只修改/us...2010-03-30 09:44:14 · 84 阅读 · 0 评论 -
nfs
nfs文件系统2010-03-30 13:29:11 · 60 阅读 · 0 评论 -
Linux内存:内存管理的实质
1. 内核初始化: * 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系; * 内核建立一个page数组,page数组和物理页面系列完全是线性对应,page用来管理该物理页面状态,每个物理页面的虚地址保存在page->virtual中; * ...2010-04-13 08:49:30 · 146 阅读 · 0 评论