启盛's profile苍翠精神PhotosBlogLists Tools Help
Photo 1 of 5
August 19

自我-世界,世界-世俗

        世界有三大原题:
        1.宇宙存在之前和存在之后,或者说有与无的关系 2.人生前和死后究竟是怎样的 3."我"的躯体和思想怎么衔接的.
        这三大原题从古到今,以及在你可以预见的未来,都不会有本质的突破。然而这并不代表我们的世界就是这样或那样随机的发展,我相信它是在向某个固定的方向前进的,只是人生短暂,个体渺小,注定了他要在知道未知的情况下前进,而且他应尽量寻求在现实中找到一个宏大而实在的目标作为一生的追求。
 
         之所以说注定是因为我相信"神",神借助于人行使他的权杖,就像希伯来神借助于摩西行使他的权杖带领犹太人走出埃及。至于神为什么不自己现身,这个问题其实已经回到了3大原题之中,那就是你要问自己到底是谁,你的思想和你的躯体究竟是什么关系了!
 
         之所以要宏大是因为当你理解了亲情,爱情,友情,工作,婚姻,金钱,性的背后,你必然要找寻新的目标,以满足自己超拔的意愿。有的人终其一生缠绕于此情彼情,为情所困所伤所快;有的人一生不知所碌也乐于不知,乐于匆忙;有的人满足于简单,从简单中寻求生活的简单,或者在简单中沉溺;有的人超然世外,杯影相对,麻醉清醒,麻醉找寻的痛苦;...
         所有诸生活的因素是重要的甚至是不可或缺的,然而本质上它们又是渺小的。它们虽无处不在,但对一个人来说,所能领略的所能施与的有限,这种影响的有限性不仅是指在数量上,更是指在程度上,不仅是指在外在的,更是指在内在的。一个人不仅生来孤独,而且独一无二,当孤独强化了自我意识,自我意识和独一无二的认识融合的时候,以上诸生活的因素必然显得渺小,因为它们为众人所拥有,不仅如此,它们的内涵有限。如果把世界的发展理解为一项建筑工程,那么它们是建筑材料之间的粘合剂,但却永不会成为设计蓝图!
    
         之所以要实在,因为人是虚空的,但又生活在现实中,他所想要实现的每一个梦想必须利用现实的力量在现实中体现,因此它必须是实在的,并且与现实的规律在很大程度上融合。这种实在的依托实际上是能纵横驰骋在内心和尘世的能力,不拒绝任何一个世界,也不迷失于任何一个世界。既能克服心中的障碍,又不屈为尘虏;既从内心汲取力量,又从现实中积聚能量。
 
         BTW :我不信任何宗教,其实本来每个人都可以借助一个抽象的神满足自己心灵的栖息,但是现实给躯体的撞击导致思想上不信任自己所创造的而宁愿相信外力所创造的,比如上帝,安拉,释迦,毗湿奴等。这似乎正印证了距离产生神秘,神秘产生敬畏,敬畏产生膜拜,膜拜产生依赖,依赖产生心灵的实在。
June 23

夏风

五月槐花纷飞
六月夏花未见
晚来疾雨 小筑清凉
推窗望夜 星月无踪
毫发呼吸 快哉有风
风来 风来
吃瓜饮水 长啸作歌
天若有情天亦老
人间正道是沧桑
轻弹浮尘三百岁
抱怀河山不作床
May 01

毕生所向

   亿万年流霜飞火,亿万年陆海
沉浮。仰天穹变幻,思青草幽幽
。看万类奔竞,知人生无梦。
   虽前世已忘,后世不知,然宇
宙即我,我即宇宙,今世唯我,
我唯今世。睹物华之盛,发缥缈
之梦;览人物风流,解人生本意

   人之为人在于遨游四海之思,
