自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ch-o-bits~

学习学习再学习:)

  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

原创 LKM list

LKM学习

2010-10-26 22:14:00 1047

原创 多核CPU上python多线程并行的一个假象

python-cn(华蟒用户组,CPyUG 邮件列表)上: 关于 python 多线程是否能用到多核的问题 相关讨论本机环境: 2核CPU, linux 2.6, python 2.6.2  在python上开启多个线程,由于GIL的存在,每个单独线程都会在竞争到GIL后才运行,这样就干预OS内部的进程(线程)调度,结果在多核CPU上:  python的多线程实际是串行执行的,

2011-12-19 10:55:51 6058 3

原创 写一个操作系统

十一完成MIT的OS课程LABS,对OS整体有了更加清晰的认识,所以狠下心删掉从去年4月开始写到现在的OS(结构不清晰,参考太多Linux),开始闭门造车重写一个小OS,现在看来基础功能已经实现了,并且在用户态也跑起了一个简单的shell,简单记下编写的历程:1.写一个bootloader,磁盘启动,获取内存的(e820)映射表,加载内核,进入保护模式2.初始化gdt/分页表,

2011-11-12 18:05:44 1304 2

原创 我为什么学不好另外一种语言?

我接触第一门编程语言是C,并且一直用到现在,期间也尝试学一些其他语言(python/javascript/shell),但是后来都学的不深入。    我曾经多次去学习python,读过3本的python入门书籍,但是现在仍然不能很好应用,我想原因有以下几点:        第一点,学python的目的就不是很明确,只是感觉有_必要_学一门高级语言        第二点,总是喜欢用自己较

2011-11-06 15:56:29 872

原创 从L2层抓包的两个问题

1. 无法指定具体网卡接口  1) 从内核看,socket(PF_PACKET,..,..)函数不提供对网卡(eth0/eth1)接口的筛选,但是可以对具体L3层协议进行筛选列如socket(PF_PACKET,...,ETH_P_ALL) 抓所有L2层ether packet,而socket(PF_PACKET,...,ETH_P_IP)则只抓取IP协议的包   

2011-06-10 16:51:00 3638 3

原创 写一个词法生成器

参考《compiler design in c》写了个小小小的词法生成器:tinylex正则表达式-->NFAS (递归下降的语法解析 + Thompson's Construction)NFAS-->DFAS & DFA 状态转移表 ( subset construction )DFAS -->最小化DFAS & 状态转移表压缩状态转移表 (冗余行列压缩) 能解析简单词法

2011-06-07 21:34:00 2770

原创 什么时候动手写代码才合适?

一直困扰自己的问题,今天听黄碗明学长讲座,又遇到这个问题。   我一直想写个操作系统,当我写到文件系统时候,遇到的一个问题是:我该自己实现一套私人规范的文件系统还是阅读相关已有的文件系统再去实现?   我担心自己闭门造车会很消耗心力另外怕写出来与已有的相差太大。结果我

2011-05-20 22:18:00 2843

原创 自旋死锁与抢占

自旋锁和内核抢占

2011-04-21 15:19:00 1929

原创 补丁被内核接受了:)

  早上收到Greg KH的邮件,最近给rtl8***提交的4个PATCH被接受了,加上原先指出中文文档拼写错,现在慢慢习惯git+diff+mutt+pool English了。        虽然都是小PATCH,甚至还有点小问题,MAINTAINERS还是很热心帮我指正。  (原来最近内核早就加入了rtl8192无线网卡驱动,我在fedora12下还到处找...)

2011-03-08 08:17:00 1527 1

原创 写个dump_stack

简单实现dump_stack

2011-02-27 22:42:00 4605 1

原创 写个文件系统

动手写用户态和内核态文件系统驱动

2011-01-02 16:30:00 1564 1

原创 proc文件系统下文件隐藏

proc文件系统下,文件从proc_dir_entry链表摘除

2010-12-14 16:49:00 1090

原创 vmalloc设计的思考(?)

内核设计者是怎么想的?我好想知道啊!!

2010-12-14 12:38:00 1712 1

原创 vfs慢慢开始!!!

郁闷的block dev

2010-12-11 22:11:00 609 2

原创 通过内存泄漏达到模块隐藏

转储模块到申请的内存 最后泄露此内存

2010-11-25 22:04:00 1179 1

原创 高端内存的理解

内核地址空中highmem映射

2010-11-23 13:33:00 7392 3

原创 只读内存区的写操作

修改pte属性达到写只读内存的目的

2010-11-21 22:33:00 3330

原创 认识linux input子系统(一)

从用户态认识linux input子系统

2010-09-24 13:47:00 10287 4

原创 最小的ELF程序?

