Main's profile我的Domain,我做主PhotosBlogListsMore Tools Help

Main Do

感谢访问!
Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.

我的Domain,我做主

当然欢迎你来做客
December 16

你看不到我,你看不到我……

应某牛的要求,删除本篇文章。你看不到我,你看不到我……………………

July 24

新的个人主页诞生了!

      很久没有更新这里了,除了主要因为懒之外,访问Spaces的龟速也让我无法忍受。为了速度我也申请了好几个其他的Blog,包括Google和百度,不过始终觉得不大好用。 不过现在我又找到了一个新的网站:Jimdo。已经忘了什么时候申请的了,现在中文版还处于测试阶段,不过已经觉得很好用了,虽然写Blog没有专门的Blog网站方便,不过自由程度相当不错,可以自己编辑HTML甚至Javascript!最重要的是速度非常快!现在我已经主要使用Jimdo写Blog了,不过这里应该还是不会放弃的,也许以后离开了教育网就可以更快速地访问Spaces,也许M$以后会把服务器搬到中国来。总之这里还是会保留的,只是更新速度会显著变慢。
      最后,欢迎大家到我的新主页做客!
      对了,忘了说主页地址了:http://domain.jimdo.com
February 19

菜鸟学写操作系统(1)——Boot Sector

我的Domain 我的Domain
我的Domain
      一直都想自己写一个操作系统,可惜入门的书不多,大多是讲理论的,正好现在有本《自己动手写操作系统》,号称最好的入门书,因此想认真看看。鉴于以前看书都是“不求甚解”,很多东西只是“知其然而不知其所以然”,所以这次决定写一下读书笔记,但是书不是自己的,只好写在这里了。
      这本书的确是入门的好书,不过依然需要一些汇编和操作系统的基础。虽然汇编以前学过,但是用的太少,现在也忘得差不错了,需要重新看看。我这里的读书笔记主要是对里面的程序进行注释,每一行都不放过,做到完全理解才行。
      下面就对第一章最简单的引导扇区程序进行注释:

 
;%define _BOOT_DEBUG_ ; 做 Boot Sector 时一定将此行注释掉!

%ifdef _BOOT_DEBUG_
   org  0100h   ; 调试状态, 做成 .COM 文件, 可调试
                ; COM文件必须开始于0100H。EXE和COM的区别下面再讲(1)
%else
   org  07c00h   ; Boot 状态,
                 ; Bios 将把 Boot Sector 加载到 0:7C00 处并开始执行
                 ; 引导扇区必须开始于07C00H
%endif
   mov ax, cs    ; 代码段地址-->AX寄存器
   mov ds, ax    ; 把代码段地址复制到数据段和附加段中
   mov es, ax    ; 这是因为COM程序只有一个段,
                 ; 因此代码、数据和堆栈都是一样的地址(2)
   call DispStr   ; 调用显示字符串例程
   jmp $   ; 无限循环,$在NASM中表示当前行的内存地址
DispStr:
   mov ax, BootMessage  ; 把要显示的字符串地址复制到AX中,
                        ; NASM中不需要OFFSET
   mov bp, ax   ; ES:BP = 串地址
   mov cx, 16   ; CX = 串长度
   mov ax, 01301h  ; AH = 13,  AL = 01h
   mov bx, 000ch  ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
   mov dl, 0
   int 10h   ; int 10h,调用BIOS的10H中断,
             ; 前面的BP、CX、AX、BX、DL都是参数(3)
   ret
BootMessage:  db "Hello, OS world!"
times  510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
                       ; times是NASM的专用指令,
                       ; 表示把后面定义的0填充当前位置510-($-$$)次
dw  0xaa55    ; 结束标志,引导扇区必须以0XAA55结尾
 
      (1)COM程序的出现主要是因为当时的内存太小,为了高效利用内存,COM文件都不会超过64K大小。因为80x86中段的大小为64K,因此COM文件就只能拥有一个段,所以代码、数据和附加段都在同一个位置。EXE文件和COM文件的对比如下:
EXE文件 COM文件
不限大小 最大64K
有堆栈段 没有堆栈段
有数据段 数据段定义在代码段中
代码段和数据段可以定义在任何偏移地址 代码段和数据段必须开始于0100H
文件更大(占用更多内存) 文件更小(占用更少内存)
有文件头(512字节) 没有文件头
      
      (2)前面说道COM文件只有一个段,所以这里CS、DS、SS都有相同的地址,至于为什么不是mov ds, cs之类呢?因为汇编中源操作数和目的操作数不能同时为段寄存器!
      (3)BIOS的10H中断的功能很多,主要是实现视频功能(Video Function)。根据AH的值不同,可以实现多种不同的功能。

AH 功能
 00 设置视频模式 
附加寄存器 结果寄存器
AL=视频模式 没有

详细视频模式请参考相关资料 

 01 设置光标类型
附加寄存器 结果寄存器
CH=光标开始行(0-4比特位) 没有
CL=光标结束行(0-4比特位)

其他位必须设置为0,光标的闪烁由硬件控制

……
13 输出字符串 
附加寄存器 结果寄存器
AL=输出模式 没有
ES:BP=字符串地址
CX=字符数
DH=开始行位置 
DL=开始列位置
BH=页面

AL=00H,属性在BL中,光标不移动
AL=01H,属性在BL中,光标移动
AL=02H,属性在字符后面,光标不移动
AL=03H,属性在字符后面,光标移动

对于AL=00或者01,字符属性在BL中定义;
对于AL=02或者03,字符属性紧跟在字符后面(字符,属性,字符,属性,……)

 

更详细的中断请参考相关资料吧,太多了,写着累……

(参考资料:The 80x86 IBM PC and Compatible Computers, Volumes I & II, Fourth Edition)

 
我的Domain
我的Domain 我的Domain
February 14

情人节

  Web page counters   Hit 
Counter
又一个情人节到了 ...

唉!不多说了。

愿天下有情人终成眷属吧!

 
January 06

终于可以上Spaces了