追寻天地之尊。思之宏大者纳浩
瀚宇宙于方寸,寻天地之尊者破
非常矛盾于非常之时。且宏大者
不以浩瀚而生轻视微渺之心,当
如青山怀土,碧海归流;尊贵者
不以非常而有睥睨平庸之感,当
知登楼远望必拾级而上。
   怀天地之心者与天地同呼吸,
怀天地之志者与天地共力量。今
生无梦,梦无今生!

Linux专题

Linux情景分析图我放在gmail的草稿箱里了,需要的话请留言或发邮件到qiaoqisheng@gmail.com
画得挺粗糙,而且本来要再改改,一直也没时间,肯定有很多不对,还请兄弟们拍砖
 
我打算以后用这个邮箱以专题的形式发布与linux相关的东西,毕竟论坛上的东西太散乱,要花太多时间整理,欢迎大家往里面放自己写的东西,而我接下来的工作一方面是更新情景图,另一方面打算写一些实践性的东西放上去。这样作的想法就是通过共同努力,以linux为蓝本,尽量在学习操作系统内核,协议栈以及主流的上层应用方面节省时间,尤其是对那些不以技术为全部的人,希望兄弟们有力出力啊,呵呵
 
如果不是原创的东西,建议大家把相关的url整理好放在一个文档里存在草稿箱里就可以了
April 25

Web2.0通俗理解

近日谈起web2.0的概念,众说纷纭,上网google,还是众说纷纭,看到wiki对web2.0的描述,差点呕得吐血,技术性描述挺多就是不明白到底在说什么。下面是我对Web2.0的理解,可能不正确,但一定能明白。这还是我一贯发表意见的思路,就算我不能作你的刀剑帮你劈开某些东西,但是也可以当靶子被你攻击,增强你解决问题的能力:)
从用户的观点看web2.0有两个特点:
1.自己能控制网页上的东西,而不只是看
2.和更多象我一样的人进行交互,而不仅仅是C/S (客户端/服务端)这种不平等关系的交互
 
关于第一点,我认为可以这样比喻:假如把web页面上的东西看作积木块搭建出来的图案,那么早先这些积木的组织方式对用户来说是不能动的,只能看。而现在我们可以自己来摆弄它的组织方式了,虽然还是要受一定的限制,但总算是有了一定的控制权,而且改动后,别人可能会看到我摆弄后的结果。
 
关于第二点,我觉得用政治组织上的集权向民主方式的转换可能形象一些。以前都是服务器说什么就是什么,现在我可以听别人说什么了,而且他有什么新东西也可以主动说给我听,只要我愿意!虽然我们要把服务器看作我们认识的公共场所,但认识以后我们就可以直接联系了:)当然要彻底的过河拆桥也是不太可能的,因为那样没人愿意当那个公共场所了。
 
不知道这样理解,各位看官能否满意,请指正:P

Linux情景分析之清明上河图(二)

三.进程管理

1.进程的系统空间和用户空间

在存储管理章中我们已经大致理解了对于进程而言的虚拟空间是怎样和物理空间发生映射关系的。有了这个基础,我们现在可以构想一个层次式的空间图形:底层是负责虚拟空间和物理空间映射的一个层次;在这个层次上是虚拟内存的管理,其实仍不过是一些数据结构组织和对它的一些操作而已;在此之上就是属于进程的层次了。进程的特性之一就是有存储空间,当它需要或释放这些空间时就会和它下面的虚拟内存管理的那个层次发生交互。

到这里,进程,虚拟空间,物理空间之间的层次关系我们已经温习过了,这些层次是一种大致结构,并不代表每个层次只和相邻的层发生联系,更不代表具体实现。接下来要说的就是进程空间分为系统空间和用户空间(当然都是虚拟的),这还不算,如果考虑到所有的进程,我们发现,每个进程都有自己的虚拟空间,但是他们的系统空间是公共的。这个时候,请不要考虑映射的问题,那会扰乱我们要理解的主线,我们继续J: 问题1,每个进程为什么有两种空间?2.每个进程都有自己的用户空间,这可以理解,财务独立嘛,可是系统空间为什么公用,难道是为了简化管理,或者为了进程通信方便?3.各个进程在公用系统空间时遵循什么规则,总不能一锅粥吧?

 

