软件项目的面向对象设计、开发及管理

免费讲座:软件项目的面向对象设计、开发及管理——外企真实项目案例分析讲座内容:    结合外企真实项目案例,探讨软件项目的标准开发流程,包括需求分析、架构设计、详细设计、实现、测试、部署、配置和变更管理及项目管理等。主讲人简介:    梁立新,外籍软件专家,具有十多年专业的软件开发、架构设计和项目管理的经验。毕业于中国科学技术大学,获硕士学位。之后留学于美国,获伊利诺依...
阅读(1231) 评论(0)

从自己的角度比较《天书夜读》和《寒江独钓》

序本文节选自《寒江独钓》一书序言    早在一年前,谭文就和我谈过想写一本既能深刻介绍Windows内核架构,又能结合具体Windows驱动程序开发实例的书。在一年的时间中,谭文一直在构思酝酿。那时候他的《天书夜读——从汇编语言到Windows内核编程》已经出版,《天书夜读》所涉及的内容很广,但就如同书名一样,它的内容不太适合刚刚涉猎Windows内核编程的程序员,反而更像一本供黑客学...
阅读(4109) 评论(3)

assert()和panic()

assert()和panic()先来看assert()。你或许早就开始使用这个函数,但之前你使用的都是现成的assert,只要包含一个头文件,就可以方便地使用。如今什么都得自力更生了,不过不用怕,写一个assert函数并非难事,见下面的代码:12 #define ASSERT13 #ifdef ASSERT14 void assertion_failure(char *exp, c...
阅读(1258) 评论(0)

IPC

IPC是Inter-Process Communication的缩写,直译为进程间通信,说白了就是进程间发消息。我们在上一节中把这种消息传递比作邮政系统,但实际上这种比喻并不全对。有的消息机制是很像收发邮件的,这种叫做异步IPC,意思是说,发信者发完就去干别的了,收信者也一样,看看信箱里没信,也不坐在旁边傻等。而有另一种消息机制正好相反,被称为同步IPC,它不像邮寄,倒像接力赛,发送者一直等到接收...
阅读(1413) 评论(0)

解密《一个操作系统的实现》这本书

解密《一个操作系统的实现》这本书      5月18日见到了《OrangeS:一个操作系统的实现》的样书,多少有些激动。想一想前一版本《自己动手写操作系统》是那么畅销,这一本一定不能含糊。整个出版过程我能看到作者于渊为此付出的努力,还在自己排版的过程有深入体会,通过于渊的讲座也让博文视点的员工分享到他在排版过程中的很多心得。...
阅读(18281) 评论(1)

进程间通信

我们提到过,当一个进程需要操作系统的帮助,它可以通过系统调用让内核来替它完成一些工作。迄今为止,我们已经熟悉了系统调用的工作机制,并且已经实现了不止一个系统调用。接下来你会发现,用户进程将会有更多事情依赖于内核。比如我们想实现一个文件系统,最起码读写硬盘的工作要求助于内核。这里我们可以逐渐地增加系统调用,但也可以采用另一种方案,就是将这些工作剥离出来,交给一些系统进程来完成,让内核只负责它必须...
阅读(1180) 评论(1)

书如其名,美哉!

书如其名,美哉!——博文视点展示图书专题电子快邮——读《美哉!Powerpoint——完美幻灯演示之路》有感     非常偶然,在西单图书大厦看到了这本书。当时自己在北京出差,正值事毕之后闲逛书城,满目琳琅,感叹书之海洋的同时,来到Office书架,翻阅了几本便觉得心情紧张,扑面而来的庞大信息量让我不免胆战心惊,人生有涯如何学得了这么多东西呢?抬头便看到“美哉”这本书,美哉两个字的字体与那个红球中...
阅读(2868) 评论(0)

如何搭建自己的开发环境

如何搭建自己的开发环境      好了,到这里相信读者已经知道如何搭建自己的开发环境了,说白了它跟开发一个普通的软件区别基本就在一个虚拟机上。它既是我们的“硬件”,又是我们的调试器,有了它我们安心多了。那是不是马上就可以开始我们的操作系统开发之旅了呢?很遗憾,还不能那么着急,因为你知道,操作系统是跟硬件紧密相连的,如果想实现一个运行在使用IA32架构的IBM PC上的操作系统,免不了要具备...
阅读(1025) 评论(0)

