rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
阅读:3623回复:34

AntiVirus/AntiSpyware产品中,防止重入/死锁

楼主#
更多 发布于:2007-02-08 09:42
帮同事问这个问题。

因为实时处理引擎设计的很复杂,有多达40几个模块/线程,而且各种类型的事件要穿插处理,比如收到一个病毒文件事件,还要判断是否已经有注册表被感染等等。所以这些处理本身又会引起其他的事件,造成整个系统的堵塞。

因此,除了修改架构,变成一个“简单”或者“避免重入”的引擎以外,还有没有什么好的建议?

本来我个人觉得是没有什么希望的,不过还是盛情难却,还是来问问吧。。。希望能得到点思路哦。。。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
沙发#
发布于:2007-02-08 13:26
重新设计是最好的思路~
没有战争就没有进步 X3工作组 为您提供最好的军火
xikug
驱动小牛
驱动小牛
  • 注册日期2001-09-25
  • 最后登录2013-09-27
  • 粉丝1
  • 关注0
  • 积分1001分
  • 威望169点
  • 贡献值0点
  • 好评度168点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-02-08 14:30
“有多达40几个模块/线程,而且各种类型的事件要穿插处理”
搞得太复杂了。。。简化吧。。。
http://www.debugman.com
cardmagic
驱动中牛
驱动中牛
  • 注册日期2005-03-15
  • 最后登录2010-01-14
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望317点
  • 贡献值0点
  • 好评度312点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-02-11 13:47
前面设计和架构做好了 后期就没有那么乱.

找牛X的安全软件架构师精通计算机安全理论方面,如安全模型等)一层一层 老老实实的 做下来 工程规范.   review.inspection等质量保障和培训再加上
...

不过这样做成本是高的.
牌术千术IT cardmagic.bokee.com
liio
驱动小牛
驱动小牛
  • 注册日期2005-12-24
  • 最后登录2022-06-16
  • 粉丝4
  • 关注1
  • 积分24分
  • 威望343点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2007-02-11 17:02
思路?

楼主的朋友肯定是做一步想一步.

不好啊.一定要想好架构流程.

建议去看代码大全.整个软件的架构设计占了总开发的1/3时间.
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-02-12 06:51
谢谢兄弟们的意见 现在只能是一个烂摊子,做一步算一步了,反正我也不是负责的,乐得省心

这个产品是在前一个版本的基础上重新设计的,只是新的版本用到了driver来截获各种事件。可是整个team在开始的时候只有一个韩国人是做driver的,其他人都是从来没有到kernel里面混过,那个韩国人的driver水平在我看来也就是个计算机系的学生,在加入这个team前从来没有开发过正式的商业产品,而且他最擅长的是hooking,而且是照着rootkit.com的那本书学的。所以在商业产品最需要的整体设计和稳定性方面没有什么概念,当时的leader/designer也根本不知道有哪些特别要注意的地方。最终就是现在bug虽然越来越少,但是总是有些莫名其妙的bug不知道是什么原因,大家只好东猜猜、西猜猜。

还有一个让我觉得不爽的地方,整个产品,除了driver,其他的90%都是用Delphi写的,结果出现系统级的问题的时候连debug都不知道怎么弄。。。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
6楼#
发布于:2007-02-12 09:16
haha,原来奥洲的兄弟们也和国内一样,有得一拼:)

不过国内现在一般都是大鸟级的人掌勺,能比前几年强丁点..
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2007-02-12 09:19
构架?构架算什么?
楼主的问题跟构架无关,还是CODER的问题,呵呵
真正的Programmer写东西是不会那样的

转一篇白细胞上的文章

=====================================
构架师已死

2006年的职场出奇的冷清,相比前几年,简历的数量和质量都大为不如,很难得找到三年工作经验以上的人,有一个不是特别笨,就是特别怪。就是么,干得好谁没事换工作啊!Simon是一家外企软件公司的总经理,最近给这个问题愁坏了。项目一个接一个的接下来,人手越来越紧张。虽然Simon是个极限编程的粉丝,但也不得不批准了一份又一份的加班申请。HR经理把这个问题归结到房价上,他的妙论是“怕失业了还不上房款,不敢跳槽”。