2.系统堆栈和用户堆栈

进程的系统堆栈就在它的系统空间,用户堆栈就在它的用户空间;系统堆栈大小不可变,用户堆栈可以扩展 ;每个进程除了可以直接改变自己的系统堆栈外,不能直接改变系统空间其他部分;进程都有独立的系统堆栈,但共享系统空间;

 

3.进程和线程

没有用户空间,但有系统堆栈的称为内核线程;有专用系统堆栈,但共享用户空间,且受内核直接调度的称为用户线程;(需提到的是某些系统中,所谓的线程与linux中的线程概念都不同,这样的线程共享系统堆栈并共享用户空间,且不受内核直接调度)

 

4.进程创建中的资源复制

进程创建过程中如果需要将父进程的mm_struct复制给子进程那么就涉及到该mm_struct相关的vma_area_struct的复制和页面的复制vma_area_struct的复制就是空间的直接copy而页面的复制涉及到通过虚拟地址定位页面目录然后再定位页面表等问题逻辑上稍复杂些因此在这里略作解释:

<1>.当复制一个vma_area_struct时,那么必然要求这个vma区间块所对应的用于维护虚拟空间和物理空间映射关系的页面目录,页面表被复制。一个vma区间块对应一组页面目录项--pgds(不是页面目录表),一组中间目录表pmd tables(LX中对于32cpu而言,一个pmd table只有一个pmd),一组页面表pte tables。由此可以看到对于一个vma_area_struct区间块对应的页面结构的复制需要一个嵌套的三层循环来实现。

<2>.而如何根据vma_area_struct中的区间信息定位哪些中间页面表及页面表需要被复制?过程如下:

这里用到的区间信息就是虚拟块的起始和结束地址(都是虚拟地址),将起始地址取出,回想存储管理中关于映射的机制,知道根据这个地址就可以知道要从哪个页面目录项开始复制,从目录项所指的哪个中间目录表开始复制,从中间目录项所指的哪个页面表开始复制

<3>.对于页面表项所对应的页面物理空间是否要复制,则取决于页面表项当前的限制。简而言之就是不复制;再具体点就是既不复制也不共享,虽不复制但共享;对于共享的再进一步就是以后也不用复制,以后物理空间被改写时再复制J

参《LXP299

 

:对于父进程创建子进程后执行不同程序片断的理解,代码可见《LXP278 .由于子进程继承的是父进程的用户空间(这里不考虑内核线程那种没有用户空间的情况),因此用户堆栈也是相同的,而用户堆栈中的信息也就指导程序在fork()后该执行哪个语句,如果到这里解释就结束,那么还不能说明父进程和子进程怎么知道该执行哪个分支。因此必然有独立的数据结构记录了足以判断的信息,这个数据结构就是进程的系统堆栈,因为父子进程的系统堆栈是不会共享的,而系统堆栈中记录了fork()后的返回值,这在父进程是子进程的id号,在子进程中则被篡改为0.而当进程要从系统返回用户态时,将该返回值压入进程的用户栈顶。进程在用户态执行时就从该栈顶得到了fork的返回值。因此无论父进程还是子进程当它们执行fork()之后的判断语句时,不必知道自身是父亲还是孩子,只要根据返回值判断该如何执行就可以了 。那么这里有一个问题,父子进程共享用户物理空间,那么用户栈中的返回值只能是唯一的,怎么会有两个呢?

 

:fork时子进程复制的父进程的用户空间资源包括代表用户物理空间的所有数据结构,即mm_structvma_area_struct和页面目录,页面表。而通过设置页面表中的页面项来达到既可以共享父进程的物理页面,又可以在子进程要改变该物理页面时,为子进程申请新的物理页面。当子进程要从系统态返回用户态时,发现和父进程共享了存储fork返回值的物理页面,于是就申请一个新的物理页面,这样之前的问题就解决了。

 

