eaglet

本博专注于基于微软技术的搜索相关技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  操作系统

摘要: 昨天我在一篇博文中提到用 GetThreadTimes 这个Win32 API 来获取线程实际运行时间。今天我又深入研究了一下,发现这个API 返回的时间并不准确。 阅读全文

posted @ 2009-03-11 15:57 eaglet 阅读(5178) 评论(15) 推荐(0) 编辑

摘要:早上看到老赵写的这个性能计数器,感觉很实用,不过老赵用了很多.C# 3.0 的新语法,还用了 VISTA 和 Server 2008 下特有的Win32 API,对于还在用C#2.0 或者还工作在 XP 或者 Server 2003 下的兄弟们,只能望代码心叹了。应老赵的要求,我修改了他的代码,增加了对低版本C# 和 低版本windows 操作系统的支持。 阅读全文

posted @ 2009-03-10 14:10 eaglet 阅读(12851) 评论(44) 推荐(5) 编辑

摘要:32位Windows操作系统下单个进程的用户模式内存访问的限制是2G,如果在boot.ini中设置了/3G开关,则最大为3G,超过3G将无法访问。由于Hubble.net 项目是一个数据库系统,必须要考虑使用大内存缓存数据的问题,于是最近对这个问题进行了一些研究。其实这块的技术是现成的,32位操作系统下只有通过 AWE的方式来扩展内存。这块的文章也很多,但很少有.net 下如何使用的实例,我做了一个类似MemoryStream的封装,可以让.Net程序员轻松操作AWE内存,从而使其程序轻松突破2G内存的限制。 阅读全文

posted @ 2008-11-06 14:00 eaglet 阅读(10274) 评论(17) 推荐(2) 编辑

摘要: 今天对 .net 2.0 的 System.Runtime.Remoting.Channels.Ipc 做了一个相同的测试,测试结果是每秒传输速度为 33MB。 由于底层技术都是一样的,我估计其比我这个例子(180MB每秒)慢的主要原因应该是在序列化上。另外今天对我这个例子进行了一些补充,增加了对流方式的支持,并做了一个通过流方式传输文件的例子。 阅读全文

posted @ 2008-06-13 13:43 eaglet 阅读(2405) 评论(9) 推荐(0) 编辑

摘要:用Remoting做进程间通讯,效率较低,于是做了一个采用管道技术进行进程间通讯的例子,在1.8G 双核计算机上每秒钟可以发送180M数据。 阅读全文

posted @ 2008-06-12 15:40 eaglet 阅读(3376) 评论(21) 推荐(0) 编辑

摘要:最近项目中需要通过程序自动设置windows 防火墙,查了一下资料,可以通过命令行netsh firewall来实现。封装了一个类来实现对允许放开的程序(Allowed program)进行管理。管理其他内容比如放开端口等方法是类似的。 阅读全文

posted @ 2008-05-20 15:22 eaglet 阅读(3145) 评论(5) 推荐(0) 编辑