在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序",那futex是什么?和glibc又有什么关系呢?1. 什么是FutexFutex 是Fast Userspace muT Read More
posted @ 2017-04-04 20:20 jack.chen Views(3023) Comments(0) Diggs(0) Edit
2017-03-10 回想下最初的计算机设计,在单个CPU的情况下,同一时刻只能由一个线程(在LInux下为进程)占用CPU,且2.6之前的Linux内核并不支持内核抢占,当进程在系统地址运行时,能打断当前操作的只有中断,而中断处理完成后发现之前的状态是在内核,就不触发地调度,只有在返回用户空间时, Read More
posted @ 2017-04-04 20:07 jack.chen Views(677) Comments(0) Diggs(0) Edit
2017-04-03 最近深入研究了下Linux线程的问题,发现自己之前一直有些许误解,特记之…… 关于Linux下的线程,各种介绍Linux的书籍都没有深入去解释的,或许真的如书上所述,Linux本质上不存在线程的概念!在某种程度上的确是这样,但是难道LInux就只有一种进程的东西么??答案肯定是 Read More
posted @ 2017-04-04 16:40 jack.chen Views(5813) Comments(1) Diggs(0) Edit
2017-03-02 在Linux下的物理内存管理中,对SLAB机制大致做了介绍,对SLAB管理结构对象也做了介绍,但是对于小内存块的分配没有介绍,本节重点介绍下slab对小内存块的管理。 内核中使用全局的kmem_cache数组kmalloc_caches组织不同大小的缓存块,每个缓存块由一个km Read More
posted @ 2017-03-21 10:25 jack.chen Views(2631) Comments(0) Diggs(0) Edit
11:42:30 11:42:30 11:42:30 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生 Read More
posted @ 2017-03-19 11:43 jack.chen Views(647) Comments(0) Diggs(0) Edit
最近看各种上下文,发现和ThreadInfo中的preemption字段密切,于是便调查了下。 看下Linux源码中的注释: /* * We put the hardirq and softirq counter into the preemption * counter. The bitmask Read More
posted @ 2017-03-19 10:30 jack.chen Views(2109) Comments(0) Diggs(0) Edit
2017-02-23 一、伙伴系统 LInux下用伙伴系统管理物理内存页,伙伴系统得益于其良好的算法,一定程度上可以避免外部碎片为何这么说?先回顾下Linux下虚拟地址空间的分布。 在X86架构下,系统有4GB的虚拟地址空间,其中0-3GB作为用户空间,而3-4GB是系统地址空间。linux系统系统 Read More
posted @ 2017-03-03 19:01 jack.chen Views(7131) Comments(0) Diggs(0) Edit
2017-03-03 很遗憾之前在介绍进程调度的文章中,虽然涉及到了内核抢占,但是却没有对其进行深入介绍,今天就稍微总结下内核抢占。 内核抢占在一定程度上减少了对某种事件的响应延迟,这也是内核抢占被引入的目的。之前的内核中,除了显示调用系统调度器的某些点,内核其他地方是不允许中重新调度的,如果内核在 Read More
posted @ 2017-03-03 18:11 jack.chen Views(3613) Comments(0) Diggs(0) Edit
2017-02-22 注:本文并非原创,来自百度文库,只是觉得写得较好,故分享之。若是某人的知识产权,望告知!谢谢 1.高速缓冲存储器的功能、结构与工作原理 高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。 C Read More
posted @ 2017-02-22 12:10 jack.chen Views(5088) Comments(0) Diggs(0) Edit
2016-12-09 近期想查看下系统分配了的页的页表项的标志位,但是发现资料较少,所以还是记录下,希望可以对某些朋友有所帮助! 系统:win7 32位虚拟机 平台:KVM虚拟化平台 win7 32位默认是开启了PAE分页模式的,PAE分页模式本质上和普通的32位分页并无区别,只是页表结构和虚拟地址 Read More
posted @ 2016-12-09 15:09 jack.chen Views(3260) Comments(0) Diggs(0) Edit

以马内利