:对于vfork()情况又不同了,子进程连mm_struct都共享了,更别提vma_are_struct和页面目录,页面表了。这个时候就无法实现copy on write机制了,那么就只能禁止父进程继续运行,而等待子进程说ok的时候,才能继续运行;同时要求子进程不能从vfork返回,即不能更改父进程的用户堆栈中存储vfork返回值的地方,但又从哪里返回呢?待定

 

 

:对于vma_area_struct所对应的页面结构和物理空间的复制是否只是用户空间的复制,而不包含系统空间的复制?答:应该是的,可参LXP304 . 这里有个问题:所谓的系统空间除了被进程的task_struct和系统堆栈占用,以及面向所有进程的堆占用,还有什么?

 

5.子进程真正意义上的独立

子进程在被创建后,即资源复制完成,并被挂入可执行队列后,就已经算是一个人了J,不过他和父亲的思想(代码)太相似了,以致于在思想上他还不是一个独立的人。为了让他有自己的思想(代码)并按照自己的思想行事,因此要让这个子进程执行新的代码,这由execve()来完成;从技术上而言,在执行execve()之前创建的进程是线程,在执行execve()后才变为了进程。

第一步是把要执行的文件名称,存储在用户空间中用于执行该文件的输入参数和环境参数,文件首部的128字节复制到系统空间中,而系统空间中用于存储这些信息的空间都是动态申请的。从这里可以看到系统空间充当了一个堆,当进程需要空间时,就向它申请,用完再向它归还

第二步是执行该文件,根据文件首的128字节的信息即文件格式信息到系统的文件格式处理队列中去查询,哪个文件格式处理节点可以处理该文件。参《LXP311

 

6.进程的调度及切换

进程的调度驱动来自几种渠道:

一种是时间片到时,于是在时钟中断中,将当前执行在用户态的进程停下来,执行其他程序。但是当进程执行在系统态时,即使时间片到,也只能在进程从系统空间返回用户空间前夕发生进程调度,也就是不能在时钟中断中强行调度进程;

一种是当前执行的进程自愿让出(如进程在结束生命时调用do_exit()中的最后一件事就是进行进程调度;或者进程阻塞等待资源时主动进行进程调度)cpu让别的进程执行;   

 

调度发生的时机:

无论调度驱动的原因是什么,调度发生时的时机只有一种,就是从系统空间返回用户空间的前夕可能发生调度。强调一下,调度只能发生在系统态,不可能是用户态。

接下来我们把这调度时机和调度驱动的原因关联起来,这里将时钟中断和其他中断作了区分

调度背景

调度驱动的原因

调度方式

预备操作

调度时机

执行系统调用

因等待资源进入睡眠

主动

 

系统调用在当前进程的task_struct中设置需要调度的标志

从当前系统调用返回用户空间前夕,发现需要调度的标志,于是执行调度

进程在用户空间运行时,发生了非时钟中断的中断或异常,从而进入系统空间执行中断或异常服务程序

在执行中断服务过程或异常处理过程中,服务程序逻辑上需要调度

主动

中断或异常服务程序在当前进程的task_struct中设置需要调度的标志

已经退出中断或异常服务程序,在从系统空间返回用户空间前夕发现需要调度的标志,于是执行调度

进程在用户空间运行时,发生了非时钟中断的中断或异常,从而进入系统空间执行中断或异常服务程序

当前进程的时间片到时

被动

时钟中断服务程序在当前进程的task_struct中设置需要调度的标志

已经退出中断或异常服务程序,在从系统空间返回用户空间前夕发现需要调度的标志,于是执行调度

进程在用户空间运行,发生了时钟中断,从而进入系统空间执行时钟中断服务程序

当前进程的时间片到时

被动

时钟中断服务程序在当前进程的task_struct中设置需要调度的标志