1.自己的尝试试着写了个最小的ELF程序,如下:my_tiny.c:/* *      my_tiny.c *      gcc -c -o my_tiny.o my_tiny.c *      调用exit系统调用,返回退出码42 */void start(){        __asm__("int $0x80"                ::"a"(1),"b"(42):);

2010-05-17 14:16:00 1414

原创 [linux 0.11]fork()--子进程的返回

  fork()是linux下创建进程的函数,这里通过linux 0.11分析下fork()创建进程后,子进程是如何返回的,但并不打算分析完整的fork()。  fork()是1个系统调用(int 0x80),主要由find_empty_process和copy_process两个内核函数组成。  当调用fork()时(int 0x80),cpu会自动将调用fork()时的代码段c

2010-04-10 21:10:00 2802

原创 第一次编译内核

    最近用虚拟机bochs想虚拟个linux 0.11来调试调试,可惜bochs文档老是配置不对,怎么感觉比原来在windows下配置的时候难好多呢:(    今天上英语课之前手机在网上乱翻,感觉做个modules下的hello world蛮有意思,但又不敢在自己的fedora下insmod,正巧学习下编译内核。索性翘了英语(- -||马上就清明了 逃课的也不多我一个:)    回到宿

2010-04-02 17:27:00 934 1

原创 总结与期待

寒假:    放假之前最期待着放假了,回到家没过几天,邮购的《linux内核情景分析》就到了。1000+页,拿在手里比砖头还砖头。匆匆写完科协的小作业(实现了很简陋的printf),然后我就开始啃这个大部头。啃了不到一周,就有点顶不住了,内存分配几个代码片段要反复看才能在脑中有大体印象,2.4比0.11深(关键自己0.11还没了解精通),实在是自己现在层次达不到,看了太吃力。正

2010-03-19 22:05:00 563 1

原创 屏幕亮度和分辨率

亮度换了fedora 12后,按Fn+Home或者End依然显示亮度调节条 但是实际上屏幕亮度依然没变,baidu google搜了都不好用。实际问题是 /etc/X11/xorg.conf没设置好(你说压根就没有这个文件? 见下文),如果熟悉xorg.conf配置的话,结合本机配置可自行解决,这里用system-config-display , 命令yum install system-

2010-03-01 20:42:00 1593 1

原创 [linux 0.11]写时复制的实现

                                                                                                                       相比较于2.4的代码,0.11的比较简洁写时复制也即copy on write,这种思想相当简单:父进程和子进程共享页面而不是复制页面。然而,只要页面被共享,

2010-01-26 21:22:00 1595

原创 一叶障目 难写kernel

    写个操作系统?好吧,我承认现在的我实在是太无知太自大了。最近看了点东西,我越发感觉OS的复杂。    卡在OS进程那好长时间,到现在还是一知半解,搞了本《Linux内核完全注释》做参考,结果到了进程又卡住了。中途为彻底搞清楚分页机制,上网东看西看(正所谓不能在一本书上卡死),顺带摸索了下内存管理。单单看memory.c和page.s,代码都好理解,但从整个kernel角度放眼一看,真是

2009-12-12 20:55:00 979 1

原创 写个操作系统?

       趁着刚刚学完汇编的热情,翻开《orange`s 一个操作系统的实现》。       我慢慢看细细看,没事上上机,竟然已经来到第6章进程了。期间在保护模式那卡了好几天 ,差点就因为作者说“熟悉保护模式可以跳过这章”,谁知道自己竟然这么浅薄,先前了解的保护模式不过只是飘渺的浮云--我是怎么也抓不住的,可是真要自己动手写代码,说出个所以然来就真是难为我了。现在明白了:保护模式就像c里的

2009-11-22 18:13:00 676

原创 自己的汇编版hello world

写的第一个汇编程序,花了2个小时才调试成功,个中滋味也只有自己才能体会,存下来慰下自己。   assume cs:codesgdata segmentdb hello worlddata endscodesg segmentstart: mov ax,0b800h       mov es,ax       mov di,12*160+36*2           mo

2009-11-06 16:56:00 659

原创 一周的收获

     突然发现周边人好多人开始投入和喜爱编程了,对床的阿扁也早早的就把学校发的C语言给啃掉了,也有好多人开始买技术书籍。我在同学那本《我是一只IT小小鸟》中竟然发现刘未鹏发表在CSDN上那篇《我在南大的七年生活》,只是加了点小标题,而内容一字不差。    关键是在于胖哥买了本王爽的《汇编语言》,我拿来翻了几张,立刻就迷上了,放上手头几本书,一门心思钻进那本书,用上所有能用的时间,逃掉高数,c语

2009-11-06 16:44:00 769 1

原创 开学一个月

     到学校1个多月了,感觉还能适应,现在已经没心思像高中那样做题了。只是提前预习下高数,上课时候在做做作业,基本上听不进老师在讲什么。而C语言完全听不进去,自己搞点其他事做做,看看编程,发发呆,睡睡觉。英语真是头疼,艾~慢慢搞吧,搞不掉E文,以后就少了一个最大的技术资源。    在当当上订了好些书,有C++ 驱动 深入浅出MFC WINDOWS核心编程,课余时间全拿来看编程了,为什么说是看呢

2009-11-06 16:15:00 825

原创 初学感触

  本着兴趣,在高考完自学c编程,花了1周时间看完谭的《c程序设计》,发现自己连个exe文件都调试不出来(其实看的过于急躁 书中还是有的)。后来自己baidu,又因为程序编译﹑链接错误不断,最终在电脑前奋战一下午才弄个test.exe出来 双击打开“helloworld!1+1=2”为此我还兴奋一晚上。  可第二天兴致就没了,除了hello world加强版exe以外,我啥都不会,郁闷好一整子

2009-09-05 19:13:00 549 2

compiler design in c

英文原版扫描 最后附上刊误 谁有Allen Holub的《On command》给我留个言!!

2011-05-15

内核程序员的SMP和Caching技术

此资源为中文版 可惜不太清除 (最好还是看原版英文)

2010-07-09

linux内核情景分析

高清pdf 可惜没书签 描述大于20个字不是问题 但是我已经描述的很清楚了 难道csdn不懂K.I.S.S?

2010-07-09

linux驱动程序开发 第三版 英文版

linux驱动程序开发 英文版 作者Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman

2010-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除