摘要: 1. 背景进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节。比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有自己的地址空间,子进程创建后接受统一调度执行等等。原 理性的书籍更多地关注了进程创建过程中各个关键部分的功能,但由于过于抽象,很难理解,因此如果自己能够实际操作,实践这个过程就很重要,可以让那些看起 来抽象的概念变的现实而容易理解,比如所谓的父进程的资源,父进程所拥有的物理页面,甚至父进程的地址空间等等,这些抽象的概念其实只要实际操作一次就更 能有感性的认识。本人参考Linux0.11源代码实践了创 阅读全文
posted @ 2012-10-02 12:22 qimi 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 数据实验:http://blog.csdn.net/caoxu1987728/article/details/6053717缓冲区溢出实验:http://blog.csdn.net/caoxu1987728/article/details/6055403二进制炸弹实验:http://blog.csdn.net/caoxu1987728/article/details/6056947处理器体系结构实验:http://blog.csdn.net/caoxu1987728/article/details/6061807优化程序性能实验:http://blog.csdn.net/caoxu198772 阅读全文
posted @ 2012-09-24 22:29 qimi 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 最近在抽空学习Android系统开发,对Android学习也比较感兴趣,刚开始学就试着在网上找几个项目源码研究看下,以下就将找到的Android项目源码列出,希望对正在或准备学习Android系统开发开发的能有些帮助! 1、Android团队提供的示例项目 如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。地址:http://code.google.com/p/apps-for-android/ 2、 Remot... 阅读全文
posted @ 2012-09-05 11:31 qimi 阅读(604) 评论(0) 推荐(0) 编辑
摘要: TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。TFS的总体结构一个TFS集群由两个nameserver节点(一主一备)和多个datase 阅读全文
posted @ 2012-08-20 09:39 qimi 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 现在就把“C# 调用Dll中非托管C++代码时,函数参数的类型对照”这一问题做一个总结。用这些关键字进行搜索,网上有不少这样那个的内容,比如下面这几个链接C# 与 C++ 数据类型对照(后三篇内容一样)http://topic.csdn.net/u/20090928/11/af7848c6-5071-41aa-92e2-e8d626d6aefe.htmlhttp://blog.csdn.net/dz45693/archive/2009/09/26/4598867.aspxhttp://www.cnblogs.com/yiki/archive/2008/10/29/1321848.htmlhtt 阅读全文
posted @ 2012-08-15 09:50 qimi 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 虽然网上搜索CHord,一搜一大堆,但大多讲得不太清楚明白。今天发现一篇blog,图文并茂,逻辑清楚且易懂,特意转载收藏。作者:gnuhpc出处:http://www.cnblogs.com/gnuhpc/P2P的一个常见问题是如何高效的定位节点,也就是说,一个节点怎样高效的知道在网络中的哪个节点包含它所寻找的数据,如下图:对此,有三种比较典型的来解决这个问题。Napster:使用一个中心服务器接收所有的查询,服务器告知去哪下载其所需要的数据。存在的问题是中心服务器单点失效导致整个网络瘫痪。Gnutella:使用消息洪泛(message flooding)来定位数据。一个消息被发到系统内每一个 阅读全文
posted @ 2012-08-10 20:44 qimi 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: http://4square.codeplex.com/ 阅读全文
posted @ 2012-08-10 14:43 qimi 阅读(158) 评论(0) 推荐(0) 编辑
摘要: Excel在日常办公中应用非常广泛,这次我接到一个案子,需要往Excel中写入数据并能够打印出固定格式,前前后后大概花了将近2星期才搞定,现在做一些分享。一、关于操作Excel的几种方式我们导出Excel,大抵是有两种方法,一种是在服务器端用一些类库或者COM组件直接生成Excel成品,其二是在后台只写入数据,而不写入具体格式,等用户下载完Excel之后再在客户端上利用vba生成Excel成品。1.1使用“自动化”功能-后台生成成品微软把后台使用COM组件称之为“自动化”,其实它本身是不建议这种用法,在257757 号文章(服务器端 Office 自动化注意事项)也明文标出“Microsoft 阅读全文
posted @ 2012-08-08 17:03 qimi 阅读(2888) 评论(0) 推荐(1) 编辑
摘要: 0 引言在采用 TCP连接的 C/S结构的系统中,当通信的一方正常关闭或退出时,另一方能收到相应的连接断开的通知,然后进行必要的处理;但如果任意一方发生所谓的“非优雅断开”,如:意外崩溃、死机、拔掉网线或路由器故障时,另一方无法得知 TCP 连接已经失效,除非继续在此连接上不断地发送数据,经过若干时间后导致错误返回。但在很多时候,更希望服务器端和客户端都能及时有效地检测到网络连接的非正常断开,然后完成一些必要的清理工作并把错误报告给用户。如何及时有效地检测到通信一方的非正常断开,采用的方法是通过通信的一方或双方发送心跳包来告诉对方网络通信是否正常或已断开。1 心跳原理在基于电路交换的网络中,有 阅读全文
posted @ 2012-08-06 19:27 qimi 阅读(2220) 评论(0) 推荐(0) 编辑
摘要: 代码配置 vs. 配置文件另一个问题相对独立,但也经常与其他问题牵涉在一起:如何配置服务的组装,通过配置文件还是直接编码组装?对于大多数需要在多处部署的应用程序来说,一个单独的配置文件会更合适。配置文件几乎都是XML 文件,XML 也的确很适合这一用途。不过,有些时候直接在程序代码中实现装配会更简单。譬如一个简单的应用程序,也没有很多部署上的变化,这时用几句代码来配置就比XML 文件要清晰得多。与之相对的,有时应用程序的组装非常复杂,涉及大量的条件步骤。一旦编程语言中的配置逻辑开始变得复杂,你就应该用一种合适的语言来描述配置信息,使程序逻辑变得更清晰。然后,你可以编写一个构造器(builder 阅读全文
posted @ 2012-07-19 19:48 qimi 阅读(618) 评论(0) 推荐(0) 编辑