已经退出时钟中断服务程序,在从系统空间返回用户空间前夕发现需要调度的标志,于是执行调度

 

 

 

 

 

 

 

四.文件系统

文件系统本身是挺复杂的,还没整理出来,下面仅仅是进程通信的一点摘要

 

1.进程间通信机制

管道,命名管道,共享内存

三者都基于文件系统,但是管道还使用了系统的锁机制以及系统内部对于进程的同步机制,而共享内存则没有这些机制,因此效率要高一些,但是却必须结合信号量来同步通信;

 

信号

与文件系统无关,所有进程间通信机制中唯其异步;等待中的进程不会主动检测是否有信号,而是在当前进程发生系统调用,中断/异常发生后,从系统空间返回用户空间前夕,检测是否有信号待处理;或者进程在睡眠中被唤醒后,检测是否有信号。

在对信号的处理时,系统和用户空间的切换参《LXP747—755

 

报文队列

独立于文件系统的框架,克服了管道的流式数据带来的无格式,不可控制如数据优先级问题

 

Ptrace是为debug特用的,是调试者跟踪被调试者,因此本质上是单向通信,不属于进程间通信,其也独立于文件系统框架

 

January 03

linux内核情景分析之清明上河图

Linux情景分析--理解不对的地方请指正(图初稿完成还待修正)
一.内存管理

1.在理解存储管理时,首先明确的一点就是要划分一个界限,用于隔离不相关的概念,以免将对存储管理的理解和内核中其它部分的理解纠缠在一起。

基于这个考虑,存储管理可以被认为介于硬件存储支持和进程管理之间,也就是说在阐述存储管理的时候,不会涉及硬件的支持问题,也不会涉及进程管理的问题,这些问题会在相关章节讲完之后,做一个综合性的阐述。不过框架性的描述这里就要给出,即当有内存需求时,由内存管理提供统一的接口负责提供内存,需求者不必考虑内存当前的情况,如在内存,还是在swap中;当内存管理要把内存中的某些页面写入swap时,只是利用封装了硬件支持的统一接口来实现,它本身不会关心这些页面如何被swap出去

 

2.按照1G的物理内存来说,我们常常发现内存并没有1G那么大,这是因为至少这个空间中有一部分被用于存储管理内存空间的内存表,这个表可以是段表或者页表,不过目前的PC应该都是页式管理方式,因此这里主要考虑页表。说到页表,并不是一个表,而是一组,表,这些表会按照某种形式组织,并且根据实际情况会在数量上有所变化。这里的实际情况就是说对内存的需求情况,更具体点就是多少进程分别需要多少内存等等。

 

