chaosuper85

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

#

http://blog.sina.com.cn/sftk
posted @ 2010-04-04 12:15 chaosuper 阅读(80) | 评论 (0)编辑 收藏

【CSDN编者按】 上述图书中,第一级对应的英文为Unleashed series, 21 days series, 24 hour series, dummies series...其实也有很多不错的书,Unleashed即图灵所出揭秘系列,好书不少;即使是21天、24小时、dummies系列,从入门来说也基本上都算好书。大家在选书时,首先对国内原创的大套书要特别持谨慎态度,越大型的丛书越要小心,因为没有人对这样浩大的工程真正负责。而国外的书原著总体上水平都有较好的保证,主要看译者是否负责。 图书第二级中《别让我思考》对应英文为《Don't Make me Think》,中文版名字应该是《点石成金》。 图书第三级中《代码珠玑》,中文版名应为《编程珠玑》(两卷:卷1链接,卷2链接)。 原文出处: http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm 译文出处: http://static.icybear.net/%5BCN%5DProgrammer%20competency%20matrix.htm
posted @ 2010-03-28 13:49 chaosuper 阅读(77) | 评论 (0)编辑 收藏

事件 事件是用来同步地位不相等的线程的,事件可以用来使一个线程完成一件事情,然后另外的线程完成剩下的事情。事件的使用很灵活,自动事件的激发态是由人工来控制的,而Mutex在释放(releaseMetux)后就一直处于激发态,直到线程WaitForSingleObject。事件可以用来控制经典的读写模型和生产者和消费者模型。相应的方式为,生成者等待消费者的消费,再消费者消费完后通知生产者进行生产。 Mutex Mutex是排他的占有资源,一般用于地位相等的现在进行同步,每个线程都可以排他的访问一个资源或代码段,不存在哪个线程对资源访问存在优先次序。一个线程只能在Mutex处于激发态的时候访问被保护的资源或代码段,线程可以通过WaitForSingelObject来等待Mutex,在访问资源完成之后,ReleaseMutex释放Mutex,此时Mutex处于激发态。Mutex具有成功等待的副作用,在等待到Mutex后,Mutex自动变为未激发态,直到调用ReleaseMutex使Mutex变为激发态为止。自动事件也具有成功等待的副作用。手动事件没有,必须ResetEvent使手动事件变为未激发态。进程和线程也没有成功等待的副作用。当线程或者进程函数返回时,线程内核对象变为激发态,但WaitForSingleObject并没有使线程或者进程的内核对象变为未激发态。 总之,事件一般用于控制线程的先后顺序,而Mutex一般用于排他的访问资源。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/anjen/archive/2009/10/26/4727791.aspx
posted @ 2010-03-14 14:18 chaosuper 阅读(633) | 评论 (0)编辑 收藏

