自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

原创 [MIT6.828]LAB2 Exercise & Question总结

<br />E1:In the file kern/pmap.c, you must implement code for the following functions.<br />    boot_alloc()<br />    page_init()<br />    page_alloc()<br />    page_free()<br /><br />static void *boot_alloc(uint32_t n, uint32_t align){ extern

2010-11-28 12:43:00 3019

原创 [Linux内核完全剖析]第七章 初始化程序(init)总结

<br />系统初始化程序init/main.c主要功能是对系统进行初始化,并切换到用户模式下执行登录程序。<br />主要步骤如下:<br />1、系统初始化部分:<br /> // init/main.c void main(void) // 前面代码略,以下是内核进行所有方面的初始化工作。 mem_init (main_memory_start, memory_end); trap_init (); // 陷阱门(硬件中断向量)初始化。(ke

2010-11-22 16:13:00 1441

原创 十一月二十一日记

<br />好久都没有写日记,是不是变成月季(误)了呢^^ 最近以来一直在看内核,不过这一周稍微放松了一下,不知道应该说是偷懒,还是说生活要张驰有度啊。<br />在姐姐大人的指导下,终于把"Kissxsis"这部漫画+动画看完了。同样不晓得是把它判定为邪恶还是有爱类型。反正呢未成年人禁止观看,有大人陪同也不行,有姐姐陪同的更不行!<br />接下来的一周又要投入紧张的学习中去了,加油吧少年(青年才对吧--!),美好的未来在等着你。通篇不知所谓的梦游完毕。。。

2010-11-21 01:29:00 920 7

原创 [Linux内核完全剖析]第六章 引导启动程序(boot)总结

<br />Linux0.11中设备命名方式:<br /><br />1-内存、2-磁盘、3-硬盘、4-ttyx(串行终端)、5-tty(控制终端)、6-并口、7-匿名管道。<br />硬盘逻辑设备号命名方式:设备号*0x100+次设备号。<br />次设备号:(硬盘号-1)*5+分区号,如不带分区号则代表整块硬盘。<br />这种命名方式在0.95内核以后被废除。<br /><br />boot目录下共有3个文件:<br />1、bootsect.s:as86汇编文件,主要用来载入

2010-11-16 18:14:00 1074 1

原创 [Linux内核完全剖析]第五章Linux内核体系结构5.7总结 进程控制

<br />PCB(Process Control Block 进程控制块)又称任务数据结构,位于include/linux/sched.h中:<br />struct task_struct{ long state; //任务的运行状态(-1 不可运行,0 可运行(就绪),>0 已停止)。 long counter; //任务运行时间计数(递减)(滴答数),运行时间片。 long priority; //运行优先数。任务开始运行时counter = priority。

2010-11-11 22:31:00 1226

原创 [Linux内核完全剖析]第五章Linux内核体系结构5.4-5.6总结 x86中断和时间控制

<br />x86中断子系统<br />x86微机系统中采用了8259A可编程中断控制器,每个8259A可以管理8个中断源,通过多片级联方式,可以构成最多管理64个中断向量的系统。PC/AT中使用了2片8259A,共可管理15个中断向量。CPU通过IO指令对8259A进行初始化后,芯片就可以根据当前设定的优先级状态通过INT引脚来通知CPU中断请求。CPU响应后,会从数据总线D7-D0获取从芯片发送的中断号。<br /><br />CPU根据中断号要获取中断服务地址,就需要一张中段向量表(实模式)/

2010-11-08 18:03:00 948

原创 [Linux内核完全剖析]第五章Linux内核体系结构5.1-5.3总结 Linux内存空间分配

<br />Linux内核是宏/单内核,分5个模块:进程调度模块、内存管理模块、文件系统模块、进程间通讯模块、网络接口模块。<br /><br />三种地址概念:<br />虚拟地址(Virtual Address)、逻辑地址(Logical Address):是程序产生的。虚拟地址由段选择符和段内偏移两部分组成,段内偏移又称逻辑地址。需根据GDT和LDT进行分段变换才能进行下一步地址处理。x86可以索引2^14个段选择符,每个段最长2^32B,最大虚拟地址空间为2^46(64T)B。<br /><

2010-11-08 10:24:00 1166 2

原创 [MIT6.828] LAB1中VBE图形界面测试总结

<br />看到红色的Challenge就想挑战一把,于是搞了下VESA图形模式的编程。<br /><br />科普知识:<br /><br />什么是VBE?<br />VBE的全称是VESA BIOS Extension。<br /><br />什么是VESA?<br />VESA的全称是Video Electronics Standards Association即视频电子标准协会,是由代表来自世界各地的、享有投票权利的超过165家成员公司的董事会领导的非盈利国际组织。<br />

2010-11-04 22:59:00 3341 3

原创 [MIT6.828]LAB1输入输出TAB字符的若干问题及总结

<br />LAB1给代码中的'/t'的处理很简陋,直接把'/t'替换为5个空格,这和我们平时习惯有很大不同,所以要改造一下。<br /><br />1、在kern/console.c cga_putc()函数中,可以看到'/t'case分支,把这个分支替换为如下代码:<br /> case '/t': do{ cons_putc(' '); }while(crt_pos%

2010-11-02 17:05:00 1414 3

Masm集成环境V1.5

本版本软件是由编辑器Editplus 3编译器Masm6.15调试器CodeView集成而致。Editplus 3来自于绿盟,Masm6.15以及CodeView提取于《Intel汇编语言程序设计》(<Assembly Language for Intel-Based Computers>后简称《intel...》)一书附带光盘。但是由于暂时没有适合的32位调试器所以没有添加32位调试功能(但可生成32位程序)用户可根据自己需求添加在此推荐VC和Onlydbg两款。 得益于Editplus的强大编辑功能,用户(尤其是16位程序员)不必忍受edit/notepad等难用的编辑功能,编辑,生成,调试功能都集成在editplus中,不用再各个功能间来回切换,支持语法高亮,更方便更节省时间。

2008-11-08

MASM6.15 V1.1

建议用户使用08-11-08上传的最新版本Masm集成环境V1.5 http://download.csdn.net/source/760973   本版本采用《Intel汇编语言程序设计》(后简称《intel...》)一书附带光盘中的安装文件提取而成。仅去掉了此书中的示例程序,而其他文件(.inc/.lib)文件都是全部添加的,故此版本不仅适合于《Intel...》此书读者,也适用于绝大多数编译者。  为了方便用户编译运行程,文件根目录有几个常用文件。它的分别是:    ml.exe      用于快速编生成程序(如果没有加入任何外接链接库的话,这个命令最方便)  make16.bat    用于生成16位可执行程序(《intel...》一书中专用的代码编译专用)  make32.bat    用于生成32位可执行程序(《intel...》一书中专用的代码编译专用)  command.pif    用于打开命令行运行命令  runcv.bat 用于打开CV调试器  runqh.bat 用于打开帮助文件

2008-03-02

MASM6.15v1.0

建议用户使用08-11-08上传的最新版本Masm集成环境V1.5 http://download.csdn.net/source/760973 本版本采用《Intel汇编语言程序设计》一书附带光盘中的安装文件提取而成。仅去掉了此书中的示例程序,而其他文件(.inc/.lib)文件都是全部添加的,故此版本不仅适合于《Intel...》此书读者,也适用于绝大多数编译者.   为了方便用户编译运行程,文件根目录有4个批处理文件。它的分别是:   make16.bat    用于生成16位可执行程序   make32.bat    用于生成32位可执行程序   runcv.bat     

2008-01-09

MASM6.15 编译器

建议用户使用08-11-08上传的最新版本Masm集成环境V1.5 http://download.csdn.net/source/760973   本版本采用《Intel汇编语言程序设计》一书附带光盘中的安装文件提取而成。仅去掉了此书中的示例程序,而其他文件(.inc/.lib)文件都是全部添加的,故此版本不仅适合于《Intel...》此书读者,也适用于绝大多数编译者。   为了方便用户编译运行程,文件根目录有4个批处理文件。它的分别是:   make16.bat    用于生成16位可执行程序   make32.bat    用于生成32位可执行程序   runcv.bat     用于设置CV调试器   runqh.bat     用于设置帮助文件   这四个批处理文件默认处理路径是在默认安装路径C:\masm615下,如果选择别的安装路径,这四个bat文件一定要编辑,把其中的路径改为手动设置的安装路径。   未尽事宜,以后补充,或联系作者本人。                            davelv 08-1-8      CFAN论坛程序设计与交流区:http://bbs.cfan.com.cn/forum-53-1.html

2008-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除