05 2009 档案

摘要:软件项目的面向对象设计、开发及管理——外企真实项目案例分析 讲座内容: 结合外企真实项目案例,探讨软件项目的标准开发流程,包括需求分析、架构设计、详细设计、实现、测试、部署、配置和变更管理及项目管理等。 主讲人简介: 梁立新,外籍软件专家,具有十多年专业的软件开发、架构设计和项目管理的经验。毕业于中国科学技术大学,获硕士学位。之后留学于美国,获伊利诺依理工大学 硕士学位。曾先后工作于美国华尔街咨询服务公司和加拿大多伦多证券交易所,担任高级软件设计师。参与设计建设了美国著名银行JP Morgan网上人力资源系统,以及加拿大最大的证券交易中心Toronto Stock Exchange股票... 阅读全文
posted @ 2009-05-31 15:45 博文视点(北京)官方博客 阅读(774) 评论(0) 推荐(0) 编辑
摘要:序本文节选自《寒江独钓》一书序言 早在一年前,谭文就和我谈过想写一本既能深刻介绍Windows内核架构,又能结合具体Windows驱动程序开发实例的书。在一年的时间中,谭文一直在 构思酝酿。那时候他的《天书夜读——从汇编语言到Windows内核编程》已经出版,《天书夜读》所涉及的内容很广,但就如同书名一样,它的内容不太适合 刚刚涉猎Windows内核编程的程序员,反而更像一本供黑客学习的读物。书中翔实地介绍了很多反汇编技巧的技巧,非常的精辟,但对于新手来说,容易对 Windows内核编程产生畏惧感。 当我第一次读完《寒江独钓——Windows内核安全编程》的初稿时,我觉得本书非常适合Win.. 阅读全文
posted @ 2009-05-31 08:50 博文视点(北京)官方博客 阅读(812) 评论(0) 推荐(0) 编辑
摘要:assert()和panic()先来看assert()。你或许早就开始使用这个函数,但之前你使用的都是现成的assert,只要包含一个头文件,就可以方便地使用。如今什么都得自力更生了,不过不用怕,写一个assert函数并非难事,见下面的代码:12 #define ASSERT13 #ifdef ASSERT14 void assertion_failure(char *exp, char *fil... 阅读全文
posted @ 2009-05-27 09:09 博文视点(北京)官方博客 阅读(304) 评论(0) 推荐(0) 编辑
摘要:IPC是Inter-Process Communication的缩写,直译为进程间通信,说白了就是进程间发消息。我们在上一节中把这种消息传递比作邮政系统,但实际上这种比喻并不全对。有的消息机制是很像收发邮件的,这种叫做异步IPC,意思是说,发信者发完就去干别的了,收信者也一样,看看信箱里没信,也不坐在旁边傻等。而有另一种消息机制正好相反,被称为同步IPC,它不像邮寄,倒像接力赛,发送者一直等到接收... 阅读全文
posted @ 2009-05-26 14:20 博文视点(北京)官方博客 阅读(433) 评论(0) 推荐(0) 编辑
摘要:5月18日见到了《Orange'S:一个操作系统的实现》的样书,多少有些激动。想一想前一版本《自己动手写操作系统》是那么畅销,这一本一定不能含糊。整个出版过程我能看到作者于渊为此付出的努力,还在自己排版的过程有深入体会,通过于渊的讲座也让博文视点的员工分享到他在排版过程中的很多心得。应该有几万个朋友读过《自己动手写操作系统》了,本书的第2版《Orange'S:一个操作系统的实现》出来肯定有非常多的... 阅读全文
posted @ 2009-05-26 09:15 博文视点(北京)官方博客 阅读(481) 评论(0) 推荐(0) 编辑
摘要:进程间通信我们提到过,当一个进程需要操作系统的帮助,它可以通过系统调用让内核来替它完成一些工作。迄今为止,我们已经熟悉了系统调用的工作机制,并且已经实现了不止一个系统调用。接下来你会发现,用户进程将会有更多事情依赖于内核。比如我们想实现一个文件系统,最起码读写硬盘的工作要求助于内核。这里我们可以逐渐地增加系统调用,但也可以采用另一种方案,就是将这些工作剥离出来,交给一些系统进程来完成,让内核只负责... 阅读全文
posted @ 2009-05-25 09:37 博文视点(北京)官方博客 阅读(230) 评论(0) 推荐(0) 编辑
摘要:如何搭建自己的开发环境 好了,到这里相信读者已经知道如何搭建自己的开发环境了,说白了它跟开发一个普通的软件区别基本就在一个虚拟机上。它既是我们的“硬件”,又是我们的调试 器,有了它我们安心多了。那是不是马上就可以开始我们的操作系统开发之旅了呢?很遗憾,还不能那么着急,因为你知道,操作系统是跟硬件紧密相连的,如果想 实现一个运行在使用IA32架构的IBM PC上的操作系统,免不了要具备相关的知识。其中的重头戏就是32位Intel CPU的运行机制,毕竟CPU是一台计算机的大脑,也是整个计算机体系的核心。 所以紧接着我们要学习的,就是要了解IA32保护模式。掌握了保护模式,我们才知道Intel的. 阅读全文
posted @ 2009-05-22 09:14 博文视点(北京)官方博客 阅读(375) 评论(0) 推荐(0) 编辑
摘要:我们在介绍QEMU时提到过,在Windows下你需要一个虚拟的Linux来帮你编译操作系统的源代码。将操作系统内核编译链接成ELF格式有诸多好处,我们不但可以用Linux下现成的工具(比如readelf)来分析编译好的内核,还可以在必要时参考Linux内核的源代码来帮助我们自己的开发,总之这拉近了我们与Linux之间的距离。所以不要因为在Windows下也离不开Linux这件事而沮丧,况且装一个Linux是件很容易的事情。 不过装一个虚拟的Linux跟装一个真实的Linux还是有所不同,主要在于两点。一是我们仅仅想用这个Linux来做编译链接的工作,所以在选择组件的时候尽量去除不必要的内容,这样可以节省时间和空间;二是要确保你选择的虚拟机容易跟宿主机进行网络通信,因为你需要将宿主机上的源代码拿给虚拟机来编译。 安装方法可以有多种选择,比较简单的方法是通过光盘安装,当然这个光盘也可以是“虚拟”的,也就是一个光盘映像。首先到你所中意的Linux 发行版的官方网站下载一个安装光盘的映像,有些发行版还提供免费或付费的邮寄服务,读者可以根据自己的喜欢自行选择。这里假设你得到 阅读全文
posted @ 2009-05-21 09:07 博文视点(北京)官方博客 阅读(447) 评论(0) 推荐(0) 编辑
摘要:平台之争:Windows还是*nix本文摘自于渊编写的《orange's:一个操作系统的实现》一书 读到这里,读者可能发现书中经常出现“如果你用的是Windows”或者“如果你用的是Linux”这样的字眼。有时这样的字眼甚至可能影响到你的阅读, 如果真的这样请你原谅。我试图照顾尽量多的读者,但是对每一个人来讲,却必须面临一个选择──在什么平台下开发。本书第一版使用的是Windows平台, 而在第二版中,我投诚了。接下来你会发现,虽然以后的行文会最大限度地兼顾Windows,但总体是以Linux为默认平台的。 其实在什么平台下开发,有时纯粹是口味问题,或者是环境问题──你开始接触计算机时 阅读全文
posted @ 2009-05-20 08:19 博文视点(北京)官方博客 阅读(594) 评论(3) 推荐(0) 编辑
摘要:十分钟完成的操作系统 你相不相信,一个“操作系统”的代码可以只有不到20行? Example 1. chapter1/a/boot.asm 1 org 07c00h ; 告诉编译器程序加载到7c00处 2 mov ax, cs 3 mov ds, ax 4 mov es, ax 5 call DispStr ; 调用显示字符串例程 6 jmp $ ; 无限循环 7... 阅读全文
posted @ 2009-05-19 08:24 博文视点(北京)官方博客 阅读(329) 评论(0) 推荐(0) 编辑
摘要:在酷热的就业天气寻找几丝凉意邵志东谈程序员职业成长之路 5月17日 中午,中关村图书大厦5层多功能厅,博文视点大讲堂特邀《软件开发这点事—软件开发工具手册》的作者邵志东老师与读者进行了一场别开生面的专题讲座:在就业的冬天中寻找春意——程序员职业成长之路,现场反响颇佳,听众受益良多。 邵志东老师是微软最有价值开发者、微软中文网络广播最佳讲师,历任北京北大方正电子有限公司项目开发经理、北京新东方IT教育部门经理、北京新科海学校副 总经理。拥有近15年的软件设计、需求分析和项目管理、编程经验,熟悉整个软件项目管理流程,对.NET平台开发有着特别深入的研究。 讲座开始前半小时,读者就已陆续到场,很快室 阅读全文
posted @ 2009-05-19 08:23 博文视点(北京)官方博客 阅读(204) 评论(0) 推荐(0) 编辑
摘要:《Orange ’ s :一个操作系统的实现 》作者自序 本书是《自己动手写操作系统》的第二版,通过一个具体的实例向读者呈现一个操作系统雏形的实现过程。有关操作系统的书籍资料可以找到很多,但是关注如何帮 助读者实现一个试验性操作系统的书籍却不多见,本书便是从一个简单的引导扇区开始,讲述一个操作系统成长的故事,以作读者参考之用。本书面向实践,通过具 体实例教读者开发自己的操作系统。书中的步骤遵循由小到大、由浅入深的顺序,跟随这些步骤,读者可以由一个最简单的引导扇区开始,逐渐完善代码,扩充功 能,最后形成一个小的操作系统。 本书不仅介绍操作系统的各要素,同时涉及开发操作系统需要的各个方面,比如如何 阅读全文
posted @ 2009-05-19 08:22 博文视点(北京)官方博客 阅读(1435) 评论(0) 推荐(0) 编辑
摘要:做真正Hacker 的乐趣──自己动手去实践本文是csdn总裁蒋涛先生为《orange's一个操作系统的实现》写的推荐序 2004 年我听编辑说有个年轻人写了本《自己动手写操作系统》,第一反应是不可能,恐怕是翻译稿,写这种书籍是要考作者硬功夫的,不但需要深入掌握操作系统的原 理,还需要实际动手写出原型。历史上的Linux 就是这么产生的,Linus Torvalds 当时是一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程 序和文件系统,这成为了Linux 第一个内核的雏形。 我想中国有能力写出内核 阅读全文
posted @ 2009-05-18 08:42 博文视点(北京)官方博客 阅读(530) 评论(1) 推荐(0) 编辑
摘要:磁盘的设备驱动堆叠本文节选自《Windows 内核情景分析--采用开源代码ReactOS》一书 读者已经在前几节中看到,设备的驱动常常分成“类设备驱动”和“端口设备驱动”两层。例如鼠标器就成为一个设备的类,而具体又有PS/2鼠标器、串口鼠标 器以及基于USB的HID鼠标器,所以鼠标器的驱动就分为一种类设备驱动和三种端口设备驱动。其中PS/2鼠标器的端口驱动是直接与硬件打交道的。不过端 口驱动也可能不直接驱动硬件,而只是对虚拟的硬件进行操作。HID鼠标器的端口驱动就是这样,因为它与实际的硬件之间还隔着USB总线这一层,因而需要把 HID的端口设备驱动堆叠在USB总线驱动的上面,USB总线驱动下面 阅读全文
posted @ 2009-05-15 09:15 博文视点(北京)官方博客 阅读(465) 评论(0) 推荐(0) 编辑
摘要:Windows的设备驱动框架中的上层与下层模块 在Windows的设备驱动框架中,下层模块向上层模块提供一个数据结构指针。但是,上层模块并不直接从这个数据结构获取具体的函数指针,更不直接使用这 些函数指针调用下层模块中的函数;而是通过一些由内核提供的函数下达“I/O请求包”即IRP,间接地调用下层模块提供的函数,要求其执行某种操作。这就 好像是向内核下一个定单,定单中告诉内核要由哪一个下层模块执行何种操作。另一方面,对于建立了形式“堆叠”的设备驱动,上层模块在运行中通常也没有如何 “找到”下层模块的问题,甚至根本就不必知道其下一层是什么模块或什么设备,模块之间已在建立形式堆叠的时候固定连接好了 阅读全文
posted @ 2009-05-14 09:04 博文视点(北京)官方博客 阅读(404) 评论(0) 推荐(0) 编辑
摘要:另一方面,设备驱动也是内核中最需要加以动态扩充的部分。这是因为在编译生成系统内核时常常无法确切地知道使用中究竟需要哪一些设备。显然,最好的办法是将各种设备驱动的堆叠做成可以动态安装的程序模块,就像在用户空间可以动态加载DLL一样。Windows正是这么做的,文件扩展名为.sys的模块就是此类可动态装载的内核模块。注意“模块”这个词在不同的语境下有不同的意义。当我们谈论内核管理层中的I/O管理模块时,是指逻辑上相对自成一体的一个部分,也许称之为“板块”更贴切一些。而在谈论.sys模块的时候,则是说一块可动态装载的可执行映像。这种可动态装载的可执行映像可大可小,事实上 win32k.sys就是这样一个模块。当然,其他模块就没有这么大了。在实践中,一般都根据具体的需要把一种特定设备的驱动程序堆叠实现成一个.sys 模块;或者把一个堆叠中的一层或几层实现成一个.sys模块,实际使用时则由一个或数个.sys模块提供该种设备的驱动程序堆叠。 阅读全文
posted @ 2009-05-13 09:53 博文视点(北京)官方博客 阅读(486) 评论(0) 推荐(0) 编辑
摘要:Windows操作系统发展简史 20世纪80年代后期,当时的UNIX操作系统已经发展得相当成熟,例如在人机界面上已经有了X Window,已经开始使用鼠标器,也已经有了“客户机/服务器(Client/Server)”的结构模式。当时的一些“工作站”实际上已经具备了现代 桌面应用所需的大多数基本要素。同时,由于PC功能与性能的日渐提高,当时甚至已经有人将UNIX移植到PC上,例如当时的Xenix就是PC上的 UNIX。而微软为PC开发的操作系统,则还是采用命令行模式的DOS。相比之下,当时微软的产品无论从哪一个角度说都还只能是下里巴人,与阳春白雪的 UNIX不可同日而语。然而,那时的绝大部分公. 阅读全文
posted @ 2009-05-12 08:43 博文视点(北京)官方博客 阅读(1034) 评论(1) 推荐(0) 编辑
摘要:五月天 嵌入式聚会邀您共度周末 繁华五月,电子工业出版社博文视点在中关村图书大厦五层多功能厅成功举行了由嵌入式知名专家《嵌入式Linux上的C语言编程实践》作者韩超老师主讲的“嵌入式Linux C语言开发与用户界面开发设计”讲座活动。韩超老师 由于这次活动的讲座内容受到了广大读者朋友的喜爱,大家踊跃积极的报名给了我们这次很大的鼓励,在 讲座开始之间,有很多热心的读者就早早的... 阅读全文
posted @ 2009-05-11 08:22 博文视点(北京)官方博客 阅读(205) 评论(0) 推荐(0) 编辑
摘要:JavaScript的对象观 众所周知,目前的JavaScript实现了ECMA262规范,是基于对象的。未来的JavaScript2.0具说是面向对象同时向后兼容亦可使用基于对象的手法,但在还未看到正式运行版前就不讨论了。 基于对象。什么是基于对象呢?关于这个问题,初学者通常会与面向对象相对混淆。那到底什么是基于对象呢?要认定(纯粹个人看法)基于对象不等于面向对象; 基于对象的层次是高于面向对象的;基于对象是使用已经存在的对象或扩展已经存在的对象,而面向对象是设计或抽象出一个新的对象来,同时该对象具有继承、多 态、封装等特点。从另一个角度也可以认为基于对象是站在面向对象的肩膀上的。 既然基于 阅读全文
posted @ 2009-05-08 08:54 博文视点(北京)官方博客 阅读(198) 评论(0) 推荐(0) 编辑
摘要:5月13日和5月27日《软件开发这点事儿》作者邵志东约您在MSDN畅谈软件开发的必备武器和软件开发中的需求分析。 在线广播地址: http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/archive.aspx课程的信息课程名称(中文):软件开发概述时间:5月13日上午 10:00-11:30课程系列名称:软件开发这点事产品:技术:.NET技术等级:300课程简介:系列课程介绍:你还在为软件开发工具的不断更新换代苦恼吗?你还在面对项目无从下手吗?你想成为软件开发的管理者吗?在本系列课程中也许你会找到答案。本系列课程. 阅读全文
posted @ 2009-05-07 10:45 博文视点(北京)官方博客 阅读(580) 评论(0) 推荐(0) 编辑
摘要:什么是开放平台?Manyou诞生对站长的机会 在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做Open API,提供开放API的平台本身就被称为开放平台。通过开放平台,网站不仅能提供对Web网页的简单访问,还可以进行复杂的数据交互,将它们的Web网 站转换为与操作系统等价的开发平台。第三方开发者可以基于这些已经存在的、公开的Web网站而开发丰富多彩的应用。 2007年5月,Facebook正式开放其应用编程接口(Application Programming Interface),这被称为Facebook开放平台(Facebook Pla 阅读全文
posted @ 2009-05-07 08:15 博文视点(北京)官方博客 阅读(200) 评论(0) 推荐(0) 编辑
摘要:UCenter Home 1.5的基本配置与技巧 前面和大家说到了建立一个UCenter Home之后的基本设置,下面和大家一起来分享一下基本配置与技巧。1.注册显示 新建站点对此处不必进行设置,如果是之前有一定规模的站点,能够有足够吸引用户加入的“点”,那么可以考虑关闭新用户注册的功能,让用户通过邀请的方式来加入网站。这样的设置有如下好处: (1)过滤垃圾用户,提高网站的用户质量。 (2)给用户一个好奇的点,反而更促使用户千方百计地想要获得网站的注册资格,而且获得资格之后会倍加珍惜。 (3)便于用户通过线下的好友关系进行传播,邀请自己的朋友加入到网站 中,使用户之间的关系更加真实、稳固。2. 阅读全文
posted @ 2009-05-07 08:14 博文视点(北京)官方博客 阅读(418) 评论(0) 推荐(0) 编辑
摘要:作为当代流行的网络社区,仅仅拥有论坛一个应用未免略显单调,纵使论坛上有多种插件和附件功能,时间长久也容易使用户产生疲劳感。因此,如何创新和抓住社区用户的兴趣点、增强用户体验、增加用户黏度,已经成为社区站长们、更是社区软件提供商们必须时时考虑的重要问题。 根据对网络社区长期的开发经验,通过对市场的长期观察、分析和思考,康盛创想在巩固其拳头产品——Discuz!论坛的基础上,适应潮流,推出了崭新的SNS(社会化网络软件,Social Network Software)应用系统。配合Discuz!论坛,能够为社区用户带来更为全面、流行和愉悦的社区体验。 通过UCenter Home,站长可以轻松构. 阅读全文
posted @ 2009-05-06 08:00 博文视点(北京)官方博客 阅读(547) 评论(0) 推荐(0) 编辑
摘要:互联网带给人们最大的享受,便是把“想象力”落实,让世界上的一个个孤岛被“互联”了起来,有了“互联”,就有了“互通”和“互动”——人们从旁观者到参与者,甚至发起者;从单方面的获取信息,到参与到信息的制作和传播;从以“你”为中心,到以“我”为中心……一系列的迹象都表明,互联网在朝着越来越符合人类基本需求的方向发展着。 阅读全文
posted @ 2009-05-05 08:17 博文视点(北京)官方博客 阅读(227) 评论(0) 推荐(0) 编辑
摘要:《Web 2.0社区网站实用宝典》 本书作为社区网站实用宝典,详细地介绍了Web 2.0下互联网社区的发展。从初学者的角度阐述了搭建一个互联网社区所应具备的心理素质和技术能力,通过向导的方式,一步一步引导读者建立起自己的互联网社区。在书中以康盛创想的互联网社区应用Discuz!论坛和UCenter Home个人空间为案例,由浅入深、详细地介绍了各个社区应用的安装,基本使用,高级管理,运营思路等。又谈到了开放平台在今后发展中的意义,深入剖析了康盛创想推出的Manyou漫游开放平台给站长带来的机遇。本书附赠光盘一张,内容包括时下流行的社区应用软件(UCenter、Discuz!、UCenter . 阅读全文
posted @ 2009-05-04 09:13 博文视点(北京)官方博客 阅读(215) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示