1. 开源/文档/社区/信息资源 1.01 http://www.kernel.org Linux内核主页 1.02 http://www.gnu.org or http://www.fsf.org GNU/FSF主页 1.03 http://www.opensource.org Open Source权威网站 1.04 http://www.osdl.org OSDL(Open Source Development Labs, Linus Torvalds的家)主页 1.05 http://www.sourceforge.net 大型开放源码软件网站 1.06 http://freshmeat.net/ 大型开放源码软件网站 1.07 http://osdir.com 开放源码目录,提供许多开放源码软件的索引和链接 1.08 http://www.rpmfind.net 提供RPM包的搜索和链接 1.09 http://oss.sgi.com/projects/ SGI的开放源码Linux项目 1.10 http://oss.software.ibm.com/linux/ IBM的开放源码Linux项目 1.11 http://www-124.ibm.com/developerworks/oss/ IBM developerWorks的开放源码Linux项目 1.12 http://www.kerneltrap.org 内核开发相关信息和论坛 1.13 http://kernelnewbies.org 很好的内核学习网站 1.14 http://www.kernelhacking.org/ kernelhacking-HOWTO文档 1.15 http://www.tldp.org Linux文档 1.16 http://www.nongnu.org/lkdp/ Linux内核文档 1.17 http://linux-mm.org/ Linux内核mm文档 1.18 http://www.linuxforum.net 中国Linux论坛 1.19 http://www.aka.org.cn 中国信息技术论坛-阿卡(AKA) 1.20 http://www.lisoleg.net 利索脚(Linux Source Learning Group) 1.21 http://www.linuxfans.org/ 中国Linux公社 1.22 http://www-900.ibm.com/developerWorks/cn/linux IBM developerWorks Linux专区 1.23 http://www.linuxaid.com.cn LinuxAid技术支持中心 1.24 http://lxr.linux.no/source/ Cross-Referencing Linux,可在线查看Linux内核源代码 1.25 http://www.linux.org Linux信息资源 1.26 http://www.linuxdevices.com 嵌入式Linux信息资源 1.27 http://www.linuxjournal.com/webindex.php Linux Journal杂志在线文章 1.28 http://www.joyfire.net/ 本站joyfire大侠维护的站点 1.29 http://lwn.net Linux Weekly News 1.30 http://www.ctyme.com/intr/int.htm 关于BIOS系统调用,很全 2. 项目资源 2.01 http://perso.wanadoo.es/xose/linux/linux_ports.html Linux移植项目链接资源 2.02 http://www.uclinux.org uClinux主页 2.03 http://www.fsmlabs.com/ or http://www.rtlinux.org RTLinux(Real-Time Linux)主页 2.04 http://mail.aero.polimi.it/~rtai/ RTAI(Real Time Application Interface for Linux)主页 2.05 http://www.ittc.ku.edu/kurt/ KURT-Linux(Kansas University Real-Time Linux)主页 2.06 http://www.arm.linux.org.uk/ ARM Linux主页 2.07 http://www.linux-mips.org/ Linux/MIPS主页 2.08 http://penguinppc.org/ Linux/PowerPC主页 2.09 http://www.denx.de Denx Software Engineering, PowerPC系列嵌入式Linux资源 2.10 http://www.netfilter.org/ or http://www.iptables.org/ netfilter/iptables项目 2.11 http://www.linuxfromscratch.org LFS(Linux From Scratch)项目 2.12 http://www.uclibc.org uClibc(C library for developing embedded Linux systems)主页 2.13 http://www.LinuxVirtualServer.org 章文嵩主持的Linux Virtual Server项目 2.14 http://linux-ha.org High-Availability Linux项目 2.15 http://www.lids.org 本站vertex大侠主持的LIDS(Linux Intrusion Detection System)项目 2.16 http://www.minigui.org/ 本站Kongming大侠主持的MiniGUI项目 2.17 http://user-mode-linux.sourceforge.net/ User-Mode Linux项目 2.18 http://lse.sourceforge.net/ Linux Scalability Effort项目 2.19 http://linuxperf.nl.linux.org/ Linux Performance Tuning项目 2.20 http://euclid.nmu.edu/~benchmark/ Linux Benchmark项目
posted @ 2010-02-06 19:13 chaosuper 阅读(154) | 评论 (0)编辑 收藏

link
http://www.360doc.com/userHome.aspx?userid=3630&cid=44
posted @ 2010-02-06 17:06 chaosuper 阅读(148) | 评论 (0)编辑 收藏

GTK的安装 apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具 apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件 apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置 apt-get install devhelp #这将安装 devhelp GTK文档查看程序 apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档 apt-get install glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库。 apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。 应用程序编译命令:gcc test.c `pkg-config --cflags --libs gtk+-2.0`,编译通过,运行正常。 pkg-config是一个用来管理包的程序,在控制台输入 pkg-config --cflags --libs gtk+-2.0,可以发现输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。 这里有一点需要注意, gcc test.c `pkg-config --cflags --libs gtk+-2.0`, pkg-config --cflags --libs gtk+-2.0两侧的引号并不是真正的引号,而是键盘数字件那一行,最左边的那个字符。如果错用了单引号,gcc无法使用 pkg-config --cflags --libs gtk+-2.0产生的文本作为编译选项。构造程序。
posted @ 2010-02-06 03:10 chaosuper 阅读(155) | 评论 (0)编辑 收藏

