推荐一些实现操作系统内核有用的书籍或资料

Table of Contents 1 前言 2 一、x86汇编语言 3 二、操作系统理论及实现 4 三、工具 1 前言 自己本科的毕业设计是实现一个简单的操作系统内核,但是由于时间原因,只完成了一点点,包括引导加载程序,异常处理;当时考虑到大二大三自己的底层知识基础打得不好,再加上目前用C实现的内核是在太多了,要从头实现肯定会有抄袭的痕迹,所以打算完全用x86汇编语言实现,编译器用NASM,实现完之后确实汇编的东西基本的东西都捡回来了;在这里我整理一下自己实现这个内核过程中参考过的书籍、资料或者文献,希望对大家有所帮助。 2 一、x86汇编语言 虽然现在很少有使用汇编语言的场合,即使有,也尽量会被C取代,但是掌握汇编语言对于理解CPU和一些接口的工作原理至关重要。 1.Intel Inc..Intel(R) 64 and IA-32 Architectures Software Developer’s Manuals http://www.intel.com/products/processor/manuals/ intel cpu的官方手册,这手册是特别重要的,实现操作系统一定要看,特别是这几章节:卷1的第三章,主要讲intel cpu的程序运行环境,包括所有的寄存器,内存组织,堆栈结构等等;卷1的第六章,函数的调用过程,还有几个相关的重要指令、堆栈环境以及相关寄存器等等;卷3的第三章,主要讲解地址空间,重要;卷3的第四章,分页模式;卷3的第五章,保护模式,包括类型检查,越界检查以及特权级检查等;卷3的第六章,讲解异常处理;卷3的第七章,主要讲解任务,包括任务的数据结构、切换以及连接等; 2.(美)Barry B.Brey.intel微处理器[M].北京:机械工业出版社,2008. 这本书我只看了一点,主要参考了一些指令,还有对选择子和描述符的讲解; 3.Jeff Duntemann.Assembly Language Step-by-Step[M].美国:Wiley,2009. 这本书是为数不多的以NASM来讲解x86汇编语言的,而且讲得很详细,没有汇编语言的知识也能读懂,强烈推荐当做nasm的入门教材; 4.吕晓庆.80386/486系统编程实践[M].浙江:浙江大学出版社,1993. 这本书很古老很古老了,找不到电子书,我是去我们学校的另一个校区的图书馆里面才找到的这本书,里面提供了很多关于保护模式编程的具体例子,用来理解intel cpu官方手册的绝佳教材,强烈推荐; 5.罗克露 等编.计算机组成原理[M].北京:电子工业出版社,2004. 这本书是我们大二计算机组成原理课程的教材,主要用来复习一下微机接口的知识; 6.谭毓安,张雪兰,李元章.Windows汇编语言程序设计实验指导[M].北京:清华大学出版社,2008. 当时我看intel cpu手册的时候,对卷3中的大部分内容理解得不是很透彻,通过这本书里面几个关于保护模式编程的例子,一下子就豁然开朗了好多,非常推荐配合intel cpu手册看的一本书; 7.熊桂喜,赵海.PC机各类显示系统的编程及应用[M].北京:清华大学出版社,1992. 这也是一本很古老很古老的书籍,主要用来理解vga显示器编程的书籍,很好很强大; 8.赵国相,张健,赵大鹏等.微型计算机原理与汇编语言程序设计[M].北京:科学出版社,2004. 9.赵国相,于秀峰.微型计算机原理与接口技术[M].北京:科学出版社,2003. 这两本书是我们大三微机接口原理的课本,不推荐看,写得比较烂,而且还是实模式的讲解,太落后了,也是主要用来温习微机接口的知识; 3 二、操作系统理论及实现 Continue Reading »

整理工作中经常用到的一些freebsd命令或者技巧

这里整理一下平日工作中经常用到的一些unix命令,这些命令不是大全,如果你有这样的目的,请看相关手册;因为平台是FreeBSD,所以一些配置文件可能只是它独有的,这篇日志会经常更新。 Table of Contents 1.cmd 1.1 chsh -s /usr/local/bin/bash 1.2 fsck -y 1.3 call cpureset() 1.4 arp -d -a 1.5 sockstat -4 1.6 netstat -r 1.7 route add … 1.8 sh /etc/rc 1.9 修改、添加或者删除ip地址,我一般是修改/etc/rc.conf,然后执行第9条命令,格式请看手册,例子: 1.10 /var/tmp/vi.recover 2.Reference 1.cmd 1.1 chsh -s /usr/local/bin/bash 修改默认shell(FreeBSD),确保你的shell程序路径在/etc/shells中,例如,如果你要把你的shell设置为你默认的shell,示例: # $FreeBSD: src/etc/shells,v 1.5 2000/04/27 21:58:46 ache Exp $ # # List Continue Reading »

