这些天的主题词
mips, ipsec, linux kernel, linux driver 半高负荷中。。
mips, ipsec, linux kernel, linux driver 半高负荷中。。
feature一大把: NILFS2 NTT Labs捐赠的log-structured文件系统,类似couchdb的做法,把磁盘看作连续的block list,将操作附加在最后,不改写已写入的块。于是有了天生的崩溃回复能力,天生的snapshot能力,天生的高改写性能。 POHMELFS 为并行优化的文件系统,可以平衡多节点读取,writeback、cache、metadata机制大大加速多节点同时写入,据说在每个方面都比nfs强。 RDS oracle捐赠的Reliable Datagram Socket,针对cluster应用。以前写过一个类似的协议栈,所以关注这个更多。 fastboot intel捐的,主要是让开机时的存储设备扫描异步进行,启动速度能提升很多。 Integrity Management Architecture IBM捐赠,保护关键数据,可以和TPM集成。 还有不少,诸如802.11,新的系统调用,原有文件系统的提升,nfs4.1,新的安全子系统…… 硬件相关的改动也不少,显眼的是arm架构下的加强有长长的一串,VOB/V4L、网络部分和MTD的进展也相当多,可以窥见需求和发展的重心。 总之是重要的版本,可以大大巩固linux在集群和嵌入式的地位。
只花了几天,没有深入看。 模式匹配是聪明的设计,避免了庞杂丑陋的概念群。 尾递归也处理的不错。总之整个语言的设计既有高度又很实在。 最关心的部分当然是并发能力,以及同其他语言的揉合。 目前看来,和我有关的应用是作为一个可靠分布式的消息系统,其他的潜力待挖掘。
目前的方案设计又到了岔道口,其一是stm32+uc/os,其二是sam9261+linux,裸跑不再考虑了。已经确定的部件和接口是can总线,这个在stm32上已经没问题了,但是9261上的linux driver能否顺利工作还是未知,而且linux启动比起uc/os慢了不少。但是考虑到将来可能需要接入已有系统,尤其是ethernet接入,9261和linux可能会是更好的选择。两者的成本差意外的并不大,毕竟无论如何不能带着双层板去交货。 另一个问题是人机界面,demo设备用的是1602液晶。。。。这次初步打算使用带触摸的240×320 TFT,good luck.
可以暂时抛开副业,昨天今天搞了下sam9261的板子。 先是移植了最新的内核,话说15到27的变动真是不少,api change有8、9页。。。不过代码结构清晰了些。 接着是做rootfs,oe有了不少更新,正好重新编译,顺便把目录结构弄得合理些。 qt-embedded 4.4的移植很顺利,gui在lcd上运行良好。只是尝试移植qtopia 4.3的时候不太走运,程序大致可以正常运行,但是lcd花屏,似乎是qtopia用了极低的色彩深度,原因未知。。。
下一步是做差分干涉的分析。
大致试了一下cuda,效果不错,当然是针对特定应用。cuda的硬件架构还是显得不够灵活,不过同现在的CPU有不错的互补性。 cuda最大的启发恐怕不是技术上的,而是这种以消费市场来启动专用计算的路子很是特别,不管是不是nv主动进行的策略。 过去总是抱怨消费市场“弄脏”了技术领域,或是消费市场把技术引入歧途,今后可能会有所变化吧。
从mtn换成git,早干什么去了。。
如果打算跨平台开发的话,始终使用gcc是首选对策。。。 我对vc不熟悉,不过似乎很多情况下用vc9编译的东西放在干净的机器上没法运行,把vc9的运行时放过去也不行,只能安装.net 3.5或者用非express的vc版本打包。。。这是无法接受的。。 前些天程序不正常的原因就是win32 下的 openssl 库用了vc9编译,而主程序和主要的库是mingw编译的,所以程序能运行,而Qt network库去load openssl库时openssl就会无法正常加载symbol,此时qt的network库并不报错,而是默默的把https请求变成http请求发出去。。。。。如果不是听了一下包我怎么也不会相信的。。 花了一个下午用mingw重新编译了openssl库,(虚拟机里编译!!!)编译出来的dll竟然和vc编译出来的不同名。。。。改了一下名字后qt network库终于可以使用ssl通信了。。。 qt库不用重新编译,把各种模块,plugin和外部库分开其实更方便发布和更新。。。 今天swap终于开始工作了。。4G的内存也不能再泰然下去了,一个eclipse,一个firefox,一个编译用的winxp,一个clean的测试winxp,一个测试用的fedora9,还有永远不舍得关的mldonkey。。。
大致在msdn浏览了一下相关的问题,结果却在adobe的开发页面上找到资料。 总之是vs8之后的manifest啥啥,一会装个clean的虚拟机试试。。 另外做了keep-alive部分,昨天挂了6小时没掉线。 去除了裸C++的md5库,改用Qt自己的crypt类。