这天,K项目组长Allen终于忍不住了,带了一个只有一年工作经验的小伙子要Simon面试,“很聪明!经验少了点。”

Simon皱了皱眉毛,说:“你不知道这个职位最低要求是三年工作经验吗?”

Allen说:“这已经是三个月里通过技术考试中最好的一个了,老大,试试吧。”Allen是Simon多年的哥们,比较随便。

抵到面子上来,Simon只好让Allen把小伙子带进来。

Simon的面试通常是三步曲:

问题一:你能说说毕业后的主要工作经历吗?

问题二:再说说你在公司的地位?

问题三:你的发展目标是什么?等回答后,比如说构架师,他就跟着问:想象一下你当构架师的一天,说给我听听?



小伙子回答第一问题很快很清楚,一年工作当然没什么东西。Simon觉得小伙子挺聪明。所以在小伙子回答了第二个问题后,问了一个发散性的问题:“你刚才说你在公司里处于中等水平,那比你差的人为什么会比你差呢?”

这个问题是个陷阱。

小伙子冒冒失失回答说:“我觉得他们每天工作是为工作而工作,工作没有责任感。”

Simon点点头说:“是吗?那真是糟糕的员工。那你刚好比糟糕的员工好一点了?”

小伙子的脸一下子红了,“我不是这个意思……”

“好了,那你说说比你好的人为什么比你强?”

“我觉得他非常努力,工作很多年了还在学习各种构架,水平很高。”于是Simon就问那最后一个问题。果然,小伙子回答的是要成为构架师。大概70%的人想成为构架师。但是构架师是什么呢?

Simon问道:“那你为什么要成为构架师呢?”

小伙子一愣,大概还没有人这么置疑过他。“年纪大了,不能老写程序吧。”这个回答,让Simon想起关于他对什么是老的定义:当你希望做年轻人做的事情时,你就还年轻;如果你希望做老年人做的事情,你就老了。这和你出生了多长时间是没有关系的。



Simon接着问:“好吧,那你说说你成为构架师以后,每天都会做什么?”

小伙子说:“我还没想过,不过,我想应该主要是需求分析,设计构架吧……”这大概是现在年轻人的通病,年轻人很容易追逐一些自己也不清楚的目标。

Simon问:“那设计构架具体都做些什么呢?”

小伙子这次的回答是:“比如,选择程序框架,决定用Spring或Struts等等。”

“哦,那我问你,你怎么说服别人是用Spring还是Struts呢?”

“如果我有经验,我会知道哪个更好……”

“是吗,但关于Spring或Struts的知识任谁都可以很容易得到。如果别人不同意你的建议,你怎么说服他?如果同意你的建议,那你不过是作出了和别人一样的认识,别人又凭什么认可你呢?”

小伙子没想过构架师日子里还有一个说服人的工作,说:“我是构架师,我应该有权力做决定吧?”

Simon想起权力的三种层次,第一层,任命;第二层,专业;第三层,品德。

Simon问:“如果在一个成熟的软件企业里没有你所想象的构架师呢?或者说,构架师这种职业已经死亡或消失了呢?你会怎么定位你的职业?”

小伙子显得很震惊。

Simon画了一个系统构架,然后又给小伙子看了一段代码。

“那一个更难懂?”Simon问。

小伙子指着代码说:“代码难懂。”

Simon的解释是:“这就是为什么实际上所谓的构架师不存在的原因。一个更简单的东西怎么会更有价值呢?每个人都能够画出这种构架图,但不是每个人都能写出好的代码。”


送走了小伙子,Simon有点难受。他有点喜欢这个小伙子,但是,这又是一个被愚蠢的教育和误人子弟的技术杂志污染的家伙。Simon在自己的笔记本中加了一句话:中国程序员最愚蠢的认识之三:我想当构架师。前面两个赫然是:

35岁后写不动程序了;