我的Domain 我的Domain
我的Domain
      几天前的台湾地震搞得全中国甚至全东亚访问美国网站都成问题,令我想起了上一次台湾地震导致全球电脑配件都涨价,看来台湾地区不仅仅是政治敏感地带,也是全球经济敏感地带啊!虽然说全面恢复要等到1月底才行,不过现在已经大部分网站都可以上了,只是速度还是很慢。M$一直不肯在中国放几个服务器,导致那几天Messager上不去,不知道有多少人受到影响!还好我常用的还是QQ,对我影响不算大。
      这几天一直被考试所烦恼,中间还夹杂着一个网络实验,今天总算告一段落了,虽然还有三门还没有考,不过那几门都不怎么管的了,至多英语还要看一下。对了,还有那个什么自然语言处理还需要交作业,可是只会做第一题,后面的完全不会,看来又要抄了……但是期末的那篇翻译还是要自己做的……我现在都还没有问他要。最重要的还有那本书几乎还没有开始,什么时候才能完成回家呢?……
      最近的RP真是反复无常,爆发的时候你挡都挡不住,没有的时候想找也找不到……去年是我的本命年,虽然我也并没有刻意留意,不过总体来说我还是处处小心,没有和任何人结怨,也尽量力所能及地帮助别人,所以尽管其间也有很多不开心,但是总体还是比较顺利,毕竟考研也成功了。可能老天也看到了我的努力,在最后一天终于送了我一份礼物。
      去年最后一天,全国CIG电子竞技总决赛颁奖晚会在复旦正大体育馆举行。本来我是没有票的,也没有想过要去,因为我好像没有听说有什么人物要来。不过正好师兄有票,我也还没有真正在现场看过比赛,就一起去看了一下。到场时发现原来xiaoT和Fov来了,这才有点兴趣看下去。比赛没有想象中精彩,甚至可以说有些无聊,除了xiaoT第二局牛头的几次震地看起来有点意思之外,其它时间都比较垃圾。期间还有主持人鼓动大家发短信参加互动。从小到大抽奖基本上都和我无缘,我想这次也不例外。不过在师兄的鼓动下,我也就抱着仍几块钱的想法发了一条短信,猜xiaoT夺冠(其实是因为我不知道Fov叫什么名,也没有看见有类似韩国人的名字在上面)。因为整个比赛既没有音乐,也没有解说,看起来真的挺无聊的。期间lily还打电话过来叫我回实验室开门,不过是等她吃饭回来后再回去开。我就一边看节目一边等电话,想不到比赛真的是xiaoT赢了,虽然看起来有点假;更想不到的是比赛之后居然来了一段辣妹艳舞……后来的颁奖更是五花八门,什么游戏都有,很多我都是第一次听说。很快时间就过去了1个多小时,终于到了抽奖的时候。想不到我竟然能够RP大爆发中了大奖——一台手机,OKWAP的OK810。虽然手机比较旧,而且已经停产了,不过130万像素的摄像头还是算不错的,除了不支持Java之外,基本上都比我原来那台鸟手机要好。从台上下来后,我基本上都没有怎么看节目了,除了那个CS视频还不错。得到手机本身我并没有很在意,我在意的是这是否标志着我的好运从此到来?是否意味着07年我可以过得更顺利?虽然一台手机并不能说明什么问题,不过毕竟这也是好的开始,我应该更加积极的面对以后的生活,也许以后会有更大的惊喜等着我。
      一直到过了8点半lily才打电话过来让我回去开门。回来之后自然就要请两位出去吃了一顿,顺便也当庆祝一下元旦。来到那间意大利休闲餐厅,人还挺多,需要排队,好在没多久就轮到了我们。餐厅环境不错,食物也还可以,关键是价格并不贵,感觉吃得还是挺值的。总算我们吃得还挺尽兴的,不过回来的有点晚了,实验室都已经关了门,我连房间的钥匙都留在了实验室,还好门卫那里可以有钥匙开门。
      本以为过了本命年,从此之后就要转运了,可是好像还是老样子,甚至更差了点……就连刻录机也和我作对,刻一张DVD居然用了我一个半小时……后来一件事更让我郁闷了很久。唉!不说也罢……也许我一开始的想法就是错误的……难道真的是那天把RP全部用光了?看来又要重新开始积攒RP了。
      积攒RP除了要好好学习,天天向上之外,还需要看看别人是怎么积攒RP的,所以我去了M$在中国的MSN中心参观,现在应该叫WLC(Windows Live China)了。本以为可以参观他们工作的整个流程,却发现我们只是坐在椅子上听他们一帮人胡说八道,拼命鼓吹自己,贬低别人……不过发现他们的工作环境还是真的不错,起码比起那些挤在一个小房间里工作的台资公司好好得多……乒乓球、桌球、甚至XBox360都有,空间也比较开阔。更重要的是他们工作也比较轻松自由,没有很多的硬性规定,可以自由发挥自己的想法,可以做自己觉得好玩的东西,当然,这一切都需要得到大家的认同才行。虽然他们并没有说什么技术上的创新,不过发现M$的软件开发流程的确和教科书上的有点不一样。没有Authority的PM,崭新的UX,繁重的SDET,这一切都是在书本上学不到的,这也许也是世界一流公司所应该拥有的不一样。不知道我花三年时间来积攒RP能不能换来一个Offer呢?但愿吧!
      嗯,还有很多很多话想说,还是写到日记里面吧,也该洗澡睡觉了。
 
我的Domain
我的Domain 我的Domain
December 26

Squid代理服务器配置的一些注意事项

