经过了20年的发展,Linux Kernel是一个巨大无比的代码集合。它是很多很多程序员希望了解的这个软件。从代码中学习。调试它。
是因为Linux有着无与伦比的优点。
1.被广泛应用。使用它,了解它,也就是说。找一个工作是简单的。
2.是一大堆高手的思想的结晶。变得出色,是每个人的愿望。
。。。。。。。。。
最后,装13。我就是牛逼。。。
好了,现在该说点正经的了,接触linux已经超过了10年,但是Linux的使用没有问题,但是Linux kernel,这个程序员心中的宝库,我却从来没有从中
获得有益处的东东。看了陈丽君翻译的《深入理解linux内核》,我完全迷失了,迷失在了Linux强大的内核中了,找不到自我。不知道方向,看过了就跟没看过一样。
原因是:我从来不知道里边有什么,我不知道我想从中获取什么。
缺少一个切入点,做一切事情,都需要一个切入点,它注定了你思考的开始和方式。
但是不久之前。我突然想知道一些关于Linux内核的东西。
在这个时间点上,我做了2年的网络开发,接触了很多软件工具:Nginx,libev,Nodejs,web.py,tornado。而里边Nginx,libev,tornado有最大的共性是
他们使用共同的核心epoll,作为异步处理逻辑。epoll在i程序员来看还是同步轮询。但是它却是异步,因为它在Linux内核上使用了时间通知,它是异步的。
我突然觉得。我应该看看epoll是如何实现的。
epoll是一个非常好的开始,它确定了看待Linux内核的两面性。
1.Linux kernel是一个系统调用LIB,它提供了N多系统调用。
epoll_create,epoll_wait并不是Linux kernel提供的,他们提供了sys_epoll_create,sys_epoll_wait提供给了glibc。
最后一个提供给了统一的API。
2.Linux kernel也是一个运行实体,它管理了所有的IO,对文件的读写状态,交给了epoll。
我将会把我的学习心得放在以后的博客中。。
再强调一点:找到自己的切入点。
注:
其中Nodejs这个很文艺的软件,并没有给我留下好印象。
我反感所谓的Nodejs所谓的异步。只剩下了callback。非常恶心。