自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

马厩

OS kernel && CG

  • 博客(36)
  • 资源 (2)
  • 收藏
  • 关注

原创 以太坊设计与源代码之美 阅读入口

一年前开设了以太坊深入浅出的课程之后, 很多用户都希望更近一步了解以太坊的核心设计细节和代码架构流程。所以我写了一些笔记和草稿(已经签约出版社,今年会集结成书)。 希望有兴趣的同学可以一起学习分析。以太坊原理及代码分析 目录(草稿)Linux 下 Go Ethereum开发调试环境的搭建Mac 下 Geth 开发调试环境的搭建初始化阶段4.1 Node/Service源码分析(一)...

2019-03-04 01:23:24 413 5

原创 Go Ethereum P2P : 实现[2] RLPX EIP-8 详解

Ethereum 网络协议栈、上一节, 我们分析了基本的Ethereum 网络通信的控制流程。 这一节, 我们将更为细致深入的分析一些细节如上图所示, 在底层的golang的网络通信类库Tcp socket接口与 上层的核心协议之间, 存在一个中间层被称之为transport, 这一层的主要工作就是对于上层消息的编解码/加解密从而使得通信高效而安全。在thereum 中 这一层的实现是通...

2018-12-09 03:46:28 353

原创 Go Ethereum P2P : 实现[1]

简介P2P 部分的代码实现。P2P 在 Go-ethererum 项目中是非常重要的一个组件。 所有的重要的服务都构建在其上(eth/whisper/swarm)。P2P 主要负责本地节点与其它节点的所有通信功能, 包括:发现其它的Ethereum 节点。 管理/接收其它节点发起的连接。 主动向其它的ethereum 节点发起连接。 接收上层协议的请求或者转发接收数据给上层协议...

2018-12-09 03:42:48 549

原创 Go Ethereum P2P: Kademlia 简介(2)

节点状态- K桶数据结构Kademlia 的设计中, 在每一个单一的节点都用一个数据结构来存储这个节点所了解的系统中其它节点的信息(view)。 也就是这个单一节点对于整个系统的一个视图。 当然这个视图是非常有限的, 因为单一的节点不可能也不需要存储全系统的节点信息。Kademlia使用了一种 命名为K桶的数据结构来存储这个视图。首先因为node ID 长度为160 bit 所以 Ka...

2018-11-13 04:39:47 348

原创 Go ethereum P2P : Kademlia (1)

为什么要引入P2P寻址协议P2P 系统不存在一个中心的服务器来提供寻址, 而且系统中的节点在线状态是非常动态的,随时都会有新节点加入,或者有存在的节点退出。 这些特点给寻址协议带来了很大的挑战。 一个成功的设计需要满足以下要求 1. 节点的地址不能有冲突 2. 尽可能的高效的寻址 3. 如何保持网络拓扑的一致性 4. 如何的处理节点状态的变化(新加入与退出)历史上已经存在Chord、CAN...

2018-11-13 04:38:33 377 1

原创 node-service代码分析1

Go ethereum Node框架分析1node/service代码概述动态分析启动过程中node/service的关键事件node/service代码概述通过分析代码,我们知道geth程序的执行过程本质上就是一个node的生存周期。具体来讲,我们会涉及node及4个程序预置的service:ethshhethstatsdashboard对于node,主要会有config/n...

2018-11-10 06:33:17 554

原创 Mac下Go ethereum 开发调试环境的搭建

Table of ContentsGO开发调试环境的搭建安装Homebrew安装go安装vim安装LideIDE安装delve安装gdlvGeth源码获取及编译调试获取编译 Mac OS X的内核Darwin和Linux一样,都是类Unix系统,所以Mac和Linux的开发工具很多是通用的,可参考前一篇《Linux 下 Geth 开发调试环境的搭建》...

2018-11-10 06:12:00 1551

原创 Linux 下 Go Ethereum 开发调试环境的搭建

Table of Contents 操作系统选择相关工具安装配置开发环境插件的安装vim-go操作系统选择因为我们是在搭建golang的开发环境, 所以推荐大家使用ubuntu 18.04 LTS.主要是因为18.04 已经集成了比较新的golang 1.10 而不用再去引用第三方的ppa repo。这样可以省去一些麻烦。因为我们后面的debug使用基于GUI的...

