倪继利Linux网志  推荐博客
+ + 作者介绍:
. . 我是《Linux内核分析及编程》(电子工业出版社2005年9月)一书的作者倪继利。这是我的工作网志,欢迎大家在这里,就我的书及...
查看全文
我的日志
时间: 2007.11.30 08:25:00 
标签:
<<CPU源代码分析与芯片设计及Linux移植>>书中提到的两个开发板地址现在都已经过期了,由于更新的时间晚了一点儿,提供主机服务的公司没有为我们保留域名,为这个事情还和他们争取了一段时间。
最新的地址为:http://www.socstart.cn或者发email到chenxi01@ict.ac.cn索取材料。
评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.11.29 12:00:00 
今天接出版社来电,说是我的新书《Linux安全体系分析与编程》被台湾某家出版社选中,要将版权输出到台湾。
评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.09.29 10:50:00 
能帮个忙吗?
  
请你花几分钟帮忙填一下这个问卷。一个在香港上博士的朋友写论文,需要调查数据,现在样本不够。谢谢!
http://www.my3q.com/home2/180/sophiazhonghk/99236.phtml  
评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.09.29 09:02:00 
 

http://www.china-pub.com/computers/common/info.asp?id=37027
背景知识

计算机安全用于保护计算机硬件和软件,使数据不因偶然的或恶意的原因而遭破坏、更改或泄露。计算机安全的内容包括安全理论、安全技术、安全管理、安全评价、安全法律及政策等。

随着计算机系统越来越复杂,计算机的安全技术也越来越复杂。操作人员、编程人员和系统分析人员的失误或缺乏经验都会造成系统的安全隐患。计算机病毒、网络攻击、垃圾邮件、系统漏洞、网络窃密、虚假有害信息和网络违法犯罪等是计算机安全的突出问题。

计算机系统需要全面的安全防护措施,而攻击者只需要抓住计算机系统的某一点漏洞,就可能引起安全威胁。计算机系统需要编程人员、操作人员和管理人员全面配合,才可能提供一个安全的计算机环境。

计算机应用的多样性决定了安全技术的多样性,计算机系统的每个层次都使用了安全技术。从保护过程来看,计算机安全包括安全防范措施、加密保护机制、安全被破坏后的恢复机制和入侵检测跟踪机制。从计算机系统组成来看,计算机安全包括芯片级安全(如:安全芯片)、操作系统安全、网络安全、应用程序安全、数据库安全。从安全实现方法来看,计算机安全有加密型保护和非加密型保护两种。加密型保护通过对内容的加密/解密保证信息的安全。非加密保护包括病毒扫描、病毒防火墙、访问控制、权限控制等多种机制。

人的因素是信息安全的最大问题。计算机安全技术只能提供相对的安全,而没有绝对的安全,安全管理成了计算机安全另一个重要方面。安全管理通过安全的规章制度、信息安全文化等规范人的安全行为,给计算机安全提供了极为重要的安全保障。

本书写作思路

由于计算机安全的多样性和复杂性,一本书不可能涉及计算机安全的各个方面。本书选择经典的开放源代码,着重介绍了Linux操作系统的安全机制及实现方法。它一方面介绍安全机制的实现,另一方面介绍安全系统编程的方法。

在网络安全方面,由于网络安全方面的协议众多,几乎每个网络安全协议都使用了公钥设施(PKI),而openSSL库是实现PKI各个协议的经典程序库,因此,本书在网络安全方面介绍了公钥设施的基本概念和使用openSSL库接口进行编程的方法。

在可信计算平台方面,可信计算的协议众多,许多协议还在完善之中。本书介绍了可信平台模块框架规范和可信网络连接框架规范,分析了可信平台模块的驱动程序的实现机制。

计算机安全还涉及硬件、Linux内核和应用程序方面。因此,计算机安全系统的编程要涉及Linux驱动程序、内核和应用程序的编程,以及使用Linux内核hook的许多技巧、多种Linux内核与应用程序通信方法和Linux系统应用程序的编程方法等。计算机安全的经典源代码也是学习计算机安全系统编程的一个经典样例,故作者结合实际代码归纳了《编程模式》一章,还介绍了Makefile生成方法和ELF文件执行过程。

Linux安全编程使用Linux内核机制、Linux系统编程(如:线程机制、进程间通信机制)方法等,关于Linux内核机制可以参考作者的书《Linux内核分析及编程》或其他相关的书,Linux系统编程方法请参考Linux C语言系统编程方面的书。

本书主要内容

本书共有17章,每章的主要内容如下:

第1章 Linux框架  说明了国家计算机系统安全评价标准,分析了操作系统安全框架,并介绍了Linux常用安全技术。

第2章 Linux日志系统和审计系统  分析了日志系统的记录机制,阐述了审计系统的原理,说明了文件系统变化监视机制。

第3章 SELinux访问控制机制  分析了SELinux的安全机制,介绍了安全策略配置语言和内核策略库的结构。简述了SELinux内核模块的实现,还分析了用户空间的客体管理器。

第4章 文件权限管理  分析了UGO和ACL权限管理的方式和能力机制。

第5章 PAM用户认证机制  分析了PAM机制和实现方法。

第6章 ClamAV杀毒应用程序  分析了ClamAV的客户端、服务器及病毒库更新升级应用程序,着重阐述了Linux下C语言编程中的许多经典用法。

第7章 On_access文件访问拦截  分析了Dazuko文件访问控制器的机制及源代码,还分析了RedirFS重定向文件系统。

第8章 防火墙  说明了防火墙的设置方法,阐述了iptables工具的实现方法,并分析了filter内核模块的实现机制和连接跟踪的机制。

第9章 PKI公钥设施  概述了公钥基础设施的机制和标准,说明了证书和证书认证的相关基本概念。

第10章 OpenSSL  介绍了OpenSSL库的加密算法接口、BIO接口、ENGINE接口等,并说明了用这些接口进行编程的方法。

第11章 可信计算和内核加密接口  阐述了可信平台模块框架规范和可信网络连接框架规范,分析了内核加密接口模块的接口机制以及TPM驱动程序的原理。

第12章 内核密钥环  阐述了内核密钥环的结构以及密钥和密钥环的管理,分析了请求key服务的机制和源代码。

第13章 加密文件系统  阐述了eCryptfs文件系统的机制,分析了eCryptfs文件系统的内核模块和后台进程。

第14章 数字版权管理  介绍了OMA2.0协议,分析了OpenIPMP插件实现OMA2.0协议的方法。

第15章 ELF文件执行过程  阐述了动态连接与静态连接的概念和动态连接中函数定位的原理,然后分析了ELF文件格式,并说明了ELF文件在内核中是如何加载的。

第16章 应用程序编译方法  结合实例介绍了Makefile的编写方法,说明了Autoconfig语言并阐述了configure.in和Makefile.am的编写方法。此外,本章还介绍了GNU gcc的检测工具和语言扩展。

第17章 编程模式  阐述了C语言面向对象方法和程序设计模式,叙述了编程基本语法应用规范、安全编程和代码书写规范,以及线程并行模型和应用程序编写规范。

本书用到的软件版本

本书在每一章的开始处注明了软件下载地址,请下载新版本的软件。本书介绍内容的软件版本列出如下:

Linux 2.6.21和Fedora 6光盘所带软件代码

dazuko-2.3.1-pre3_patch

dazuko-2.3.3

clamav-0.90.2

Linux-PAM-0.99.7.0

openssl-0.9.8e

openipmp2

致谢

作者感谢公司与自己一起从事Linux安全开发的同事,正是与他们的共同研讨,才对Linux安全方面有了更深的了解。

作者还要感太太及家人在编写本书过程中给予的理解和不懈的支持。

由于作者水平有限,书中不足及错误之处在所难免,敬请专家和读者给予批评指正。

[接自《Linux安全体系分析与编程》,倪继利著,电子工业出版社2007年10月出版]

 

评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.09.29 08:54:00 

Linux安全体系分析与编程/倪继利著.—北京:电子工业出版社,2007年10月出版,ISBN 978-7-121-05019-0

Linux安全体系分析与编程封面
本书选择经典的开放源代码,全面系统地分析了Linux安全机制。本书共有17章,前10章着重介绍了Linux操作系统的安全机制及实现方法,阐述了公钥设施的基本概念和使用openSSL库接口进行编程的方法。后7章介绍了可信平台模块框架规范和可信网络连接框架规范,并分析了可信平台模块的驱动程序的实现机制。另外,作者还结合实际代码归纳了Linux系统编程的编程模式,介绍了Makefile生成方法和ELF文件执行过程。

本书主要针对从事Linux系统编程的中高级读者及开发者,也很合适作为大学计算机相关专业的教材和参考书。