Windows下的开发环境

 Windows下的开发环境    我们在介绍QEMU时提到过,在Windows下你需要一个虚拟的Linux来帮你编译操作系统的源代码。将操作系统内核编译链接成ELF格式有诸多好处,我们不但可以用Linux下现成的工具(比如readelf)来分析编译好的内核,还可以在必要时参考Linux内核的源代码来帮助我们自己的开发,总之这拉近了我们与Linux之间的距离。所以不要因为在Windows下也离...
阅读(1097) 评论(0)

GNU/Linux下的开发环境

 GNU/Linux下的开发环境    在工作环境中,虚拟机是个重头戏,所以在本章的前面单独做了介绍。除了虚拟机之外,还有几样重要的东西,分别是编辑器、编译器和自动化工具GNU Make。    许多在Linux下工作的人会使用Vi或者Emacs作为编辑器。如果你有兴趣尝试,那么还是那句建议,“不要因为刚开始的不习惯而放弃”,因为它们的确是编辑器中的经典,而且和Linux一样,具有陡峭的学习曲...
阅读(1235) 评论(0)

编写操作系统的平台之争:Windows还是*nix

平台之争:Windows还是*nix本文摘自于渊编写的《oranges:一个操作系统的实现》一书    读到这里,读者可能发现书中经常出现“如果你用的是Windows”或者“如果你用的是Linux”这样的字眼。有时这样的字眼甚至可能影响到你的阅读,如果真的这样请你原谅。我试图照顾尽量多的读者,但是对每一个人来讲,却必须面临一个选择──在什么平台下开发。本书第一版使用的是Windows平台...
阅读(3519) 评论(29)

水面下面的冰山

水面下面的冰山本文摘自于渊编著的《oranges一个操作系统的实现》一书    即便是非常袖珍的程序,也有可能遇到不能正确运行的情况,对此你一定并不惊讶,谁都可能少写一个标点,或者在一个小小的逻辑问题上犯迷糊。好在我们可以调试,通过调试,可以发现错误,让程序日臻完美。但是对于操作系统这样的特殊程序,我们没有办法用普通的调试工具来调试。可是,哪怕一个小小的引导扇区,我们也没有十足的把握一次...
阅读(1183) 评论(2)

操作系统编写之代码解释

 操作系统编写之代码解释    其实程序的主体框架只是第2行到第6行这么一点点而已,其中调用了一个显示字符串的子程序。程序的第2、3、4行是3个mov指令,使ds和es两个段寄存器指向与cs相同的段,以便在以后进行数据操作的时候能定位到正确的位置。第5行调用子程序显示字符串,然后jmp $让程序无限循环下去。可能有很多人开始学汇编时用的都是MASM,其实NASM的格式跟MASM总体上是差不多的...
阅读(1059) 评论(0)

操作系统编写之引导扇区

 操作系统编写之引导扇区    你可能还没有从刚刚的兴奋中走出来,可是我不得不告诉你,实际上,你刚刚所完成的并不是一个完整的操作系统,而仅仅是一个最最简单的引导扇区(Boot Sector)。然而不管我们完成的是什么,至少,它是直接在裸机上运行的,不依赖于任何其他软件,所以,这和我们平时所编写的应用软件有本质的区别。它不是操作系统,但已经具备了操作系统的一个特性。     我们知道,当计算机电...
阅读(1305) 评论(0)

十分钟完成的操作系统编写 你信吗?

 十分钟完成的操作系统    你相不相信,一个“操作系统”的代码可以只有不到20行?     Example 1. chapter1/a/boot.asm     1 org 07c00h                   ; 告诉编译器程序加载到7c00处     2 mov ax, cs     3 mov ds, ax     4 mov es, ax   ...
阅读(3803) 评论(20)
40条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:3700918次
    • 积分:51213
    • 等级:
    • 排名:第58名
    • 原创:1431篇
    • 转载:83篇
    • 译文:1篇
    • 评论:3255条
    博客专栏
    最新评论