- 博客(30)
- 资源 (4)
- 收藏
- 关注
原创 多核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
6175
原创 写一个操作系统
十一完成MIT的OS课程LABS,对OS整体有了更加清晰的认识,所以狠下心删掉从去年4月开始写到现在的OS(结构不清晰,参考太多Linux),开始闭门造车重写一个小OS,现在看来基础功能已经实现了,并且在用户态也跑起了一个简单的shell,简单记下编写的历程:1.写一个bootloader,磁盘启动,获取内存的(e820)映射表,加载内核,进入保护模式2.初始化gdt/分页表,
2011-11-12 18:05:44
1351
原创 我为什么学不好另外一种语言?
我接触第一门编程语言是C,并且一直用到现在,期间也尝试学一些其他语言(python/javascript/shell),但是后来都学的不深入。 我曾经多次去学习python,读过3本的python入门书籍,但是现在仍然不能很好应用,我想原因有以下几点: 第一点,学python的目的就不是很明确,只是感觉有_必要_学一门高级语言 第二点,总是喜欢用自己较
2011-11-06 15:56:29
908
原创 从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
3730
2
原创 写一个词法生成器
参考《compiler design in c》写了个小小小的词法生成器:tinylex正则表达式-->NFAS (递归下降的语法解析 + Thompson's Construction)NFAS-->DFAS & DFA 状态转移表 ( subset construction )DFAS -->最小化DFAS & 状态转移表压缩状态转移表 (冗余行列压缩) 能解析简单词法
2011-06-07 21:34:00
2861
原创 什么时候动手写代码才合适?
一直困扰自己的问题,今天听黄碗明学长讲座,又遇到这个问题。 我一直想写个操作系统,当我写到文件系统时候,遇到的一个问题是:我该自己实现一套私人规范的文件系统还是阅读相关已有的文件系统再去实现? 我担心自己闭门造车会很消耗心力另外怕写出来与已有的相差太大。结果我
2011-05-20 22:18:00
2899
原创 补丁被内核接受了:)
早上收到Greg KH的邮件,最近给rtl8***提交的4个PATCH被接受了,加上原先指出中文文档拼写错,现在慢慢习惯git+diff+mutt+pool English了。 虽然都是小PATCH,甚至还有点小问题,MAINTAINERS还是很热心帮我指正。 (原来最近内核早就加入了rtl8192无线网卡驱动,我在fedora12下还到处找...)
2011-03-08 08:17:00
1560
1
原创 最小的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
1467
原创 [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
2896
原创 第一次编译内核
最近用虚拟机bochs想虚拟个linux 0.11来调试调试,可惜bochs文档老是配置不对,怎么感觉比原来在windows下配置的时候难好多呢:( 今天上英语课之前手机在网上乱翻,感觉做个modules下的hello world蛮有意思,但又不敢在自己的fedora下insmod,正巧学习下编译内核。索性翘了英语(- -||马上就清明了 逃课的也不多我一个:) 回到宿
2010-04-02 17:27:00
952
1
原创 总结与期待
寒假: 放假之前最期待着放假了,回到家没过几天,邮购的《linux内核情景分析》就到了。1000+页,拿在手里比砖头还砖头。匆匆写完科协的小作业(实现了很简陋的printf),然后我就开始啃这个大部头。啃了不到一周,就有点顶不住了,内存分配几个代码片段要反复看才能在脑中有大体印象,2.4比0.11深(关键自己0.11还没了解精通),实在是自己现在层次达不到,看了太吃力。正
2010-03-19 22:05:00
601
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
1671
1
原创 [linux 0.11]写时复制的实现
相比较于2.4的代码,0.11的比较简洁写时复制也即copy on write,这种思想相当简单:父进程和子进程共享页面而不是复制页面。然而,只要页面被共享,
2010-01-26 21:22:00
1670
原创 一叶障目 难写kernel
写个操作系统?好吧,我承认现在的我实在是太无知太自大了。最近看了点东西,我越发感觉OS的复杂。 卡在OS进程那好长时间,到现在还是一知半解,搞了本《Linux内核完全注释》做参考,结果到了进程又卡住了。中途为彻底搞清楚分页机制,上网东看西看(正所谓不能在一本书上卡死),顺带摸索了下内存管理。单单看memory.c和page.s,代码都好理解,但从整个kernel角度放眼一看,真是
2009-12-12 20:55:00
1009
原创 写个操作系统?
趁着刚刚学完汇编的热情,翻开《orange`s 一个操作系统的实现》。 我慢慢看细细看,没事上上机,竟然已经来到第6章进程了。期间在保护模式那卡了好几天 ,差点就因为作者说“熟悉保护模式可以跳过这章”,谁知道自己竟然这么浅薄,先前了解的保护模式不过只是飘渺的浮云--我是怎么也抓不住的,可是真要自己动手写代码,说出个所以然来就真是难为我了。现在明白了:保护模式就像c里的
2009-11-22 18:13:00
706
原创 自己的汇编版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
713
原创 一周的收获
突然发现周边人好多人开始投入和喜爱编程了,对床的阿扁也早早的就把学校发的C语言给啃掉了,也有好多人开始买技术书籍。我在同学那本《我是一只IT小小鸟》中竟然发现刘未鹏发表在优快云上那篇《我在南大的七年生活》,只是加了点小标题,而内容一字不差。 关键是在于胖哥买了本王爽的《汇编语言》,我拿来翻了几张,立刻就迷上了,放上手头几本书,一门心思钻进那本书,用上所有能用的时间,逃掉高数,c语
2009-11-06 16:44:00
805
1
原创 开学一个月
到学校1个多月了,感觉还能适应,现在已经没心思像高中那样做题了。只是提前预习下高数,上课时候在做做作业,基本上听不进老师在讲什么。而C语言完全听不进去,自己搞点其他事做做,看看编程,发发呆,睡睡觉。英语真是头疼,艾~慢慢搞吧,搞不掉E文,以后就少了一个最大的技术资源。 在当当上订了好些书,有C++ 驱动 深入浅出MFC WINDOWS核心编程,课余时间全拿来看编程了,为什么说是看呢
2009-11-06 16:15:00
875
原创 初学感触
本着兴趣,在高考完自学c编程,花了1周时间看完谭的《c程序设计》,发现自己连个exe文件都调试不出来(其实看的过于急躁 书中还是有的)。后来自己baidu,又因为程序编译﹑链接错误不断,最终在电脑前奋战一下午才弄个test.exe出来 双击打开“helloworld!1+1=2”为此我还兴奋一晚上。 可第二天兴致就没了,除了hello world加强版exe以外,我啥都不会,郁闷好一整子
2009-09-05 19:13:00
574
2
linux驱动程序开发 第三版 英文版
2010-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人