评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.04.28 21:45:52 晴
《CPU源代码分析与芯片设计及Linux移植》已经出版。
在当当网上书店可以买到。
CPU源代码分析与芯片设计及Linux移植
作者:倪断利,陈曦,李挥 著 出版社:电子工业出版社 出版日期:2007-4-1 ISBN:9787121039843 字数:1162000 印次:1 版次:1 纸张:胶版纸 定价:89.8 元当当价:85.31 元节省:4.49 元钻石vip价:81.04 元 
::URL::http://product.dangdang.com/product.aspx?product_id=9288916
评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.03.17 10:21:03 晴

本书主要内容

本书共包括13章,每章的主要内容及各章如下:

第一章 CPU构架概述 (倪继利) 介绍了计算机系统的分类,阐述了CPU设计的标量流水线、超标量流水线、超长指令等常用技术。

第二章 OR1200构架概述 (倪继利) 说明了OR1200处理器的指令格式、处理器的结构组成、硬件配置等。

第三章 Wishbone片上总线 (陈曦) 详细介绍了Wishbone标准。

第四章 CPU/DSP核心 (倪继利) 分析了组成CPU/DSP核心的各个模块的原理及源代码。

第五章 存储系统 (陈曦) 分析了高速缓存和虚拟内存管理单元的原理及实现。

第六章 主要外设 (陈曦) 分析了OR12005个主要外设:写缓冲模块OR1200_sb、总线接口单元模块OR1200_wb_biu、计时器模块OR1200_tt、可编程中断控制器模块OR1200_pic以及电源管理模块OR1200_pm

第七章 调试接口 (陈曦) 分析了OR1200调试器的原理及源代码。

第八章 编译器移植 (倪继利) 说明了GNU开发工具链移植新CPU硬件的方法,并分析了工具链移植的源代码。

第九章 Linux平台移植 (倪继利) 介绍了Linux内核移植新CPU平台的方法,分析了在Linux内核代码中与硬件相关的源代码。还说明了OpenRisc仿真器和GDB调试程序的方法。

第十章 OpenRISC参考设计与FPGA移植 (陈曦) 说明了OR1200FPGA上的设计方法。

第十一章 开源以太网MAC控制器IP (陈曦) 说明了IEEE 802.3/Ethernet MAC IP的工作原理,分析了它的源代码。

第十二章 USB功能模块 (倪继利) 介绍了USB2.0功能模块的协议以及UTMI接口协议,分析了USB2.0功能模块的源代码。

第十三章 全定制芯片设计 (李挥) 具体描述了OR1200芯片的前端和后端设计方法及实现流程,给出了设计的详细步骤,相关EDA软件的使用,必需的脚步全文,并提供了设计版图。

 

附录1 循环冗余校验算法分析与实现 (陈曦)

附录2 基于元胞自动机和线性反馈移位寄存器的硬件随机数生成器 (陈曦)

附录3 Verilog RTL设计中的常见问题 (陈曦)

评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.03.17 10:16:42 晴

为什么写作本书

 

CPU是片上系统的核心,也是最复杂的模块之一,几乎所有专业的学生都会学到x86 CPU的结构及汇编语言,软件编程围绕着CPU的指令集进行,芯片的逻辑设计需要熟知CPU的总线接口及CPU的行为。深入理解CPU的行为对软件和硬件工程师来说是必要的。

由于CPU设计技术的复杂性及高度保密性,目前几乎没有公开出版的书籍对一款实用的CPU的逻辑实现进行详细介绍。

由于EDA工具软件非常昂贵,芯片设计方法课程的培训费用很高,目前很少有书对芯片的设计过程进行详细介绍。

我们在清华大学和香港中文大学接受过芯片设计方面的严格专业训练,作者陈曦和李挥长期从事于芯片设计方面的研究和开发。我们认为:CPU的逻辑行为及芯片实现的方法对于软件和硬件工程师都有实际指导意义。

虽然在国外CPU技术已经发展多年并形成了完整的产业体系。但就国内而言,目前做得比较好的仍然只有中科院计算所龙芯、北大众志、方舟、苏州国芯。CPU广泛应用于集成电路,几乎每一个数字集成电路设计公司都需要至少一款CPU/DSP。我们希望这本书有助于OR1200 CPU在国内的推广和使用,从而降低国内集成电路设计公司的设计成本和技术门槛,这是我们的心愿。

为了验证OR1200 CPU的实现,我们还开发了FPGA开发板,并让Linux操作系统在开发板上运行起来,该开发版具有主流智能设备典型外设,包括音频、图像采集、无线链路、有源RFIDADCTFT LCD、大容量SDRAMNandFlash等。我们还用EDA工具将OR1200 CPU进行了芯片后端设计,设计出可以生产出芯片的版图,并用EDA工具进行了验证。如果对FPGA开发板感兴趣,可以查看网站http://www.openrisc.cnhttp://www.hightidelg.com