我只要做Java(C++);
驱动开发者 呵呵
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
8楼#
发布于:2007-02-12 09:35
楼上的太偏了,所谓架构师就是经常非常丰富,善于抽象的人,能够比一般的coder能预测更远会发生的事情.

好的架构能让你的开发过程省很多事,产品质量很好.  大的项目是必须要有一个人把握架构的,否则ms windows就不会出现. 项目失败的可能也会很大!
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
9楼#
发布于:2007-02-12 10:19
过去我一直是Programmer兼frameworker
关于更多细节就不争论了。。。


深切体会到架构师已死。。。。
驱动开发者 呵呵
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
10楼#
发布于:2007-02-12 10:25
你的项目多少个文件?hehe,多少行代码?多少个人协作?

要是一个人的项目,那你自己就是sa加coder,无话可讲了.....
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
11楼#
发布于:2007-02-12 11:56
当然不是一个人在战斗。。。
驱动开发者 呵呵
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2007-02-12 12:14
没有10年以上经验的人,如何能做的好,有多少人能坚持不懈10年还在写程序的,中国人大多好高务远,而且大多还看不起别人,不过也没办法,谁让咱们是中国人呢??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
13楼#
发布于:2007-02-12 12:34
如果10年时间都在写code,也不见得能做好,要有机会训练
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-02-12 13:22
哇。。。这么多兄弟在这里发散思维? 看来我还是为增加驱网发帖量做了点贡献

兄弟我没有做过什么架构师,连分析员也不是(当年曾经考过,可是惨败啊 )。不过,我感觉如果一个这种职位的人没有在下面干过,很难在设计的时候面面俱到。而且,如果一个项目比较大,涉及到各种方面的知识的时候,也会有些未知的领域。如果能够做成梯形架构,designer下面有若干个有经验的co-designer一起完成,这样似乎比较保险一些。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
15楼#
发布于:2007-02-12 13:25
楼上说的是,所谓sa,肯定是从下面爬上来的,还要有宏观思想,否则...

光是什么mba之类是没法做sa的,连下面的人在作啥都不清楚,sa个啥?
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
16楼#
发布于:2007-02-13 05:24
对不注意整体设计的后果深有体会,最近把自己的引擎重写了大部分——郁闷阿~
这活太恶心~
没有战争就没有进步 X3工作组 为您提供最好的军火
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
17楼#
发布于:2007-02-13 05:26
引用第5楼rayyang20002007-02-12 06:51发表的“”:
谢谢兄弟们的意见 现在只能是一个烂摊子,做一步算一步了,反正我也不是负责的,乐得省心

这个产品是在前一个版本的基础上重新设计的,只是新的版本用到了driver来截获各种事件。可是整个team在开始的时候只有一个韩国人是做driver的,其他人都是从来没有到kernel里面混过,那个韩国人的driver水平在我看来也就是个计算机系的学生,在加入这个team前从来没有开发过正式的商业产品,而且他最擅长的是hooking,而且是照着rootkit.com的那本书学的。所以在商业产品最需要的整体设计和稳定性方面没有什么概念,当时的leader/designer也根本不知道有哪些特别要注意的地方。最终就是现在bug虽然越来越少,但是总是有些莫名其妙的bug不知道是什么原因,大家只好东猜猜、西猜猜。

还有一个让我觉得不爽的地方,整个产品,除了driver,其他的90%都是用Delphi写的,结果出现系统级的问题的时候连debug都不知道怎么弄。。。

Rootkit.com那本书的Hooking风格剧烈吐血——一般软件还可以,比如SSM之类的还可以,如果是专业HIPS,直接吐血
没有战争就没有进步 X3工作组 为您提供最好的军火
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-02-14 07:31
引用第17楼killvxk2007-02-13 07:26发表的“”:

Rootkit.com那本书的Hooking风格剧烈吐血——一般软件还可以,比如SSM之类的还可以,如果是专业HIPS,直接吐血


悄悄问一下:什么是SSM和HIPS?
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
19楼#
发布于:2007-02-14 09:40
做专业安全的不知道可不应该啊,我们这种业余爱好者不知道还情有可缘,嘿嘿......
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
上一页
游客

返回顶部