IT技术博客大学习 共学习 共进步
首页 / edsionte's Linuxworld
IT 2014-11-28 12:47:03 / 浏览 2,940

Linux内核文件系统挂载分析

本文将针对内核版本3.2.0中的mount系统调用实现过程进行简单说明。从整个挂载的处理流程上看,挂载的本质就是将源文件系统的vfsmount结构连接到目的文件系统对应的vfsmount结构中,即具体涉及到两个vfsmount中字段的指向问题。两个vfsmount具体父子等级关系,这也对应着内核中目录树的父子等级关系。

IT 2014-11-27 13:10:17 / 浏览 2,820

通过call_usermodehelper()在内核态执行用户程序

如何在Linux内核中执行某些用户态程序或系统命令?在用户态中,可以通过execve()实现;在内核态,则可以通过call_usermodehelpere()实现该功能。如果您查阅了call_usermodehelper()内核函数的源码实现,就可以发现该函数最终会执行do_execve()。而execve系统调用在经历内核的系统调用流程后,也会最终调用do_execve()。

IT 2013-07-15 13:27:12 / 浏览 2,420

文件操作函数在VFS层的实现

虚拟文件系统(Virtual Filesystem Switch,VFS)为各种文件系统提供了一个通用的接口,它使得上层进程在进行与文件系统相关的操作时可以使用同一组系统调用,但是系统调用在内核中可以根据不同的文件系统执行不同的操作。

IT 2013-07-15 13:26:14 / 浏览 4,100

Linux下访问文件的基本模式

访问文件的操作主要是指读文件和写文件,本文简单说明内核中几种常见的访问文件的方式。

IT 2013-07-15 13:25:03 / 浏览 6,440

Linux下CPU的利用率

​CPU利用率是对系统进行性能分析的重要因素,本文将说明CPU时间的组成以及利用率的计算方法。

IT 2013-07-15 13:23:33 / 浏览 2,200

CFS中的虚拟运行时间

CFS调度算法的思想:理想状态下每个进程都能获得相同的时间片,并且同时运行在CPU上,但实际上一个CPU同一时刻运行的进程只能有一个。也就是说,当一个进程占用CPU时,其他进程就必须等待。CFS为了实现公平,必须惩罚当前正在运行的进程,以使那些正在等待的进程下次被调度。

IT 2013-06-03 23:00:04 / 浏览 3,880

页缓存概述

​页缓存是Linux内核一种重要的磁盘高速缓存,它通过软件机制实现。但页缓存和硬件cache的原理基本相同,将容量大而低速设备中的部分数据存放到容量小而快速的设备中,这样速度快的设备将作为低速设备的缓存,当访问低速设备中的数据时,可以直接从缓存中获取数据而不需再访问低速设备,从而节省了整体的访问时间。

IT 2013-06-03 22:59:02 / 浏览 6,240

malloc()之后,内核发生了什么?

考虑这样一种常见的情况:用户进程调用malloc()动态分配了一块内存空间,再对这块内存进行访问。这些用户空间发生的事会引发内核空间的那些反映?本文将简单为您解答。

IT 2013-06-03 22:57:37 / 浏览 3,320

RPM包的管理

RPM包的通用制作过程为:下载源码包,再编写spec文件,最后通过rpmbuild构建RPM包。其中,打包最主要的工作是对spec文件的编写,该文件用于对即将构建的软件包进行描述,它包含了软件包的诸多信息,如软件包的名字、版本、类别、简要说明、创建时要执行的命令、安装时要执行的命令等。 对于spec文件的来源,可按照以下的优先级进行选取:​ 1.首先,如果源码包上有spec文件,则使用该文件。 2.否则,如果社区上有同样的包,但是版本不符合,可以针对具体情况对这些spec文件进行修改。 3.否则,自己编写spec文件。