3.接下来我们说明一下页式管理会胜过段式管理,因为段式管理对内存管理的方法太呆板。最好的实例就是看intel x86系列中内存管理的演变,而从实现的角度,Intel的页式管理现是基于它的段式管理方案的。这里之所以用intel的内存管理方案的演变来阐述,看中的是它的主流效应,而不是说页式和段式管理实现方案就只能是它那样的。

       首先从非常规定义的角度来说明数据总线和地址总线的区别,数据总线一般来说可以认为就是CPUALU宽度(也有例外,这里不作纠缠),而ALU反应的就是CPU的计算能力;地址总线则反应的是内存空间的大小。从工程和市场需求的发展来看内存管理的实现:早期PC内存空间是64K,而CPU16(不考虑8CPU),这样简单的考虑一个内存管理实现方案就是实地址模式,即16位的CPU完全可以直接定位64k空间。

       但是后来由于市场变化,人们认为内存空间要1M才比较合适,但是这个时候CPU仍然是16位的ALU。因此由这个需求和CPU的计算水准决定了要采用某种变通但是复杂一些的方式,那就是准段式管理方式,即用416位的段式寄存器来辅助定位,之所以说是还不是段式管理方式,是因为这种实现没有地址保护机制。后来又添加上了地址保护机制才形成了所谓的段式管理。这里不对段式管理的定义作解释了,需要的话google一下J. 这里补充一下,段式管理是地质保护机制实现的基础之一,但不是全部,地址保护还要借助于系统态和用户态分离,特权指令。

       到目前,还没切入正题,为什么要向页式管理演变,为什么段式管理不好?参考《Linux情景分析》(以后缩写为LS Linux scenes)P12。而我认为本质的原因是段式管理模块化程度不好,从而组织化不好。可以想象系统中有AB 2个进程依次向系统要求内存,在为进程A分配内存时,段式管理按照其要求分配了一个段给它,这个段大小可以刚刚满足要求,也可以过大,刚刚满足大小显然不合理,因为从程序执行角度上不符合最近使用过的会很快再被用到的原则,这个原则也是可以实现虚拟内存的基础之一(这里不作过多解释),也就是过小意味着切换要频繁,因为这总不如当前一段时间内需要的数据都在内存中,而且不用再切换段寄存器内容来得方便;但是段过大的缺点也明显,因为可能浪费,那么当其他进程比如B要求内存空间时,虽然进程A始终有一块空间用不到,但是B也用不了。这些情况都源于没有对内存作比较合适的模块化划分,最好找到一种划分策略使得,进程最近使用过,并且要使用的数据就在当前的内存块中,或者在SWAP中,并且就算本进程浪费一些内存空间,也不会让人觉得暴殄天物J。于是根据工程经验,人们找到了这个内存块的划分尺度就是4k大小。Ok,页面管理方式开始浮出水面,但还要稍稍补充的就是如果整个内存空间太大,那么对这些内存块的管理的表项也必然线性增长,因此为了使得这些表项的个数收敛,于是就再对这些表项也作了一个管理,也就是所谓的页面表目录,之所以这样可行,是因为一个时间段内,无论是一个进程还是多个进程,它们对内存空间的要求远小于它们在整个生命周期对内存的需求量。也就是说页面表目录名义上是对整个内存的管理,实际上是蒙人的,就好像是金蝉脱壳,它只是一个壳子,页面表也许根本就没产生。当然这样空间上占了便宜,时间上就要吃亏了,这是后话。具体页面管理方式的定义可以参考《LSP12-15  

       小结一下内存管理的演变:首先这里描述的是Intel的产品的实现方案,因此除了技术,还要从市场的角度即向前兼容来看待它的内存管理方式的演变,也就是说页式管理和段式管理在实现上并不是必然相关的;其次页式管理和段式管理都支持保护模式,也都支持虚存管理,因此页式管理相对于段式是改良,而不像段式管理相对于实地址方式那样的改革。

 

 

4.虚拟空间和内存空间

虚拟空间是对于进程而言的空间,内存空间就是真正的物理内存。两者之间存在某种机制来建立虚拟空间和内存空间的映射,但对于进程来说它不关心;系统中内存空间并不就是我们看到内存条的容量,因为必然要有一些结构去管理内存空间,就好像本来大家都是平民(内存),但是有一些要扮演管理者的角色,因此它们就从这些平民分离出去了,剩下的内存空间才是我们系统中常常提到的内存空间,它们是在段式管理下按段划分,在页式管理下被按照页划分。而虚拟空间就是要和这剩下的内存空间发生映射关系的一种数字上的空间概念而已。

 

二.中断调用

1.中断类型

通常所谓的中断是指CPU外部中断:cpu外部产生,具有很强的随机性

陷阱(trap):即CPU内部中断,由专设的软件指令如X86INT指令产生,是有意为之

 

2.与中断相关的概念

异常(exception):类似于中断的一种机制,待讲明与中断的区别

系统调用:提供给用户程序的接口,一般通过专设的软件指令来实现

 

 

December 14

为技术立意

