-
UML已死了吗? - [Linux Kernel UserModeLinux ]2007-09-08
UML(UserModeLinux)已死了吗? 在短暂的未来中,没有人可以预测,UML/Xen/KVM,究竟哪一种技术会最终胜出。
http://www.linux.com/articles/59616 http://virtminiconf.linux.hp.com/copy_of_program/uml-kvm-and-hardware-virtualizationTags: Linux Kernel UserModeLinux
-
请看中文的内核开发邮件归档 - [Linux Kernel ]2007-09-06
请看中文的内核开发邮件归档 没有故事能比这更为有趣的报道了。
> > 今天四大distribution 的技术领导到场,跟大牛们诉苦,他们主要的问题是:bug > > 太多,还有就是驱动程序问题。很多驱动程序进不了mainline kernel,他们不得 > > 以才收进自己的distribution. Linus当场拍板说他收驱动程序,只要distro打算要。 http://zh-kernel.org/pipermail/linux-kernel/ http://zh-kernel.org/pipermail/linux-kernel/2007-September/000662.html ... -
大事记 - [Kernel Linux ]2007-08-25
-
2007-08-09 - [Linux ]2007-08-09
Don't Panic在八月五日悄悄地发布,我来给它记上一笔。
Tags: Linux
-
LVS - [Linux ]2007-07-10
从IBM developWorks学到了很多:
http://www.ibm.com/developerworks/cn/linux/cluster/lvs/part1/index.html
http://www.ibm.com/developerworks/cn/linux/cluster/lvs/part2/index.html
http://www.ibm.com/developerworks/cn/linux/cluster/lvs/part3/index.html
http://www.ibm.com/developerworks/cn/linux/cluster/lvs/part4/index.htmlTags: Linux
-
下载文件技巧 - [Linux ]2007-07-09
下载时选择一个链接,直接把它拖放到某个目标目录中,文件管理器(nautilus)就会出现正在复制的对话框。
这一项特性非常酷,也就是说剪贴板里面有一个目标URL地址时,在文件管理器中粘贴,就会把它下载过来。
Tags: Linux
-
字符设备的mmap接口 - [Kernel Linux ]2007-06-17
-
amd64平台字长演示 - [Linux C ]2007-06-12
一个简单的C程序如下,用来测试64位平台的基本程序参数:
$ cat offsetof.c #include <stdio.h> #define PRINT_SIZE(type) \ printf("sizeof " #type " = %lu\n", sizeof(type)) #define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER) #define PRINT_OFFSET(type, member) \ printf("offsetof " #member " in " #type " = %lu\n", offsetof(type, member)) struct ub { int a; char c; unsigned long b; }; struct ub_packed { int a; char c; unsigned long b; } __attribute__ ((packed)); int main(void) { PRINT_SIZE(struct ub); PRINT_OFFSET(struct ub, b); PRINT_SIZE(struct ub_packed); PRINT_OFFSET(struct ub_packed, b); return 0; }编译和运行效果:
$ gcc -Wall offsetof.c $ ./a.out sizeof struct ub = 16 offsetof b in struct ub = 8 sizeof struct ub_packed = 13 offsetof b in struct ub_packed = 5
-
syscall调用接口从2.6.19开始移到应用层, - [Kernel Linux ]2007-06-02
syscall调用接口从2.6.19开始移到应用层,原来内核中使用_syscallN宏的方式来声明函数原型的方法不再有效:
如声明:
_syscall1(int, sysinfo, struct sysinfo *, info);
不再需要,而是在程序中需要的时候直接调用:
int syscall(int number, ...);
- 第一个number是后面要接的参数个数,不是该系统调用的参数个数;
- number后面顺序接上该系统调用的所有参数即可
相应头文件包含也改变为
于是调用sysinfo就变为:
struct sysinfo s_info;
syscall(2, __NR_sysinfo, &s_info);可见新的调用方式变得更为简洁了。
References:- http://lxr.linux.no/source/include/asm-i386/unistd.h
- http://lxr.linux.no/source/include/asm-i386/unistd.h?v=2.6.18
- http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.19-git13.log
- commit f5738ceed46782aea7663d62cb6398eb05fc4ce0 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
-
安装beryl之前需要restricted-driver: - [ubuntu linux feisty ]2007-06-01
-
浏览时,忍不住把曾写在论坛的帖子再贴出来: - [Linux 开源 教育 ]2006-02-01
浏览时,忍不住把曾写在论坛的帖子再贴出来:
原文在这里:广东省Linux中心论坛 - 开源软件在中国教育面临的困境[草稿] -
乌干达记事 - [Uganda vim Linux ]2006-01-19
-
纪念深圳linux用户组第一期聚会如期举行!2006-01-15! - [szlug Linux ]2006-01-15
-
明年要继续学习Python! - [Linux Python CPython ]2005-12-31
又是年末了,想在最后的时间在BLOGBUS里贴一个Linux的TAG
马上速战速决!
终于照样写好了CPython Demo,明年要继续学习Python!
crq@ $ cat capi.c #include <Python.h> static PyObject *c_system(PyObject *self, PyObject *args) { const char *str; if (!PyArg_ParseTuple(args, "s:must be a shell command", &str)) return NULL; int ret = system(str); return Py_BuildValue("i", ret); } static PyMethodDef methods[] = { { "system", c_system, METH_VARARGS, "system with all" }, { }, }; void initcapi(void) { Py_InitModule("capi", methods); } crq@ $ gcc -Wall -fPIC -O2 -I/usr/include/python2.2 -c capi.c crq@ $ ld -shared -o capi.so capi.o crq@ $ python Python 2.2.2 (#1, Feb 24 2003, 19:13:11) [GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import capi >>> dir(capi) ['__doc__', '__file__', '__name__', 'system'] >>> capi.system("uptime") 23:22:48 up 5 days, 8:02, 1 user, load average: 0.00, 0.00, 0.00 0 >>> ^D -
推荐Linux-Assembly-HOWTO - [Linux nasm assembly ]2005-12-26
查询表生成
以下以一个简单例子演示了在LINUX下使用nasm编程。在许多需要计算正余弦的程序中,如果浮点数计算较多而且输入值要求不高,可以先计算一张数据表以供每次查询,以简化运行时的计算任务。
在汇编语言中调用此程序使用fsincos浮点指令一次生成正统和余弦值,可以比C语言直接计算快得多。
程序生成一列以逗号分隔的浮点数,可以复制到C程序中使用。
本程序同时还演示了在LINUX系统下Intel FPU的编程。
-
cpan-mirror - [CPAN Linux Perl ]2005-12-23
应洪峰要求,将页顶banner移走了,临时换上了一张,找不到好图,只拉到cpan-mirro的一张图,图上红色的点都是CPAN在全世界各地的镜像站点。值得注意的是其在中国境内的点是何其的少啊,欧洲和美国境内最多,还包括冰岛和挪威,南非也有三个点,墨西哥,巴拿马,巴西和阿根廷也都有,澳大利亚和新西兰,夏威夷,印度和印尼,越南和柬埔寨,日本和韩国,中国境内只有北京一个点,香港一个点,和台湾有两个点。
洪峰其人:(请看页顶banner就是了,Favorite Links里面也有一篇非常值得一读的PDF文件,洪峰原创。)
-
答问卷 - [Linux ]2005-12-23
答(置顶:blog的传播实验问卷)问:
1、你如何知道我的blog(quasimo.blogbus.com)?
以Linux为Tag找到的。
2、你如何知道这一篇blog?
以Linux为Tag找到的。
3、你通常用什么途径阅读我的blog?
通常不阅读。
4、假如你不止一次打开我的blog,是通过:
Greatnews点击标题,要回复的时候就点啊。
5、对于blogbus.com你常使用打开以下页面或相关子页面吗?
都不去,不过我对blogbus印象还是不错的。Tags: Linux
-
学习 Python: - [Python Socket Linux ]2005-12-20
学习 Python:
当年学习写网络程序时是从每一个socket开始写,每一个有关socket调用的函数的错误处理也都亲手包办,近日所见 Python 的威力:
以下简单事例展现从单处理到多处理的变迁原来如此简单:
from SocketServer import TCPServer, StreamRequestHandler class StreamHandler(StreamRequestHandler): def handle(self): print 'Connect from', self.client_address for x in self.rfile: print >> self.wfile, x.strip('\r\n').replace('x', 'y') TCPServer(('', 7000), StreamHandler).serve_forever()SocketServer 是一个专营服务器的 module,从 TCPServer 类上实例化一个对象并调用其 serve_forever 便够成了服务端,其参数也很简单,一个是绑定的地址:所有本地IP的1036端口,一个是处理服务类,每当有连接进入时,TCPServer会自动实例化一个对象并调用其 handle 函数,于是我们要做的便只是写好如何处理了。而Handle中所写有 rfile 和 wfile 两个文件对象可写,正好避免了 socket 的 send 与 recv 的复杂过程。
本例以不到10行代码实现了一个TCP echo服务器,并提供了一个简单的功能将输入字符串中的 'x' 转换为 'y',其中也可展现了 Python 的文本处理的强大功能。
针对单处理的弱点,即同时只能处理一个客户端,以下版本只改动一个单词便实现了多线程版本,服务多个客户端。
from SocketServer import ThreadingTCPServer, StreamRequestHandler class StreamHandler(StreamRequestHandler): def handle(self): print 'Connect from', self.client_address for x in self.rfile: print >> self.wfile, x.strip('\r\n').replace('x', 'y') ThreadingTCPServer(('', 7000), StreamHandler).serve_forever()同样 ServerSocket 模块中还包含了 UDPServer, ForkingTCPServer, ThreadingUDPServer, UnixStreamServer 等等一系列可用于服务器类的生成,所有你能想到的都罗列其中。查看了/usr/share/lib中 SocketServer.py 的实现代码,包括了很多行的代码总共才有400多行。
也许你担心效率问题,但关于网络程序有一句话是从实践中所得:
“在计算任务不多的网络程序中,性能的瓶颈在于IO而不是CPU。”
-
方兴东观察 - [Linux ]2005-12-14
看过这篇,觉得很有道理。还是要看看微软的真相。
上周去一个朋友那里解决中国工商银行的网站登录,原来在中国包括银行等大型机构输入密码都已用上了ActiveX,而实际上ActiveX正是那么多恶意网站的避风濩,恶意脚本也出于VBScript居多,面对这些种垃圾语言,堂而皇之摆到银行网站上,该怎么说好呢?
看看google做的gmail登录框上密码输入,用的是什么?是https,标准的安全协议早已有之,而且是独立于各个操作系统的安全标准,奈何不用?
- 《起来——挑战微软霸权》
- 连载:《起来》----(第九章) 作者:方兴东 2005-09-06 07:34:04
- 连载:《起来》----(附录2) 作者:方兴东 2005-09-06 07:34:04
- 连载:《起来》----(第十一章) 作者:方兴东 2005-09-06 07:19:07
- 连载:《起来》----(第十章) 作者:方兴东 2005-09-06 07:07:31
- 连载:《起来》----(第八章) 作者:方兴东 2005-09-06 06:52:48
- 连载:《起来》----(第七章) 作者:方兴东 2005-09-06 06:33:40
- 连载:《起来》----(第六章) 作者:方兴东 2005-09-06 05:51:51
- 连载:《起来》----(第五章) 作者:方兴东 2005-09-06 05:40:06
- 连载:《起来》----(第三章) 作者:方兴东 2005-09-06 05:36:44
- 连载:《起来》----(第四章) 作者:方兴东 2005-09-06 05:26:17
- 连载:《起来》----(第二章) 作者:方兴东 2005-09-06 05:13:25
- 连载:《起来》----(第一章) 作者:方兴东 2005-09-06 05:05:11
- 连载:《起来》----(附录1) 作者:方兴东 2005-09-06 04:49:35
- 连载:《起来》----(目录) 作者:方兴东 2005-09-06 04:44:45
不过可惜其文中对于Linus Torvalds本人以及对Linux的描述方面错误太多。
指出一个很严重的错误:Linus是芬兰人而不是荷兰人。
Tags: Linux
-
ELF文件格式分析之二:符号表 - [Linux assembly ELF binutils ]2005-12-12
Symtab & Relocation info (符号表与重定位表)
写了一个2.4内核模块,正是分析Relocation所需要的。
readelf 先按次序读 ELF header, Section Headers, Program Headers, Relocation entries, Symbol table entries, version information.




最新评论