我的Domain 我的Domain
我的Domain
      Squid是Linux下一个很常用的代理服务器软件。虽然它只支持Http代理,但是凭借良好的性能和稳定性,Squid已经成为了大多数Linux发行版的默认代理服务器。但是和其他很多Linux软件一样,Squid也是居于控制台的,所有设置都是通过配置文件完成,对于习惯了Windows可视化配置的人来说这也是一种挑战。最好的Squid教程就是自带的配置文件squid.conf.default了,但是这个文件很大也很复杂,估计大多数人都没有耐心看完,因此我们还需要Google和Baidu的帮忙。
      前段时间实验室买回来了一台AMD Opteron 270双路双核的曙光服务器,并开通了一个出外网的代理,需要在这台服务器上架设一个二级代理,方便实验室访问国外网站。在配置服务器的过程中遇到了很多问题,还发生了一些小插曲,这些都不说了,只是谈谈配置Squid代理服务器遇到的一些问题。
      首先遇到的问题就是Squid根本跑不起来。从输出文件看到的出错信息显示没有目录写入的权限。但是我当时已经是用root用户登录运行了,而且Squid的Cache目录权限也是root,却还是提示出错。实在不知道什么问题(懒得看squid.conf.default文件),就Google和Baidu一下,原来用root用户运行时,Squid会把自己的effective用户改为squid,但是我的目录权限属于root,系统中也没有squid用户,当然就不能写入了。后来就用chown命令把Cache目录权限改了,并添加了下面两个环境变量:
 
 
cache_effective_user  ca
cache_effective_group ca
 
 
      重新启动Squid之后,代理服务器终于运行起来了!
      虽然服务是运行起来了,但是我们这台服务器是不能直接访问国外网站的,它本身也需要通过别的代理服务器出去,因此我们这台代理服务器就是二级代理了。二级代理倒不是很难,Google一下就出来了:
 
 
cache_peer xxx.xxx.xxx.xxx      parent    3128  0  no-query
 
 
      这样就可以通过上级代理出去了。
      就这样代理服务器运行和一段时间,好像也没有什么多大的问题。不过渐渐发现有些网站访问有问题。最后总结出来的问题就是:访问国外网站的POST方法无法使用。这可是非常严重的问题,因为很多网站都需要提交表单,包括很多论坛登陆都需要提交表单,这样就会有很多网站无法访问了。特别是最近几天需要访问Hotmail邮箱,却老是访问不了,很郁闷。刚开始还以为就是那么几个网站不能访问,因为国内的网站都没有问题,应该是那边给我们的代理有问题。但是回来发现原来所有国外网站都有这个问题,就开始怀疑是不是我这边的配置问题了。
      为了验证花钱买回来的代理是否正常,我就直接登录了服务器,直接在服务器上访问国外网站,发现居然没有任何问题,这就确定了是我这边代理的配置问题。关键时刻还是Google发挥了作用,搜一下“Squid  二级代理 Post”,结果就出来了。原来如果我们之前访问过一些网站之后会在本地留下一些Cache,访问时当然就先访问Cache,没有就直接连接网站访问,这样当然访问不了。为了让Squid每次都通过上级代理访问网站,我们需要修改一个配置参数:
 
 
never_direct allow all
 
 
      这样就可以强制每次访问所有网站都通过上级代理了。
      至此,目前遇到的问题都解决了。当然Squid的配置很多,想更好地使用,还需要修改更多的配置,这以后有时间再改吧。
 
我的Domain
我的Domain 我的Domain
December 24

圣诞节到啦!

『 我的Domain 』   『 返回首页 』 『 给我写信 』 『 编辑日志 』 『 给我留言 』
 
圣诞快乐!
Merry Christmas!

    圣诞节终于还是到了!虽然耶稣他老人家从来没有照顾过我(也怪不得他老人家,毕竟我也从来没有祷告过),不过还是要对他说一声:生日快乐!希望你的快乐能够带给更多的人欢乐!

    不知道传说中的圣诞老人今晚会不会出现?嗯,应该把最臭的袜子钉在床头,当圣诞老人过来送礼物时可以把他熏晕,礼物就都归我了。这个建议够贱吧?但是宿舍并没有烟囱,老人家从哪里进来呢?总不会破门而入吧,那就成了强盗了!难道、难道是……下水道?

    和往常一样,今晚的平安夜依然只能是平静地安坐在电脑面前,所不同的是由宿舍搬到了实验室,身边的人也换了一批又一批,然而不变的还是那个孤独寂寞,还带着点无聊郁闷的心……

    每个人都有自己的烦恼,也许本命年就是烦恼最集中的一年,好在今年也就要过去了,新的一年即将来临,生活也一定会有新的开始。前途是光明的,只是路还是要自己一步一个脚印地走下去。

    嗯,还是不要想太多,积极面对新的挑战吧!

 
 