2018-11-10 05:58:09 642

原创 多年过去 bullet3 基本用opencl 重写了

相关算法的进化到不多, 全部转向opencl 确实需要很长时间。 目前还不完善啊

2016-02-13 01:37:45 2105 1

原创 csdn 现在到处充斥着n天搞定派的文章, 氛围如此的浮躁

很少有人去look fucking code。

2012-06-05 19:10:49 3002 2

原创 896M 的谜思

看到很多 人在讨论  linux 内核 直接映射内存上限为什么是896M, 发现很多人都没有抓到要害,讨论之前澄清几个概念userspace, 和 kernel space  空间划分 缺省是   userspace  0-3G,  kernel space 3-4Gcp

2011-08-26 18:41:35 3207

原创 Ball in Socket( point2point) 约束jacobian 推导

在 【1】《Stable, Robust, and VersatileMultibody Dynamics Animation》 对于可积约束的一般推导中已经有了一个一般性的定理,但在应用到具体的约束比如 ball in socket的 jacobian 推导中作者略去了其具体过程, 这样对于jacobian到底是怎么产生的,以及具体的组成不甚清晰所以我做了具体的推导,以便更好的理解bullet在

2011-07-02 22:05:00 2633 2

原创 GamePhysics 2ed 电子版发布!!!

等会放链接 www.opengpu.org  物理版面,已经传好!

2011-06-19 20:47:00 2465 1

原创 Bullet物理引擎分析-约束分析之背景介绍

(工作较忙, 趁着圣诞节假期,希望能完成约束分析这部分)物理引擎中最重要的两大环节一个是碰撞检测,其次就是约束分析,约束分析用到了大量的刚体力学中的基础知识,以及PGS这样的数值计算算法,约束构成主要是根据shape来计算两个连接对象的jacobian矩阵,配合转动惯量,来更新相互连接的对象的位置、速度,   来模拟连接对象受力的效果。约束包含基本的6种,可以衍生出更多,每一种都有各自的jacobian矩阵,这块可以参考文献《Stable, Robust, and Versatile Multibody

2010-12-30 22:04:00 5409 2

原创 centos 5.5 ant jdk 1.7.0 配置

<br /> <br />从yum 源 直接下了ant, 发现有问题<br /> <br />Could not find main class org.apache.tools.ant.launch.Launcher     <br /> <br />还得擦擦屁股,<br />回到 /usr/share  做一个softlink<br /> java-1.7.0 -> /usr/share/java<br />回到/usr/lib 再 mk 一个 java-1.7.0<br /> <br />搞定.<br

2010-09-17 22:09:00 2966

原创 Bullet 分析 笔记 提纲

<br />1. Bullet 简介<br />1.1 物理模拟简介<br />1.2 Bullet 简介<br />1.3 Bullet 容器类简介<br />1.4 Bullet 数值计算工具类简介<br /><br />2. 物理模拟管线<br />2.1 空间分割方法<br />2.2 远距碰撞检测算法<br />2.3 近距碰撞检测算法<br />2.3 空间一致性分析<br />2.4 动力学模拟<br />2.5 动力学数值求解<br /><br

2010-08-31 17:55:00 3397 2

原创 Bullet Narrow Phase Collision Detection 流程图

<br />

2010-08-13 20:26:00 3526

原创 Setup PXE Server

1. Use tftp32 2. Download /linux/net-boot/xxx-installer/ 3. copy to tftp32 dir 4. copy pxelinux.0 and pxelinuxcfg  to tftp32 dir as well 5. setup the dhcp parameter  Done! 

2010-05-26 23:05:00 1862

原创 C++ Allocator

nedmalloctcmallocptmalloc

2010-05-15 07:22:00 1933

原创 软件公司 开发支撑系统开源架构

工具组成 :   公司对外页面         Drupal                   公司内部邮件系统   postfix                   内部wiki                mediawiki                   文件共享               samba                   工作流          

2010-04-25 21:05:00 2393