技术是什么,应该怎样来学技术,从18世纪以来,技术逐渐风行以致现在颇有独步天下之感.主席说我们要工业化,小平和耀邦说科技是第一生产力,于是罢黜社会,文史,思想,独尊理工,全国云集而动,从此唯技术是从.然而不懂技术之道,数十年来,不过为技术培养千百万技术之奴隶.
技术,其实不过是一种方式,一种对待世界的方式,一种对待生命的方式,然而决不是唯一的方式,更不是每个人捧为圭杲的东西.技术是一种思想,而不是一堆术语,也不是条条框框,在他的世界里,我们要做的只应该是研究它,创造它,改变它,而不是顺从它
科学技术是在人生态度前提下了解世界的一种方式,当然它也可能促进人生态度的转变,但是归根到底它仍然是一种方式,而不应当成为某种态度。总听到有人说我们要有科学的态度去如何如何,其实有时想想他和西方中世纪经院学者教导应该按照教义如何如何有多大的区别呢。区别当然是有的,然而科学技术能包容一切吗,虽然现在科技研究的接触的,似乎要证明的就是一切都是物质的,一切都是物质的因果,我也不排除有一天科学发生的跃变会脱离物质而提供一种研究非物质的方式。然而我仍然认为科技是一种探索世界的方式,我们拒绝静坐冥想,然而却不应让科技成为生活的独裁
笛卡尔创造了解析几何,也写出了《第一哲学沉思录》;牛顿发现了三大定律,转而研究起宗教;罗素是剑桥的数学教授却试图用数学来构造自己的哲学;爱因斯坦在他的文集里表达也不仅仅是科技而已,还有他的世界观思想。提到他们不是为了要用权威来压迫或支持什么,而是给希望我们一种触动,因为人是多样性的,是理智的也是感情的,最终是感情的,而科技固然可以代表理性,但用来描述人类的生活,甚至统一人类的生活又怎么可能,而人作为群体,又涉及到人的组织,这些又怎么能单靠科技来解决呢,既然技术不是在任何方面唯一的,那么它的权威性必然要理性的承认,当然不是推翻,毕竟科技的发展实际是实验主义的发展,而实验主义又是经过了对诸多认识的批判发展起来的,如对神秘主义,经验主义的批判。
技术展现了人们理性思想的一个方面,使人们更富于理性思想的交流;技术也在改变世界,然而改变的目的最终不是为了技术。因此技术之道并不在技术本身,我想,所谓道在道外之意吧
 
November 27

生命在于战斗