由于OpenCores组织的OR1200 CPU是开放源代码,并且技术主流,我们选择了OpenCores组织的OR1200 CPUEthernet MACUSB 2.0 Function源代码,结合自己的工作经验,查阅了大量相关资料,费时1年,写成这本书。

本书总结了CPU逻辑实现的技术,详细讲述了32RISC CPU的逻辑结构,分析了CPU的源代码实现、编译器的移植、Linux操作系统的移植,介绍了FPGA设计和CPU验证方法,说明了CPU芯片的全定制设计方法以及用EDA工具设计实现的详细步骤,还给出了芯片版。本书还分析了Ethernet MACUSB 2.0 Function模块,它们是通信的典型接口。

在本书中,我们结合自己的工作经验,重点分析了逻辑设计所用到的方法,详细介绍了用EDA工具进行芯片设计的方法,这些对集成电路设计程师来说有指导价值。我们还对Linux操作系统CPU平台移植方法作了充分的论述。软件工程师了解CPU的逻辑行为及平台移植方法,调试程序会有更清晰的思路。

评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.03.17 10:08:45 晴

前言

 

CPU和操作系统是现代计算机系统的两大基石,CPU的设计技术及加工工艺是集成电路技术发展的标志之一。随着集成电路工艺的不断进步,计算机系统集成到单芯片上,形成片上系统(System on ChipSoC),并且SoC系统越来越复杂,需要投入大量的人力才能完成。在这种情况下,一个稳定的开放源代码的公共软件和硬件开发平台是技术发展的需要。这种需要推动了开放源代码操作系统Linux的快速发展,也必将推动开放源代码集成电路技术的快速发展。

 

OpenRISC1200处理器

 

目前,x86系列及ARM系列的CPU分别是桌面系统和嵌入式设备的最常用的商业化处理器。但其IP核价格昂贵,技术保密。

OpenRISC1200处理器,简称OR1200,是OpenCores组织提供的基于GPL协议的开放源代码处理器,它技术成熟、性能良好,一般认为其性能在ARM7ARM9之间,适合于嵌入式设备。同时,OpenCores组织还提供了与之相适应的大量开放源代码IP核。

OR1200典型的应用情况是:在使用0.18μm6层金属工艺时,OR1200的主频运行在300MHz,可以提供300Dhrystone2.1MIPS300次的32×32 DSP乘加操作。OR1200缺省配置时有100万个晶体管。

OR1200是属于OpenRISC 1000序列中的32位标量RISC处理器,它具有哈佛结构、5级整数流水线,支持虚拟内存(MMU)Cache,带有基本的DSP功能。外部数据和地址总线接口符合Wishbone片上总线标准。

CPU设计包括CPU的指令集设计、架构设计、芯片的前端设计和后端设计、编译器和操作系统的移植等。另外,SoC建立CPU运行环境还需要很多IP核,如:显示模块、键盘输入模块等。因此,CPU的设计是复杂的系统工程。

由于片上系统功能庞大,设计复杂,工作量已经不是少数人或于小公司能完成的。像Linux一样的开放源代码是SoC设计的必由之路。

 

 

(未完待续)

评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
时间: 2007.03.17 10:00:59 晴

CPU源代码分析与芯片设计

——及Linux移植

 

 

倪继利

 

由于CPU设计技术的复杂性及高度保密性,目前几乎没有公开出版的书籍对一款实用的CPU的逻辑实现进行详细介绍。

 

 

电子工业出版社

将于4月1日出版

内容简介:本书全面系统地讲解了CPU的芯片设计技术。详细分析了开放源代码32RISC CPU(OR1200)的源代码、编译器的移植、Linux操作系统的移植,介绍了CPU源代码在FPGA上的实现方法,说明了CPU芯片的全定制设计方法。

作者不仅分析了源代码,而且进行芯片设计实现,并将设计方法和设计流程在Sun工作站上的实现进行了详细讲述和演示,可以说是一本指导读者步入CPU设计及SoC芯片研发的用户指南。本书的内容全面、深入、系统,融入了作者长期的芯片设计经验,这使本书对开发人员更有实际的指导意义。

本书主要针对从事芯片设计的中高级读者及芯片设计工程师,也很合适作为大学教材和参考书。

评论()  |  人气()  |  引用()  | 推荐 | 保存日志
 
我的信息
最新评论
我的相册
日历