![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux Kernel
basin9901
这个作者很懒,什么都没留下…
展开
-
linux kernel performance 调试小结
<br />今天写一下,在linux下碰到performance时候的一些调试方法<br /> <br />ps, 了解有哪些进程正在运行,加上cat /proc/meminfo, 查看内存的运用状态<br /> <br />top, 进一步理解各个进程的情况,可以用top -n 1 -t,了解到线程的情况。<br /> <br />了解到哪个进程甚至线程成为了系统的瓶颈,<br /> <br />可以利用strace -p pid, 跟进去发现究竟是什么步骤阻塞了系统。<br /> <br />原创 2010-10-26 16:45:00 · 996 阅读 · 0 评论 -
linux 虚拟文件系统 自学报告
在Unix中,文件系统被安装在一个特定的安装点上,该安装点在全局层次结构中被称为命名空间,所有的已安装文件系统都作为根文件系统树的枝叶出现在系统中。文件其实可以看作是一个有序字节串。Unix系统将文件的相关信息和文件本身这两个概念加以区分;文件相关信息,有时候被称为文件的元数据(也就是说,文件的相关数据),被存储在一个单独的数据结构中,该结构被称为索引节点(inode),是index原创 2012-05-14 22:38:35 · 358 阅读 · 0 评论 -
linux 内存管理 自学报告
物理页作为内核管理的基本单位。主要的三个用途:1,页缓存使用(mapping域指向和这个页关联的address_space对象);2,作为私用数据(由private指向);3,进程页表的映射。用sturct page表示。这个数据结构的目的在于描述物理内存的一个页本身,而不描述包含在其中的数据。使用者可能是1,用户空间进程,2,动态分配的内核数据,3,静态内核代码,4,页高速缓存。内核原创 2012-04-08 22:28:10 · 494 阅读 · 0 评论 -
linux 定时器和时间管理 自学笔记
系统定时器是一种可编程硬件芯片,它能以固定频率产生中断。该中断就是所谓的定时器中断。该频率可以通过编程预定,称为节拍率(tickrate). 全局变量jiffies用来记录自系统启动以来产生的节拍的总数,总是无符号长整数(unsignedlong),在32位体系结构上是32位,在64位体系就是64位。用volatile表示。 内核可以使用宏jiffies_to_clock_t()将原创 2012-03-20 21:18:14 · 408 阅读 · 0 评论 -
linux 内核同步自学报告
内核同步保护的是数据(data),而不是逻辑(logic).中断处理程序中能避免并发访问的安全代码称为中断安全代码,在对称多处理的机器中能避免并发访问的安全代码称为SMP安全代码(SMP-safe),在内核抢占时能避免并发访问的安全代码称为抢占安全代码(preempt-safte).1,原子操作,只能针对整数或者bit,用atomic_t类型(只能用24位,因为在SPA原创 2012-03-11 21:33:32 · 445 阅读 · 0 评论 -
linux 中断下半部自学笔记
中断处理函数有自身的局限:1,中断可以打断任何重要代码(除去中断屏蔽下的中断处理函数和中断优先级高的中断处理函数)。要求中断处理函数速度越快越好。2,中断自身会屏蔽,一般是屏蔽同级的中断,也可屏蔽所有的中断。3,涉及对硬件的操作。4,中断在进程上下文中进行。因为以上局限,引入了中断下半部。BH和任务队列(task queue) 已经从2.5去掉。还有以下三种原创 2012-02-25 22:47:17 · 407 阅读 · 0 评论 -
Android low memory killer 详解
Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .1,引入原因 Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内存肯定会出现不足,low memory killer就是在系统内存低于某值时,清除相关的程序,保障系统原创 2011-02-12 22:20:00 · 1196 阅读 · 0 评论 -
Linux 进程地址空间 自学报告
进程地址空间由每个进程中的线性地址区组成,而且内核允许进程使用该空间的地址。每个进程都有一个32或者64位的平坦地址空间。(平坦是指地址空间范围是一个独立的连续空间)。进程有权访问的虚拟内存地址,这些可被访问的合法地址被称为内存区域(memory area).进程只能访问有效范围以内的内存地址。每个内存区域也具有相应进程必须遵循的特定访问属性(如只读,只写,可执行等属性)。原创 2012-07-08 12:07:32 · 463 阅读 · 0 评论