faxiang1230 Blog

IT渣男

Linux进程管理

进程管理 进程管理作为系统最重要的子系统之一,主要承担了虚拟化cpu的功能,在宏观上并行运行任务,而在微观上串行运行任务,就有一个问题,哪个任务运行在cpu上,运行多长时间? 另外一个任务运行不仅需要cpu,还需要内存,文件系统,信号等资源,同时为了更加充分地利用cpu,任务是有不同的状态的,当任务在等待IO的时候就不需要再使用cpu,需要让出来给其他任务使用. 所以进程管理最少关注三个方面...

Linux内存管理

Linux内存管理 限定:主要是指32位上,单节点,开启MMU,有HIGHMEM区域中的内存管理 物理内存管理的目标有两个:进程资源隔离,效率和性能; 通过虚拟地址和物理地址的转化,虚拟地址向进程提供统一的地址分布,而页表的转换保证了每个进程操作的物理地址不同。 对物理地址进行逻辑上分页创建了一种相同粒度上的映射单位,然后可以以一种全关联的方式进行映射管理,即一个虚拟地址理论上可以映射...

drop_caches

drop-caches 介绍 内核文档: 通过这个节点可以释放掉干净的缓存,dentry,inode,而脏的页需要通过sync系统调用来主动回写来释放 释放掉页缓存 echo 1 > /proc/sys/vm/drop_caches 释放掉dentry和inode缓存 echo 2 > /proc/sys/vm/drop_caches 释放掉页缓存和dentry,inode...

ecryptfs

ecryptfs 参考Halcrow的论文:eCryptfs: An Enterprise-class Encrypted Filesystem for Linux 特别是下面这位大牛的解析:http://bobao.360.cn/learning/detail/4531.html 背景 ecryptfs:Extend cryptfs,翻译做扩展加密文件系统,其作用类似于GnuPG程序,对数...

计算机中的数学

未完成

计算机中的数学 计算机使用二进制表示数据 人类为什么使用十进制来计数呢?因为人生来就是10根手指,从掰着手指开始计数 计算机为什么使用二进制呢? 为什么

针对不同CPU的优化

未完成

generic和特定cpu的kernel选项优化 在做开源项目时,为了系统能够在足够多的cpu上运行,一般都是配置generic的选项;如果有需求要压榨硬件的性能时,牺牲一下通用性,针对特定的平台优化时是可以取得一定的优化效果,具体的效果可以通过一些benchmark测试一下。 实践: arch/x86/Kconfig.cpu列出了可以优化的cpu系列: config M486 bool...

Gerrit服务搭建

百人开发以下

为Openthos配置Gerrit服务 配置gerrit 1.下载gerrit的jar包 下载链接 http://download.csdn.net/download/stwstw0123/9044005 2.提前安装一些工具:mysql,apache2-utils,nginx gerrit将用户信息保存到数据库中,所以需要选择一个数据库,这里暂且使用mysql; 并且需要提前新建数据库 ...

Android Graphic

Android Graphic Overview Android是现在大多数国人使用的手机上搭载的系统,也衍生了新的一族:低头族,低头族们都在干什么呢,浏览网页,游戏,看视频,听歌,分解动作无非两个:点击触摸屏和查看屏幕; 再来看PC行业中Windows的崛起,也是那年搭载了Windows95之后才流行起来的,中间伴随着和苹果公司的恩怨纠缠,两个公司流行的原因很大一部分是具有良好的图形界面,...

程序的链接和加载

未完成

程序的链接和加载 链接 加载器

kernel相关的内容概览

kernel的重要点总结 进程 详细 进程创建 进程调度 调度策略 runqueue vruntime 抢占 内核抢占 用户抢占 进程切换 负载均衡 负载均衡时机 负载均衡策略 中断 内存管理 物理内存管理 伙伴系统 每cpu高速缓存 内存系统初始化 虚拟内存管理 swap 缓存 页面回收 页表 缺页异常 信号 中断 IO block_device,gendisk,hd_struct bi...