Linus Torvalds: 现行的软件专利制度很不合理

摘要: 原文链接:【原版】http://www.muktware.com/news/2866 【翻译】http://www.cnbeta.com/articles/161206.htm本来无意写这篇,不过看到新闻稿觉得他们翻译的太恶心,驴唇不对马嘴,对软件专利的弊病分析不透彻,故此就写这么一篇,并结合自己的一些看法。不只是软件专利这玩意儿,其实我觉得专利制度就很不合理。例如现在的 iOS 和 Android 之争,从多点触控到外观设计,不论合不合理侵不侵权,苹果哪个不是步步紧逼?为了蝇头小利,苹果不顾口碑和信誉,乃至和所有用户为敌。再看 Oracle,自从收购了 sun,就彻底把 sun 优秀... 阅读全文
posted @ 2011-11-08 11:50 hydah 阅读(306) 评论(0) 推荐(0) 编辑

【转载】OSDI, SOSP与美国著名计算机系的调查 (我也要开始读论文喽)

摘要: 按照USnews的分类,Computer Science被分为四个大类:AI, Programming Language, Sy stems, Theory.。毫无疑问,Systems是这四个大类中最要紧也是最大的一个。根据cites eer在2003年5月排出的所有计算机学科会议和期刊的影响因子排名[1],在前十位中的属于 Systems的有7个,在前15个中占据了11个。Systems的内容十分广泛,包括OS, Architecture, Network等等。在citeseer排名中,最 好的会议是OSDI,这是一个收录范围相当广的会议。提到OSDI,就得提到排名第11的另一 个会议: S 阅读全文
posted @ 2011-11-03 10:42 hydah 阅读(1026) 评论(0) 推荐(0) 编辑

pci空间配置

摘要: PCI(Peripheral Component Interconnect)是一种高性能的局部总线,采用高度综合优化的总线结构,保证系统各部件之间的运行可靠,目前广泛应用于各种计算机系统中。PCI总线可同时支持多组外围设备,具有很高的数据传输速率,峰值传输速率可达132MB/s(32位、33MHz)。 目前开发PCI 接口大体有两种方式:一是使用专用的PCI接口芯片,二是使用可编程器件。如果使用厂家提供的专用接口芯片,用户可能只使用到它的部分功能,会造成一定的资源浪费,而且专用芯片价格高,不经济。而使用可编程器件比前者具有以下两个优点:一方面用户可以根据需要设计PCI接口,不会浪费资源;另外. 阅读全文
posted @ 2011-11-02 10:46 hydah 阅读(953) 评论(0) 推荐(0) 编辑

linux经典书籍推荐

摘要: 入门篇 《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。驱动篇 《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解。内核篇 浙江大学的《LINUX内核源代码情景分析》,《深入理解linux内核》(还有《莱昂氏UNIX源代码分析》)都是出名的经典巨作。 正所谓“深为... 阅读全文
posted @ 2011-11-01 20:44 hydah 阅读(1667) 评论(1) 推荐(0) 编辑

I/O空间映射

摘要: 注:部分资料和图片来源于网络,本文在学习过程中对网络资源进行再整理。I/O空间-----I/O端口和I/O内存 首先上图,如下:外设中的寄存器被称为I/O端口,外设中的内存被称为I/O内存。二者合起来统称为I/O空间。 设备驱动程序要直接访问外设或其接口卡上的物理电路,这部分通常都是以寄存器的形式出现。外设寄存器称为I/O端口,通常包括:控制寄存器、状态寄存器和数据寄存器三大类。根据访问外设寄存器的不同方式,可以把 CPU分成两大类。 一类CPU(如M68K,Power PC,ARM,Unicore等)把这些寄存器看作内存的一部分,寄存器参与内存统一编址,访问寄存器就通过访问一般的内存指... 阅读全文
posted @ 2011-11-01 19:10 hydah 阅读(10413) 评论(7) 推荐(2) 编辑

【转载】pci空间

摘要: 注:本文为以后pci模拟做的相关资料调研及整理。PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个物理空间。由于PCI支持设备即插即用,所以PCI设备不占用固定的内存地址空间或I/O地址空间,而是由操作系统决定其映射的基址。 系统加电时,BIOS检测PCI总线,确定所有连接在PCI总线上的设备以及它们的配置要求,并进行系统配置。所以,所有的PCI设备必须实现配置空间,从而能够实现参数的自动配置,实现真正的即插即用。 PCI总线可以通过桥芯片级连.按与CPU总线所隔的桥数目和同一层总线的扫描顺序,从0开始依次编号,扩展最多N256... 阅读全文
posted @ 2011-10-31 09:57 hydah 阅读(819) 评论(0) 推荐(1) 编辑

cmu-csapp-lab2-bomb解题过程

摘要: 这个题的本质是让通过gdb和objdump的工具的使用,以及对汇编代码的理解找到程序在栈中已存在的数据或者汇编代码本身的代码逻辑。从而根据固有信息确定输入,使得炸弹得以解除。这个实验有6道关卡和一道隐藏关卡。由于时间原因,我并没有想方法找出隐藏关,只是把固有的6道关卡做完了。下面说一下解题步骤。 由于炸弹爆炸是要扣分的,所以最开始需要做的任务是在炸弹爆炸函数的入口设置一个断点。这样一来当发现运行到这个断点之后就可以重新开始gdb的运行,使得爆炸函数得不到运行。由于是只有通过前一关后才能做后一关所以当做到后面几关的时候,要把前几关的答案放在一个文档里,然后运行gdb时指定这个文件,就会自动... 阅读全文
posted @ 2011-10-26 14:01 hydah 阅读(8314) 评论(2) 推荐(0) 编辑

c++ 简单的对内存的操作

摘要: 最近做网络的实验题需要对内存进行操作。比如说对于一个数组char tempstr[2];tempstr[0] = 'a';tempstr[1] = 'b';要取十六位赋给一个unsigned short型的变量。对于这种要求有一下几种作法:1:unsigned short temp = 0;temp = *(unsigned short *) tempstr;cout << htons(temp)<<endl;但是这种做法有个问题就是x86架构的计算机采用的是小端序。所以对于这种情况在转换的过程中会把a放在低八位,把b放在高八位。但是这题 阅读全文
posted @ 2011-10-25 13:31 hydah 阅读(316) 评论(0) 推荐(0) 编辑

automake&autoconf生成makefile【转载】

摘要: 引子无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到 make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系。但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战。幸而有GNU 提供的Autoconf及Automake这两套工具使得编写makefile不再是一个难题。本文将介绍如何利用 GNU Aut 阅读全文
posted @ 2011-10-25 13:30 hydah 阅读(263) 评论(0) 推荐(0) 编辑

automake&autoconf生成makefile

摘要: ~~~~~~~~~~~题目要求~~~~~~~~~~~一个项目由一个lex文件, 一个c文件构成, 其中文件lexer.l 代码如下%{int fee_count = 0;int fie_count = 0;int foe_count = 0;int fum_count = 0;%}%%fee fee_count++;fie fie_count++;foe foe_count++;fum fum_count++;.\ncountwords.c文件代码如下#include <stdio.h>extern int fee_count, fie_count, foe_count, fum_ 阅读全文
posted @ 2011-10-25 13:28 hydah 阅读(336) 评论(0) 推荐(0) 编辑