link
http://dev.mysql.com/doc/refman/5.1/zh/index.html
posted @ 2010-02-05 21:35 chaosuper 阅读(139) | 评论 (0)编辑 收藏

今年12月的SD2.0大会,在“语言与工具”专场,我们邀请到多核编程专家周伟明先生,为开发者们详细介绍“多核编程模式”。本刊记者就多核编程的相关知识对周伟明先生做了专访,下面为采访内容。 CSDN:请问,您是从什么时候开始关注多核编程技术的?为什么选择这个做研究领域? 周伟明:从97年开始,我开始接触多线程程序方面以及分布式计算机环境(DCE)方面的开发,之后接触了多处理服务器方面的软件开发,并对它怀有浓厚的兴趣。到了2002年后,发现多核处理器已经成为大势所趋,因此开始关注多核编程技术。 在我的职业生涯中,发现大多数程序员没有掌握如何写好多线程程序的基本技术。在多处理器的多线程编程中,比以往单核时代的多线程编程要求高得多,可以说多核编程是一门比较新鲜且富于挑战的技术,同时它又能产生巨大的社会价值,所以选择它做研究领域。 CSDN:请您谈谈,多核编程技术都包括哪些方面? 周伟明:从大的方面讲,多核编程技术主要包括并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等内容。其中共享资源分布式计算、任务分解与调度是最重要的内容,也是大多数程序员未接触过的内容。许多并行算法都可以通过共享资源分布式计算、任务分解与调度来实现。 CSDN:您之前说过,“像使用内存一样使用CPU”,能具体阐述下吗? 周伟明:在多核编程时,很重要的一个需求就是要做到当硬件升级,CPU核数增加后,程序不用修改,即保证程序随CPU核数增长的扩展性。“像使用内存一样使用CPU”主要是针对计算量不足情况下的一种处理措施,因为创建线程存在开销,计算量不足时,创建过多的线程不仅不能使程序运行得更快,甚至会使程序变慢,而且还会增加能源消耗。比如一段和创建一个线程的计算量相当的计算运行在8核CPU上,显然不能使用8个硬件线程来运行它,只使用一个硬件线程就足够了。 CSDN:您认为,多核编程模式有什么重要的意义吗?您选择这个作为今年SD大会的议题,是由于什么考虑? 周伟明:多核编程模式主要是提供一种多核并行与分布式编程的普遍方法,这些思想很容易被普通程序员甚至普通人理解和掌握。有了这些编程模式后,程序员不再需要去学习各种复杂的并行算法,它可以复用现有的串行算法,轻易地实现并行和分布式计算。 之所以把这个作为今年SD大会的议题,主要是因为个人觉得多核编程模式是多核编程技术的精华部分,希望能和大家一起分享。 CSDN:很多人认为多核编程技术,特别高深,不易学习,您怎么看待这个问题? 周伟明:也许是有些人把多核编程技术理解成了并行计算技术的缘故,加上近些年学术界对复杂度高得出奇的Lock-Free编程研究非常热,致使认为它特别高深,学习难度高,非要达到计算机博士水准才能掌握。 实际上大音希声、大道至简,最实用的多核编程技术并不是那些复杂的并行算法和Lock-Free算法。最实用的多核编程技术往往只要用到一些最简单的串行编程技术,然后使用一定的模式把它并行化。比如多核中的查找算法,仅仅用最简单的有序数组的查找,就可以通过分布式数据结构模式把它并行化。 在多核编程模式中,也没有用到任何高深的思想,相反它用到的思想却是来自人类社会中最原始、最普遍、最简单的一些东西,如贪婪、自私、偷窃等。这些思想普通人都可以理解,更不用说程序员了。 许多复杂的并行计算现在都可以通过新的方法来实现,在去年的SD大会上,Intel的市场总裁James Reinders就讲过了用任务调度来实现并行计算的通用方法。比如要写一个并行排序算法,程序员只要懂得如何写串行的排序算法,就可以使用任务调度方法把它自动变成并行算法,并且这种通过任务调度实现的并行算法比传统的并行算法性能更好。 值得庆幸的是,将简单串行算法并行化的各种模式都可以写成象标准库一样的东西给程序员使用。Intel公司就提供了一个开源项目TBB给大家使用。所以对于普通程序员来说,掌握多核编程技术并不是一件难事,只要有多线程编程基础的程序员都可以掌握。当然,就像C++标准模板库STL一样,掌握其基本原理和使用它对每个程序员都不是难事,但是要自己去实现它并不是每个程序员能做到的。多核编程技术也一样,普通程序员掌握其基本原理和使用它不是难事,当然要实现一个基础库有一定难度,不是所有的程序员有能力能做到的事。 CSDN:如果有网友想提升自己在多核编程方面的水平,您有什么建议?应该怎么学习?采用怎样的步骤?需要掌握哪些工具或技术,应注意什么问题? 周伟明:要提高多核编程水平,首先要掌握多线程编程基础技术和OpenMP编程技术,其次,要掌握多核处理器的一些特殊地方,如Cache方面的伪共享问题,原子操作等,这是做多核编程的基础。 有了上面的基础后,就可以开始学习如何将计算均摊到各个CPU核上的方法,这里主要涉及到并行计算、共享资源分布式计算、任务分解与调度方面的技术。 由于市面上暂时还缺乏共享资源分布式计算、任务分解与调度方面的书籍资料,所幸的是Intel的开源项目TBB中有一些共享资源分布式计算、任务分解与调度方面的源代码。所以这方面的内容暂时可以通过Intel的开源项目TBB的源代码去学习。当然也可以到ACM, IEEE, Elsevier里去找一些相关的论文看看。 并行计算方面的内容可以通过许多书籍以及一些这方面的开源项目去学习。由于可以通过任务调度的方法进行并行计算,因此对于普通程序员,这方面的内容并不用学很多,有所了解即可。 当然,还需要学习多线程调试测试方面的技术,这牵涉到代码静态分析方法,如何设计测试用例使程序中的问题暴露出来,如何调试定位问题等内容。也有些工具可以辅助程序员检查程序中的错误,如Intel的C++编译器里带有一些检查多线程程序错误的辅助工具。同时Intel的网站上还提供了能耗测试的工具可以检查程序的能源消耗情况,可以帮助程序员进一步优化程序,写出更环保的程序来。 如果要更深入的掌握多核编程技术,Lock-Free编程技术也是需要有一定了解的,在具有垃圾收集机制的编程环境中,Lock-Free编程技术在某些情况下有它的使用价值。学习Lock-Free编程技术并一定需要去使用它,而是通过它可以更好地理解多线程编程方面所面临的复杂问题,对于提高程序员对多线程编程方面的理解和代码质量会有一定的帮助。 在学习多核编程技术时,最重要的是掌握如何将计算均匀分摊到各个CPU核上的原理和方法,并不需要去死记一些算法。 CSDN:您能否介绍推荐一些多核编程方面的书籍? 周伟明:目前市面上专门关于多核编程的书较少,有大影响力的书籍几乎没有。虽然如此,但是还是有些书籍有很好的参考和借鉴价值。 《多核程序设计技术——通过软件多线程提升性能》一书由Intel公司的工程师写作而成,讲解了Intel处理器相关的多线程基础知识,同时也讲解了一些OpenMP方面的编程知识,可以当作一本多线程方面的基础参考书籍。 《Intel Threading Building Blocks》一书由Intel的市场总裁James Reinders写作而成,由O’Reilly出版,详细介绍了Intel的开源项目TBB库的使用方法,唯一的不足是这本书没有剖析其中的原理,也许是觉得代码难度过高的原因。这本书在国内的购书网站上可以买到英文版的,不过价格比较高。 《多处理器编程的艺术》由一位美国大学教授和一位Sun实验室的技术人员合著。这本书的学术性内容较强,重点内容为Lock-Free方面的编程技术,有较高的难度,对于想深入学习和使用Lock-Free编程技术的人员(特别是使用Java和C#编程语言的人员),不妨参考一下这本书的一些内容。这本书已经由国内出版社引进了英文版,可以在国内买到。 对于并行计算方面的书籍,国内已经出版了很多。有很多翻译过来的,如《并行计算导论》、《并行计算综论》、《并行程序设计》、《并行编程模式》、《MPI与OpenMP程序设计》、《并行处理基本原理》等。也有国内人原创的,如陈国良编著的《并行计算——结构•算法•编程》,《并行算法的设计与分析》,《并行算法实践》等。请恕我不能一一列出,这些书可以作为并行算法方面的参考书籍,美中不足的是这些书都不是专门针对多核环境而写的,所以普通程序员看了之后要把它变成多核环境中的程序也许会有一定难度。 对于多核程序调试测试方面的书籍,目前国内还没有发现这方面专门的书籍。前面介绍的书籍中,有些书籍也谈到了一些多核程序调试测试的方法。对于多线程程序的调试,《软件调试》这本书中有些内容值得参考。对于如何设计测试用例、写测试程序将程序中的问题暴露出来,虽有自夸之嫌,但还是要推荐大家不妨参考一下我写的《软件测试实践》中的一些方法。 CSDN:听说您最近在撰写一本有关多核编程的书,这是怎样的一本书?请简单介绍一下。 周伟明:从去年6月开始,我就在使用全职时间写作一本名为《多核计算与程序设计》的多核编程方面的书。 这本书的核心内容就是共享资源分布式计算、任务分解与调度方面的内容,这些内容需要使用今年将在SD大会上讲的各种多核编程模式。同时也有一部分并行计算方面的内容,不过与以往的并行计算方面的书不同的是,这本书的并行计算方面的内容是专门针对多核环境的,如并行搜索、并行排序、并行数值计算等内容都会涉及到CPU核数的扩展性,CPU Cache的伪共享问题等多核相关的内容。 当然书中也介绍了一些多线程编程基础知识、OpenMP编程基础知识、Lock-Free编程基础知识等基础内容。 这本书目前正在出版社内进行编辑加工,如不出意外,明年4月份左右估计可以上市。 CSDN:对于今年的SD大会,您有什么期望或者祝福吗? 周伟明:从去年的SD大会举办情况来看,它举办得非常成功,毫不夸张地说它已经成为了我国IT行业内影响力最大的一个技术盛会。非常好地促进了先进技术在我国软件行业的交流和推广,对提升我国软件企业的技术水平起了很好的引导作用。 对于今年的SD大会,自然希望有更多的技术人员参加,有更多的各个专业领域的重量级的最先进技术在会上进行演讲和交流,使之成为影响和提升中国软件技术发展的一场盛会。 被采访者简介: 周伟明先生,毕业于上海交通大学,1994年开始从事专业软件开发,曾工作于美国加州硅谷的DASCOM Inc公司(现为IBM的全资子公司)和华为技术有限公司等企业。在网络安全软件、服务端软件、机器翻译软件、工具软件、嵌入式系统等领域都拥有丰富的专业实践经验。近年来周伟明先生潜心研究多核编程技术,于2006年编著出版了国内第一本专门研究多任务情况下数据结构与算法的专著,获得业界的好评。此后周伟明先生再接再厉,更加深入地研究多核程序设计中范围更加广泛的重要的主题,提出多核程序设计的新观念——“象使用内存一样使用CPU”,并且致力与编写一本新的多核编程技术著作,将自己的研究成果和技术思路总结出来。
posted @ 2010-02-05 20:04 chaosuper 阅读(585) | 评论 (0)编辑 收藏

link
http://www.bb.ustc.edu.cn/jpkc/guojia/bxjs/index.htm
posted @ 2010-02-05 17:54 chaosuper 阅读(215) | 评论 (0)编辑 收藏

link : http://blog.chinaunix.net/u/22935/showart_340462.html
http://www.yuanma.org/data/2010/0111/article_4102.htm
posted @ 2010-02-05 17:50 chaosuper 阅读(48) | 评论 (0)编辑 收藏

仅列出标题
共12页: 1 2 3 4 5 6 7 8 9 Last