原创 Bullet 引擎 详解 碰撞事件 回调函数

在bullet中一个非常普遍的应用是 针对两个物体发生碰撞时调用开发者自己提供的回调函数比如球体碰撞到另一个球体 发出声音下面是一个例子, 场景中有3种物体 球(动态),地板(静态),墙壁(静态)球碰到墙和地板发出的声音不同。所以需要设置这三种对象为不同类别,利用 collisionobj的userpointer来完成 int objclass[3] ={0,1,2};

2010-03-28 22:44:00 6691 4

原创 Bullet 物理引擎 详细分析 Dbvt (4)

光线与AABB 相交检测:这是一个非常经典的问题, > 5.33章节有非常详尽的讨论。下面是光线的方程  t是可变参数, P是光线的起始点 RayFrom, d是光线的方向向量 下面这个是平面的方程   向量n是平面的法向量,所以如果光线与任何一个平面相交,应该有如下等式 对于AABB来说是六个平面, 每个面的法向量为(0,0,1)(0,

2010-03-16 07:57:00 4409 4

原创 Bullet 物理引擎 详细分析 Dbvt (3)

接着上次关于Dbvt得分析,不过漏掉了一个比较重要的函数function btDbvt:: collideTTpersistentStack,  btDbvt::collideTT    * btDbvt:: collideTTpersistentStack. 负责进行两个dbvt子树的比较,找出两个子树中重叠的节点对,基于一个全局栈(一个成员变量实例)    * btDbvt

2010-03-02 00:34:00 4372

原创 Bullet 物理引擎 详细分析 Dbvt (2)

开始阅读前可以先浏览一下之前框架分析  在物理模拟的场景中, 一个节点首先应该具备2种属性 物理属性 包含 质量,速度,惯性,加速度,角速度,约束,摩擦系数 等几何属性  形状, 包围体层次,碰撞检测类型掩码。world 变换。物理属性大部分都在collosionObject 和rigidObjec 这样的类之中。几何属性则又一次被细分为包围体层次和形状

2010-02-23 02:09:00 6014

原创 Bullet 引擎 详解 DBVT 分析

DBVT 在bullet 引擎中是很基础且重要的一个数据结构,本质上是一个可以动态更新的AABB树。在bullet的远距阶段是很高效的碰撞检测数据结构(比较OOB,K- DOP)。是组成dbvtbroadphase的重要成员。首先看看树中节点的定义struct btDbvtNode{ btDbvtVolume volume; // point to the bounding

2010-02-18 02:37:00 12500 2

原创 Bullet 3D 物理引擎 简析(2)

原创帖子, 转载请注明出处,作者信息.  这个是自己分析bullet的代码过程中的笔记,比较简陋, 希望抛砖引玉, 欢迎板砖作者: 马良 (www.iphonephysics.com) (此blog需Over GW)//应朋友要求在最后附上书目 理论准备:本科的数学分析,理论力学,线性代数。 尤其是理论力学中的朗格朗日动力学部分  最好能回忆起来。 碰撞

2009-11-20 02:50:00 8845 4

原创 Bullet 物理引擎 简析[1]

 原创帖子, 转载请注明出处,作者信息.  这个是自己分析bullet的代码过程中的笔记,比较简陋, 希望抛砖引玉, 欢迎板砖作者: 马良 (www.iphonephysics.com) (此blog需Over GW)  前提假设    计算机图形学中的物理模拟实际上只是追求视觉近似,而并非精确的物理模拟    同时物理引擎从简化计算考虑, 不与

2009-11-08 01:34:00 8351 9

原创 2个月来一直在看计算几何的东西,

 算法是时候加强一下了。 花了2个月理清了bullet 这个引擎的头绪,接下来会整理一下 另外令人感到惊奇的是 rtems 居然现在还没有被移植到龙芯上,龙芯的bsp不会太复杂,毕竟mips体系下面的,据说多媒体指令做了较大变更,这个和bsp没啥关系, 哎,分心事情太多要不还真是有些手痒

2009-04-03 04:33:00 2452

原创 python  抓取 外汇牌价

 这半年关注外汇牌价, 随手写了一个抓外汇牌价得小代码,可以用execle画出曲线图,方便一些 #coding: UTF-8 from BeautifulSoup import BeautifulSoupimport re, urllib, sys, osdef getweb(url):    f = urllib.urlopen(url)    dat

2009-01-06 08:31:00 2739

原创 过节,假期,考虑了不少问题

boost, 设计模式 在AEE 中得应用, MMU, Cache, TLB 模拟 都取得一定进展,Cache 结构要专门写文章来纪录

2009-01-04 02:13:00 922

原创 2003 老文回顾〔自己得文章都差点找不到了〕

独上高楼 望尽天涯路     98年开始,恰逢校园网络建成不久,初识网络。同层楼的兄弟中有一狠人(如今在sun),不断以理论以及实践向我灌输了今天称之为crack的概念(搞掉了计算中心的solaris主机),那时我茫然一无所知,只是莫名的发现su之后的root密码居然是enter。呵呵,在当时看来确实是无比神奇。其后校园网上不断发生出国proxy密码被盗事件。当时因为是按流量计费,所以时不时听说有

2008-12-18 03:07:00 1141

原创 AEE-ADAPTIVE Emulation Environment

 看了一些模拟器的代码后,尤其是sky-eye 的代码架构还是比较混乱的,尤其是一些模式还是可以复用的,VM书里面提出的很多框架需要较大的灵活性在业余时间开始开发AEE ,已经进行1周。完成代码框架搭建,首先模拟一个arm920T, 和 leon3  

2008-12-09 02:17:00 898

原创 奇怪的CrossBit

  查询相关文献,发现上海交大 在二进制动态翻译方面做了一些工作,并且发布了一款名为CrossBit的软件论文中称之为开放源代码, 但是在baidu 与 google中甚至连二进制码都没搜到,奇怪啊

2008-11-26 05:40:00 1033 2

翻译 动态二进制代码翻译[2][VM Versatile platforms for systems and process]

递增式二进制翻译高级控制由模拟管理器运行时提供其它主要元素:解释器,二进制翻译器关键点——>解释器首先处理原始的源二进制码。 每块源二进制码翻译后保存在块。。。正中。翻译越多,消耗越多内存。有潜在浪费内存,因为有的指令很少用到。为了减少内存消耗,典型地使用code cahe,cade cash,保存最近使用过得翻译过的二进制码。详细过程见第三章,本章内,假设 code cash

2008-11-25 06:21:00 2056

翻译 动态二进制代码翻译[1][VM Versatile platforms for systems and process]

 这本书很不错,拣几个我认为关键的章节翻译一下,一方面加深自己理解,一方面方便大家安虹老师已经翻译了这本书,chinapub应该有卖在预解码(Predecoding)过程中, 所有同类型的源指令都被相同的目标平台解释函数执行,例如 所有的 load word and zero 指令 不管其所操作的寄存器是什么,都将被图2.9中的代码段解释执行(注:指一个解释函数专门用来解释执行 lwaz指

2008-11-23 07:32:00 2624

原创 类unix操作系统内核研究各阶段学习导引

这是大半年前在麒麟的论坛上写的,看到这里也有很多初学的朋友,就老文再发一遍(做了点修正).请大家多指正.主要是开出了一些我认为很重要阶段性的书目.希望能有点用.做了一点修正.不禁想起以前做助教的时光,真是如白驹过隙,不堪回首.   欢迎转载 请注明出处  发在这里的目的是希望能有更多的人加入系统软件的研究社区中来, 对于kylin本身的问题争论毫无意义随着大家学习的深入, 不辨自明. 所以 抛砖引

2006-09-14 03:03:00 3408 3

Physically Based Rendering. From Theory to Implementation

[Morgan Kaufmann series in computer graphics and geometric modeling] Matt Pharr, Wenzel Jakob, Greg Humphreys - Physically Based Rendering. From Theory to Implementation (2017, Morgan Kaufmann)

2018-06-23

deep Learning book

Ian Goodfellow and Yoshua Bengio and Aaron Courville book pdf version include bookmarks

2016-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除