Linux内核
文章平均质量分 81
lvyilong316
这个作者很懒,什么都没留下…
展开
-
linux文件系统(一)——VFS的概念
声明:本Linux文件系统博客,共分四节,是根据网上多个相关博客,以及自己的理解加上相关资料总结而成。(作者:lvyilong316)Linux 之所以能支持除了Ext2文件系统之外的各种文件系统,是因为Linux提供了一种统一的框架,就是所谓的虚拟文件系统转换(Virtual FilesystemSwitch),简称虚拟文件系统(VFS)。这样, 用户程序可以通过同一个文件系统界面,也就原创 2014-03-10 23:37:09 · 913 阅读 · 0 评论 -
linux文件系统(二)——VFS四个主要对象的实现
声明:本Linux文件系统博客,共分四节,是根据网上多个相关博客,以及自己的理解加上相关资料总结而成。(作者:lvyilong316)VFS采用的是面向对象的设计思想,使用一簇数据结构来代表通用文件对象。所有内核中的数据结构都使用C结构体实现。1.superblock(超级块)对象保存一个挂在的文件系统的相关信息(Stores information concerning a原创 2014-03-10 23:54:24 · 1164 阅读 · 0 评论 -
linux文件系统(三)——进程与VFS的关系
声明:本Linux文件系统博客,共分四节,是根据网上多个相关博客,以及自己的理解加上相关资料总结而成。(作者:lvyilong316) 系统中的每一个进程都有自己的一组打开的文件 ,像根文件系统,当前目工作目录,安装点等。有四个数据结构将VFS层和系统的进程紧密联系在一起,它们分别是:files_struct,fs_struct,file_system_type 和namespace结构原创 2014-03-11 00:05:44 · 892 阅读 · 0 评论 -
linux文件系统(四)——软连接与硬连接
声明:本Linux文件系统博客,共分四节,是根据网上多个相关博客,以及自己的理解加上相关资料总结而成。(作者:lvyilong316)1. 特点概述(1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln aa.tx原创 2014-03-11 00:12:25 · 1449 阅读 · 0 评论 -
Linux系统虚拟内存空间
首先借用网上一张图,感觉这个比较清晰:Linux系统虚拟内存空间一般布局示意图1.1 线性空间线性地址空间:是指Linux系统中从0x00000000到0xFFFFFFFF整个4GB虚拟存储空间。线性空间又分为用户空间和内核空间。1.1.1 用户空间(进程地址空间)用户空间是指从0x00000000到0xBFFFFFFF共3GB的线性地址空间,每个进程都有一个独立的3G原创 2014-03-09 11:45:29 · 815 阅读 · 0 评论 -
linux 高端内存映射方式
1.1 内核地址空间(线性空间)分布 (1) 直接映射区:线性空间中从3G开始最大896M的区间,为直接内存映射区,该区域的线性地址和物理地址存在线性转换关系:线性地址=3G+物理地址。(2) 动态内存映射区:该区域由内核函数vmalloc来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。vmalloc分配的线性地址所对应的物理页可能处于低端内存,也可能处于高端内存。(3原创 2014-03-09 11:54:50 · 1005 阅读 · 0 评论 -
CFS 调度器
首先简单介绍一下基本的设计思路,CFS思路很简单,就是根据各个进程的权重分配运行时间(权重怎么来的后面再说)。进程的运行时间计算公式为:分配给进程的运行时间 = 调度周期 * 进程权重 / 所有进程权重之和 (公式1)调度周期很好理解,就是将所有处于TASK_RUNNING态进程都调度一遍的时间,差不多相当于O(1)调度算法中运行队列和过期队列切换一次的时间(我对O(1)调度算法看得不转载 2014-04-11 08:48:01 · 664 阅读 · 0 评论