http请求中的via头可能会影响iis6 web服务器的压缩行为

哎,终于更新博客了,这是在大猫那边买空间之后为数不多的文章之一;工作之后发现时间真的是越来越紧张,不像在学校那样时间宽裕,又想念学校生活了。。几个月之前就想更新,学习、加班什么乱七八糟的事耽误着,总让人有种心有余力不足的感觉,差不多空间又要续费了,再不更新资源严重浪费了。 今天记录一下工作中修bug中遇到的一个技术问题,主要是http的via头会影响iis6 web服务器的默认压缩行为;更具体一点,就是如果请求中有via头,并且希望得到压缩内容,也就是”Accept-Encoding”头中的含有有效压缩字符,如”Accept-Encoding: gzip”,那么iis6服务器默认情况下是不回复压缩的内容;因为iis6服务器认为,含有via头的http请求来自代理服务器,它们不能很好的处理有编码的内容;确实是这样,最近修了公司产品几个关于压缩的bug。 我们举例子来理解它的行为: 1.环境:iis6服务器,我用windows 2003装的iis6;任何能发送含有via头请求的浏览器,我用telnet,非常简单但是非常强大;如下图所示。   2.分别发送含有via头的请求和没有via头的请求,我们发现,来自iis6服务器的内容不一样。原因上面已经提及。那么,如何解决?简单,在请求中屏蔽via头,还有一个办法,调整iis6的一个参数,就能让它回复含有编码的内容给含有via头的请求:在配置文件中,C:\WINDOWS\system32\inetsrv\MetaBase.xml,把变量HcNoCompressionForProxies的值变为FALSE;这样,就能收到压缩编码了。如下图:

vmware bridged 桥接模式无法上网,也无法ping通其他主机

折腾vmware折腾了一天半,真郁闷。原来用的是bridged桥接模式能正常上网,但是不知道什么非人为的原因,突然上不了网了,一起之下把之前已经装好的虚拟机环境都删了,那个气氛啊。vmware workstation和vmware player来来回回不知道重新装了几遍,还是解决不了问题,那个郁闷之极。 最后还是Google。这篇博客帮了大忙:http://blog.21ic.com/user1/5809/archives/2009/60113.html。 猜测是桥接的时候初的问题,结果打开网络编辑器,让桥接方式选择物理网卡,果然,能ping通了。之前桥接模式让vmware自动选择网卡的时候,估计它没有选择正确的网卡,因为我安装了loopback,virtualbox,还有vpn的虚拟网卡。如下图所示: 解决办法: 1.打开vmware的网卡编辑器: 2.选择你的物理网卡:  我的物理网卡是Intel(R)……

FreeBSD 源代码安装samba服务器

关于samba的知识,这里不介绍,请参考维基百科: http://en.wikipedia.org/wiki/Samba_(software) http://zh.wikipedia.org/wiki/Samba   这里以安装比较稳定的版本3.0.37为例。 1.下载源代码 http://ftp.samba.org/pub/samba/   2.解压:tar xvfz samba-3.0.37.tar.gz 3.cd samba-3.0.37/source 4../configure 5.make 6.make install(需要root 权限) 7.配置samba (1)编辑/etc/inetd.conf文件(需要root权限)   netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd smbd    netbios-ns dgram udp wait root /usr/local/samba/sbin/nmbd nmbd    swat stream tcp nowait.400 root /usr/local/samba/sbin/swat swat 注意路径 (2)拷贝配置文件: cp samba-3.0.37/examples/smb.conf.default /usr/local/samba/lib/smb.conf (3)编辑配置文件: security = share  hosts allow = 192.168.0.1   《—-允许访问的ip地址列表 guest account = root 定义访问的规则 [policy]    path = /home/……    public = yes #   only guest = yes    writable = yes    printable = no

图解FreeBSD 7.0使用ports安装samba服务器

1.cd /usr/ports/net/samba34; 2.切换到root用户; 3.make install clean; 4.出现这样的编译选项: 选择需要的编译选项,一般默认就行。然后按:O,注意,不是0 5.配置samba (1)/etc/inetd.conf 文件 去掉以下三行注释 netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd smbd    netbios-ns dgram udp wait root /usr/local/samba/sbin/nmbd nmbd    swat stream tcp nowait.400 root /usr/local/samba/sbin/swat swat (2)samba的配置文件smb.conf: cp /usr/local/share/examples/samba34/smb.conf.default /usr/local/etc/smb.conf 需要root 权限 配置 smb.conf 更改这几行: security = share   <— hosts allow = 192.168.0.2  <—添写哪些IP可以访问samba服务器 guest account = root <–一般用root 然后就添加访问文件夹 [src_policy]    path = /home/…..   <—允许访问的路径                     public = yes     #   only guest = yes    writable = yes    printable = no (3)启动samba: /usr/local/etc/rc.d/samba start (3)更多详细信息请参考FreeBSD的手册: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-samba.html