December 22

Merry Christmas

『 我的Domain 』

Merry Christmas!

圣诞快乐!

    圣诞节又要到了,虽然我没有过节的习惯,但是还是要说一声的!另外今天也是冬至,就一起庆祝了吧!

    新的一年又要到来了,我的本命年也要过去了,期待新的一年有新的生活!

    总之,祝大家都天天开心,永远幸福!

December 16

我的Spaces也可以换肤了

我的Domain 我的Domain
我的Domain
      好不容易在网上找到了一个和我这个主题相配的模板,经过一个晚上的PS和DW,终于完成了现在的皮肤。虽然图片制作的有点粗糙,不过总比原来的要好看多了,只是以后发布日志的时候稍有麻烦。
      大家对这个皮肤有什么意见提出来啊。

  对于Spaces不能添加类别的问题令我一直很郁闷,只要一点击添加类别页面就跳转的首页。不过今天终于发现了一种肯定可以的方法,就是直接在地址栏输入JS代码。查看添加日志的网页源代码,可以发现添加类别是这样的一段代码:

 
onclick="Spaces.Blog.Entry.AddNewCategory('',128); return false;"
 

      因此我们就可以很简单的在地址栏输入:

 
javascript:Spaces.Blog.Entry.AddNewCategory('',128);
 

   只要在单引号里面输入想要的类别,回车之后就可以看见添加类别的对话框出来了,确定就行了。我现在这几个类别都是这样添加的。
我的Domain
我的Domain 我的Domain
December 15

又一年了

我的Domain 我的Domain
我的Domain
     原来昨天是农历10月24日,又忘了。上个星期还记得,可到了这一天还是忘了,毕竟没有这个习惯。要不是妈妈在网上提醒我,这一天也就这样过去了。
     想不到这么快就又一年了。长大了,才明白什么叫“光阴似箭”。时间真的是在飞逝,光速都赶不上,更不用说骑我那辆破车追赶了……
     来到上海差不多4个月了,虽然饭堂的菜还是那么难吃,但是我也基本上已经吃得麻木了。天气也没有想象中冷,令我最郁闷的下午一点半上课也已经习惯了。其他方面也基本上适应了过来。只是现在的生活比起以前更加单调,就是宿舍——实验室——饭堂三点一线,当然偶尔还是要去一下教室……每天从早到晚对着电脑,的确很无聊,好在实验室还有一些常驻人口,虽然不多,但是总能聊聊天,解解闷,一起发发牢骚。研究生的课好像从来就是那么随便,一进校门我们研一的就受到了师兄们的教化(毒害?),“研究生考试,走走过场而已”。从此,我就把中午睡觉的时间搬到了教室……
     这个学期也临近结束,烦心的事也就多了起来。作业、考试、项目……样样都让人心烦。
     一学期积累下来的作业终于要交了,有一些连题目都忘了,更别说会做了。IR的Project虽然不是我负责,我做的部分也没有什么技术含量,不过下周三就要上台演示了,目前却连个框架都还没有出来。但是小组长都不急,我又需要急什么呢?
     要来的始终逃不掉,考试也终于要来了。虽然考试并不重要,但是还是要看看书的,问题就在于我现在还有一门课连书都没有,上课也只是去会周公而已……看来也只能临时抱一下佛脚了,希望佛祖保佑……
     最烦的还是那本书。唉,不说也罢!
     新的一年很快就要来了,不知道会不会有新的气象?
我的Domain
我的Domain 我的Domain
 
Photo 1 of 7