现在的位置: 首页 > 综合 > 正文

今日小小的感悟(2009/04/09)

2013年10月31日 ⁄ 综合 ⁄ 共 1167字 ⁄ 字号 评论关闭

unix/linux基本哲学之:一切皆文件!这是一条真理,一切皆文件并不是什么神秘的事情,“文件”只是一个操作的接口,就如我们知道的那样的,可以读,写,创建,删除,追加等等,“一切皆”的意义在于unix/linux提供的操作接口是统一的,用统一的方式进行管理不会造成混乱,记住,linux在人机轴的机器端。一切皆文件使用户不需要记忆大量的操作规程,而之需要记忆文件访问的接口就可以,至于访问的策略,那就是文件的数据了,用户可以将更加多的精力放到自己的策略上而不是如何使用系统上。

linux代表了一种草根文化,而它的祖父unix却有一种贵族气质,linux的草根文化决定了它可能永远都不会像windows那样花哨,但是确实是永远都不能被代替,正如高雅的交响乐永远代替不了赵本山的小品一样,linux的目标不应该是和windows争市场,而是要保持自我,永远在自己应该待得地方,世界的一切,只要是草根的东西都是本质的东西,我十分崇尚这个观点,草根的领袖不需要接受万人朝拜,但是却可以永远被神化,你用的东西不需要被理解,正如你开车不需要理解发动机一样,就是简单的使用,使用它,让生活更精彩!

linux永远不会帮你做任何事情,但是却将把手给你,让你来做,相应的一种策略就是,任何事情只要你确定那么就可以做,如果你没有明确指示,那么linux什么也不会去做。linux提供了一种能力而不是一组行为,能力是一个被动的客体,我们说一个人有某种能力并不是说他一定会有相应的行为,而行为却是主动的,linux显然不能是一个主体,它只能是一个客体,主体是谁呢?是用户!

当你可以用钱来赚钱的时候为何还要用艺术来赚钱?这是电影《伯纳德行动》中的主人公索罗维奇的一句话,很经典,不一般,我喜欢!

buffer和cache小结:free中的显示的caches到底什么时候释放?释放有两个地点,第一个是显示的往vm.drop_caches中写值,第二是隐式的,就是内存紧张的时候,后者会调用drop_pagecache_sb来循环释放这个super_block的所有的inode。

free命令显示的cached的意义是文件的缓存,而buffers的意义是块设备的读写缓存,一个试验可以看出linux2.6内核采用基于bio的mpage的高效率,首先往drop_caches写入3,然后到一个大目录执行ls,再调用free,发现buffers增加了不少而caches却没有增加多少,但是一旦more一个大文件就会发现buffers没有增加多少而caches增加了不少,可见buffers主要缓存文件元数据的读写,而cahce主要缓存文件数据,不过也不一定,buffer是一种磁盘缓存,它是不知道你读写的内容的,因此二者没有交集,buffer完全可以用到文件读写的方面。

抱歉!评论已关闭.