好困啊,不过还是要写点东西
现在是2005年凌晨4点20分,我一边打着哈气,一边在考虑要怎么才能把我的一点点东西写出来呢
很多人包括我,反正是有自我意识的人都难免有时陷入特别的迷惘,就是总要问我是谁,我从哪里来之类的东东?猫呀狗呀,那些家伙是不会有这烦恼地,虽然不可否认,我看见过一只狗特别有老子的神韵,两眼特别淡然;还有以前合租的女孩养的猫,没事的时候总是蹲在我屋里的窗台上静静的注释窗外的夜色,反正总是显得很有思想的样子;不过我知道他们肯定不知道到自己是自己,不要说我不是猫和狗,我没有资格说这话,我懒得辩解了,类似的问题,老庄和惠施两千年前就PK过一回...咦,跑题了,不过,挺好,写东西就要这样,让意识任意流淌,不是有句话叫  从流漂荡 任意东西 吗,要写就要追求这个境界
不过还是要转回来的,否则就算没人拍我版砖,明天的我也会向现在的我表示一贯的鄙视
人,其实不需要证明什么前生后世什么的,需要吗,不需要吗,需不需要反正证明不了,反正这辈子证明不了,就像这辈子你上不了火星一样,奥,这个比喻不恰当,应该说就跟你不知道宇宙的外面是什么,宇宙之前的之前是什么一样。所以呢,不要考虑了,人,基本上来说是要靠现实的触觉来摆脱胡思乱想的,虽然有很多牛人说这感觉也是虚的,很久很久以前,让我查查书,有个家伙叫克拉提罗斯,这个比柏拉图还早的疯牛人认为感官是根本接触不到外部世界地,也就根本没法认识世界,因此就用不着说什么话,因此就只跟别人摇手指头。嗯,这老小子病得不轻,虽然这么想想是可以的,不过很多事还要想开点,想不通就不想了,如果上帝要骗我们,我们就上当呗,只不过上当前要自己考虑一下就是了,如果说人类一思考,上帝就发笑,那也就由他笑去好了,那又怎么样,如果说感觉都是假的,那就按照假的认为不就可以了吗。说了这么多,其实我知道我什么也没说明白,也为本来就不明白,只是想说不明白就不明白,何必一定非要明白,是不是这个理,不要把生命绊倒在自己脚下,对不!
因此这个认可了,那么可以考虑低档次一点的问题了,就是要做什么,虽然说需要什么就做什么最好了,不过人基本上是胆怯的动物,这并不是都做得来的,其实做什么不重要,重要的是知道我还在,当然一般人是不需要知道这一点的,因为他们天生现实感就特别强,根本没时间考虑这些“闲人闲想”,对于闲人就不同了,闲人基本上是胆怯而且“脆弱”地,因此总容易滑入人我分离的境界,所以要他们知道自己的存在就是不断给他外力,只有物质的力和心里的其他力联盟才可能击退心里的那种虚无之力,因此人的一生就是斗争的,现实的人早已开始斗争,幻想的人不斗争就会自己把自己绊倒,还是主席老人家说得好:与天斗,与地斗,与人斗,其乐无穷。那些下里巴人总是考虑其权术的一面,其实这斗争就是要证明自己的存在,就算这斗争是上帝的愚弄,不过管他呢,只有这斗争才能给你真实的快乐
强调一下,写这东东一位表现欲,一为闲人们唠嗑,没别的目的,有辱尊目,包涵包涵:D
November 13

黑暗天赋

黑暗走来
轻拂去眼中尘埃
 
那些情感
仿如听到窗外夜雨
在梧桐的身上打落
于是陷入不寐的迷思
 
 
 
October 28

胡弄里的三个火枪手:D

在江南水乡--乌镇 曾拍过《桔子红了》的一家老屋前的胡弄,三个老男生,一时之作,常觉莞尔不过看时,又别多他味,也许是光线,也许是年龄,也许是曾经,也许不再曾经
May 05

流云思野

无聊甚或于此时?

怅然若失似万般寂灭

窗外蓝天勾起无限回忆

童年时光仿若再现

身居阁楼一隅,呼吸城市的烦嚣

一场夜雨清洗多少浮躁

然而心终是虚浮缥缈在理想层巅

人生也许就此埋葬,不明白一生终有何意

太阳向西沉去,明朝又将东升

谁能了解此时心情

惟有就此沉默

在这夕阳沉没之前

April 13

一意孤行

越来越觉得自己像是一张小额人民币
单薄而又满是利货的味道
然而就是这样简单的生活也无法躲避孤寂
反而由此更增生命竟如此之轻的痛楚

弹指一挥的二十七年里
没吻过女孩子,也没有牵过同龄女孩子的手
恋爱也只谈过一次,如果暗恋和单恋各算半次

懵懂的如歌岁月,应付考试和睡觉以为就是生活的全部
从没有想过未来会怎样,只是感觉未来是将来的来

有时,我想将就一下吧,爱情就像中彩票,我什么时候中过呢?
有时,我想将就一下吧,忧怀天下是伟人的事,让平凡的头脑歇着吧!

然而我又愿意执着下去,因为
我依然对爱情满怀期望,即使孤独百年;
我依然知道自己是肉食动物,即使骨廋嶙峋;
我依然杞人忧天,即使营苟之际;
我依然幻想怒飞之日,翼若垂天之云,即使年少已逝;

让选择这种生活方式的我们共勉
--我宁愿在懦弱中透着坚强,不愿在坚强的后面躲着懦弱