答辩结束了,有点离别的伤感

今天答辩结束,答辩倒不是重点,重点是”舍不得”,舍不得大学生活,舍不得自由的感觉,舍不得学生生活,舍不得小协,舍不得5108…….又婆妈了…… 总喜欢回忆,回忆让人幸福,虽然有点善感,可能是长大之后心灵深处的一个庇护处吧. 吉大,真好,校园这么大,这么美,其实还真是没认真花一次时间逛校园,什么五月花啊,数学楼啊,化学国家重点实验室啊,标志..北京没几所高校的校园比吉大好,就连那几所非常著名的大学都不例外,经理来招聘的时候说,”吉大真奢侈,这么多的草地绿化带”.哎,生在福中不知福.有一次从东门回来,还专门饶过正道,特意在东融大厦旁边的那条小道走走,微风吹吹,感受春的气息,不错,绿化真是不错. 行政楼旁边的篮球场,大一入学的时候就是去那里打的篮球,刚到前几天还真是不敢往里走,真会迷路.当时的后来啊,去了计算机学院取包裹,正好碰到计算机学院的师哥要去大学城招纳新生,屁颠屁颠跟着过去,走了半个小时,我问师哥:师哥,大学城到底在哪啊?…… 倚澜观邸,很不错的小区,真适合养生,安静,空气还好,总比市中心好吧.重点是莎士比亚景观大道,修了两年才修好,真是的.大二的时候泥土溅得全身都是. 体育馆,迪克牛仔来过,当时去听了,那个激动啊,给全班的同学都发了一遍短信,要是beyond来了还不得当场哭得一塌糊涂啊.还有小协,经常在那里活动,场地在熟悉不过了. 冰场,哎,遗憾,没机会滑了,真是很喜欢滑冰,为什么一个学期的时间没学会呢? 体育场,好宽的地方,夏天的时候好喜欢去那跑跑,也是给我自信的地方,长跑的一幕记忆犹新,真希望以后想到体育场的时候,还在坚持锻炼身体. 新食堂,经常去那里吃饭,一楼的饭菜没有吃完,二楼的饭菜倒是吃了无数遍.莘子园,大一之后就很少去那里了.B食堂,可惜啊,印象中就只在那里吃过几个烤饼,味道不错. 计算机学院,计院,青色的外观让人给起了个外号:青楼.真巧,为什么会是青色的呢. 图书馆,真是好地方啊,外观这么豪华,里面学习氛围这么好,留恋忘返啊.主要是,好多好多好书啊!!!可是大三的时候书多起来了.三楼的桌子和凳子都被搬出来了,看书真不方便,还得外借.最遗憾的是,有一本好书没看完就得还了. 在网上搜了几首离别诗,贴在这里,用别人的话语来抒发抒发自己的内心感受.也送给那些即将离校的同学们. 又一季 栀子花的盛开缤纷了青春的色彩羞涩的我们却在这个灿烂的季节难舍又难分犹记得曾在许愿树下的约定那么清澈,那么纯洁你那真诚的笑脸绽放在我的心间天空中一道灿烂的弧线划破了快乐的瞬间我们将匆匆的离别品尝着友谊醉人的芬芳回忆起我们那段清纯的时光站在离别的路口我擦干了眼泪挥了挥手 离别 不愿你走,时间为我停留;思绪如依依拂柳,荡漾我心头。不愿你走,爱恨亦悠悠,情如梦镜般神游。别离,往事依旧;别离,故人挥手;别离,夕阳映映;别离,落红亦悲愁。相约黄昏后,心要走,人难留。挥泪饮苦酒,豪情溢觥筹,泪洗眼,何须问原由? 别-顾程 在春天你把手帕轻挥是让我远去还是马上返回 不,什么也不是什么也不因为就像水中的落花就像花上的露水 只有影子懂得只有风能体会只有叹息掠起的彩蝶还在心花中纷飞……. 送别 偶然的我们相遇 变成了忘年知已 同耽心共忧虑 带给我友情的温馨 纵然你将远去异域 友谊相系暖自我心底 纵然你将离我远去 友谊相系你我心底 我在这默默祝福你 祝福你能有好运气 娶一个贤德的妻 帮助你奠定事业基 没有什么好送给你 送你一首自己谱的曲 陪你远渡太平洋 做为一份祝福的礼 送元二使安西王维 渭城朝雨浥轻尘,客舍青青柳色新。劝君更尽一杯酒,西出阳关无故人。 雨霖铃 柳永 念去去,千里烟波,暮霭沉沉楚天阔。(下阕)多情自古伤离别,更那堪,冷落清秋节。今宵酒醒何处?杨柳岸,晓风残月。此去经年,应是良辰好景虚设。便纵有千种风情,更与何人说?

Page 5 of 21« First...34567...1020...Last »