CP流痕分享 http://blog.sciencenet.cn/u/lkrocksthone 关于产品那些事。--- 在来到世界之前,世界已经存在;在离开世界之后,世界依然延续。

博文

小剧场的那些事(8)

已有 2305 次阅读 2017-1-12 11:00 |个人分类:产品历程|系统分类:科研笔记|关键词:学者| 操作系统, MEDS, 动力展开

       2016年的一段总结,我也发到了微信朋友圈,想不到引来一帮技术朋友的小讨论,但大部分朋友还是表示完全看不懂。当然,关于MEDS和Halim更多思考的表述正在连载,不少技术朋友一脸懵圈也合情合理。但习惯性的技术思维都是执着于对专业词汇解析的理解,这似乎是要赌上尊严的事情,如果突然出现某个听不懂的专业词汇就会有点不适或慌张。于是就可以理解大部分技术博客也是一个思路,那就是技术备忘录。但这些备忘录对于科技的发展或者产品的发展产生多大的作用呢,我也不好说,毕竟很多技术细节我也受惠不少,但随着学习和思考的增多,我不再崇尚这种备忘录了。如果说我们要谈产品,那我们必须要绕道到事件的背后,回到故事的现场,可能就会发现,原来很多东西并不是理所当然的存在,同时这些存在也并非一成不变。小剧场不在于推广MEDS或Halim是如何的一个新技术或能创造怎样的效益,这些只是一个小剧场,机缘巧合下的一个随机存在,它的确带来了一些东西,但可能更多的是触发了更多的思考。


       2017年开篇小剧场想来谈谈关于对计算机操作系统的理解。乍眼一看这似乎是一个比较庞大复杂的话题,一两篇博客文章来讨论操作系统没啥意义。事实上也的确是那样,要知道操作系统这门课应该是很多朋友在大学阶段最云里雾里的学科之一了,堪比数学界的矩阵论。说它不重要,大家又说它无处不在,说它具体存在,但好像又无影无踪。当然,这里不是讨论操作系统的技术实现,只是表达关于对操作系统的理解。为什么要讨论这个呢?因为后面的几篇文章我想开始聊一聊关于MEDS的一些内容。关于MEDS的故事介绍,其实是有其他方向的。实际的发展过程中,最初的思考是来源于本人对生物学的理解。因为本人一直科幻的一个认知就是,宇宙本身即程序。但MEDS后面的实现包括Gasloop和Coatismsys等实现的指导思想和操作系统概念更密切相关,如同范例般的存在。所以,在这里要从操作系统的理解开始。想要强调的观点就是,或许我们看到的一切并不是那么理所当然的存在,如同数学或者物理学的发展过程一样,抽象的过程给我们构建了发展的空间,并且加速了技术的发展。


       操作系统具有两种功能:为用户程序提供抽象和管理计算机的资源。Tanenbaum在操作系统书中强调操作系统的的三个重要抽象,进程、地址空间和文件系统。几乎操作系统的全部内容都是在讨论如何实现这三个抽象和在此之上构建新世界。就像在一个空间中采用抽象手段构建一个新的空间,然后在新空间中创建新的世界。抽象的过程本身就为用户提供了构建新世界的句柄,同时也实现资源的管理。在这个三个抽象概念中,进程是最为神奇或者说伟大的创造。进程让计算机的一切成为了可能。怎么理解这点呢?我在这里提出一个新的概念,那就是动力展开。操作系统进程抽象的过程本质就是动力展开的过程。


       一个不断循环的动力(While(true){ }),问题在于如何将其展开,从而创造出一个纷繁复杂的世界。如何展开?怎么思考和解决这个问题,就意味着可以创造和生长出不同的世界。动力是原点,我们需要为其添加维度,从而创造世界。一旦世界被构建,那么对于创造出的纷繁复杂的世界,如何进行高效的组织和管理就是新层次的问题了。我们要实现可控性的耦合及拓展,让延展出来的动力,如流水般被引导,生长出预先设计及期望的结果。那么实际的展开是如何的?有一种和我们息息相关的展开方法,创造了对我们影响深远的现代世界。其大意为,在物理世界中创建的原始动力,从时间上看,我们可以将其看作是一个周期的时间存在。在现有的操作系统中,采用的是一种时间切片理念,可以将一个循环的时间切为极小的时间片段,然后再将其分配给不同的任务使用,实现展开。神奇的地方就是,一个动力,通过切片,瞬间就变成了多个动力,而多个动力又可以进一步切分,从而可以实现理论上的无限展开。每个动力本身都以为自己是唯一的存在,它看不到和原始动力(母体)的区别。延展出来的动力的并不知道自己具体要做什么事情(任务),但有一点确定的就是,这些动力在新的世界中具有和母体同样的能力属性与特性。我们一不小心就从物理世界中跳出来,在新世界中随意玩弄着和物理世界中一样真实的事情。但是,这种展开方法,在每一次展开之后,都会带来一个负面的结果,就是动力的损耗。怎么理解?其实动力就是时间,就是周期。每一次切分之后,动力变弱,表现为单位时间内能做的工作变少了。也就是说,虽然动力被展开了,能创造更多的分支,但是,分支的动力变弱了。


       为了保证展开的复杂世界,动力依然能够维持,一个方法就是,增强原始动力,即加快循环的时间。对于同样复杂度的世界,为了保证这个世界理想运行,那就需要增强原始动力,原始动力越足,其表现就越理想。另外一个方法就是,实现动态切片。动态创建分支,动态消除分支,从而保证动力的最高效利用。从这个角度,我们就可以很好理解近五十年来,计算机发展的主线了。不管好坏,这样创造世界的方法,应该不止一个。于是,换一个角度,或许我们可以找到另外的一种展开方法,那就是MEDS。

       时间切片的动力展开方式,构建了一个多自由度的世界。在我们构建动力展开之前并不需要知道我们拥有的动力具体要执行哪些任务,因为这些动力被表述为可被调用的资源列表,到底这些动力能做什么事情,需要用来做什么事情,这些完全交给了新世界的建筑师(广义上的程序员)去处理。这是一个非常伟大的创造,并且我们也习惯这样的一种自由和夯实的存在。但是某些细分场合下,总会存在另外一种情况,那就是,我们并不总是想先把资源准备好,然后分析任务看怎么使用这些资源,而是我们先有了任务,通过某一个方式将一个动力进行某种展开,从而重新构建我们需要的资源。这样看似构建的世界没有积木般的自由存在,但是也可以构建一个任务之上的新世界,只是我们需要换个角度而已,新世界的描述系统从正交的资源变换为正交的任务(暂且使用这种表述)。那么MEDS是什么呢?MEDS的图景是一种基于生命演化般的展开方式。MEDS试图构建一个全新的抽象,不再将任务分切为进程的组合,而是将任务本身当作事件演化的结果。那么动力不再采用进程的抽象展开,而采用状态与行为在激励交互过程中的演化进行展开。


       把一个简单心脏的循环动力,无限展开为一个基于生命演化般的生命体而并非时间切片,创建激励交互机制与状态和行为的耦合体,而这个时候,程序员就是上帝,创建MEDS生命体,MEDS生命体的自发行为,就实现了我们的最初目的,甚至,超越我们的期望。 MEDS是一个开放性和交互性的描述系统,它不仅仅用来组织内部固定的状态,还可以把状态与行为在一个开放性的交互模式中进行灵活的组织。所以,不仅仅是状态,还把行为概念也包含进去。MEDS展开方式从理论上保持了每个行为的动力,高效利用原始动力,并且其交互式特性可以实现分布式动力融合,实现多动力并行合作模式。我时常给朋友打的比喻就是,你从背后拍我一下,我的反应应该如何呢?那得看我的状态,这状态非常复杂,拥有空间和时间维度的耦合,但肯定的是,我接下来的行为一定是状态加激励的结果。暂且聊到这。

(未完待续)







https://m.sciencenet.cn/blog-825628-1027073.html

上一篇:2016年的一段总结

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-17 09:16

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部