自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 修改通知

在操作系统与网络实现 之二--使用makefile文件--中有一个错误:将然后电脑将这个程序读入内存地址0xfc00:0000处开始执行。改为:然后电脑将这个程序读入内存地址0x7c00:0000处开始执行。

2017-05-24 14:49:16 243

原创 操作系统与网络实现 之二十三(丙)

addinter.asm

2017-02-03 16:31:27 318

原创 操作系统与网络实现 之二十三(乙)

kernel.asm

2017-02-03 16:30:25 191

原创 操作系统与网络实现 之二十三(甲)

键盘中断

2017-02-03 16:29:09 228

原创 操作系统与网络实现 之二十二

键盘机制

2017-02-03 16:27:29 351

原创 操作系统与网络实现 之二十一

添加中断 中断描述符 中断门IDT

2017-02-03 16:26:19 201

原创 操作系统与网络实现 之二十(丁)

mac.asm [BITS 32]   [GLOBAL _netinitial]

2017-01-05 15:52:58 296

原创 操作系统与网络实现 之二十(丙)

port.c unsigned char readb( unsigned short P )

2017-01-05 15:43:58 177

原创 操作系统与网络实现 之二十(乙)

kernel.asm [BITS 32] [GLOBAL start]

2017-01-05 15:36:52 212

原创 操作系统与网络实现 之二十(甲)

2017,大家新年好! 网络连接代码 bochsrc.bxrc   (for Bochs-2.6.8)

2017-01-05 15:32:57 275

原创 操作系统与网络实现 之一(己)

提前祝大家圣诞快乐!

2016-12-23 13:58:16 217

原创 操作系统与网络实现 之十九(己)

抓包工具显示源地址和目标地址:192.168.1.99  111.13.100.92   同时显示网卡传送数据:Hello world!   至此网络试验结束。

2016-12-08 21:11:40 226

原创 操作系统与网络实现 之十九(戊)

下面回文之前的询问:   因为我们没有回答,回文没收到 抓包工具正确捕获发送数据如下: EC 17 2F F4 C5 A2 B0 C4 20 A1 3C 00 08 00 45 00 00 54 00 10 00 00 40 01 E5 24 C0 A8 01 63 6F 0D 64 5C 08 00 96 98 2B 00

2016-12-08 20:46:24 243

原创 操作系统与网络实现 之十九(丁)

下面是网卡发送ICMP(模拟ping 命令) 用niclist查看我的真实网卡并在bochsrc.bxrc中写入: ne2k:enabled=1,mac=b0:c4:20:A1:3C:00,ethmod=win32, ethdev=\Device\NPF_{B59B6CEB-251D-46D7-8778-EBAC0CAACC7D} pci: e

2016-12-08 20:23:56 267

原创 操作系统与网络实现 之十九(丙)

mac.asm中ns数据解释,共九十八字节: 0xEC,0x17,0x2F,0xF4,0xC5,0xA2,0xB0,0xC4,0x20,0xA1,0x3C,0x00,0x08,0x00,0x45,0x00,0x00,0x54,0x00,0x10,0x00,0x00,0x40,0x01,0xE5,0x24,0xC0,0xA8,0x01,0x63,0x6F,0x0D,0x64,0x5

2016-12-08 20:23:13 356

原创 操作系统与网络实现 之十九(乙)

对网卡初始化,先要熟悉ne2000兼容网卡,我没找到8029资料,不过8019也是一样。 参考 rtl8019as中文手册 寄存器 偏移量 0页方式

2016-12-08 19:37:23 358

原创 操作系统与网络实现 之十九(甲)

网络连接代码解释 通过以上实验我们大致了解了网络连接中发生的事情,下面我们用代码来实现它。 我们没有必要按上面的实验一步一步来,有些数据对于我们来说是清楚的,那么可以省去这部分代码。 比如: 192.168.1.1  对应  ec:17:2f:f4:c5:a2  192.168.1.99 对应  b0:c4

2016-12-08 19:15:42 251

原创 操作系统与网络实现 之一(戊)

在C盘根目录建立文件夹DJGPP,C:\DJGPP,将下载的文件全部拷贝到这个文件夹.进入dos窗口,打开文件夹C:\DJGPP,并运行命令: unzip32  *.zip. 用IE打开README.1ST,按其方法配置djgpp。 步骤如下: 设置环境变量 右击“我的电脑”——“属性”——“高级”——“环境变量”

2016-11-03 19:44:12 285

原创 操作系统与网络实现 之一(丁)

继续选择如下内容:   最后点击最下面的   在打开的第三网页中,依次点击下载以下各文件:

2016-11-03 19:43:39 176

原创 操作系统与网络实现 之一(丙)

C编译器 选择djgpp 在Windows环境下gcc编译器有djgpp, MinGW,devcpp,等.我们选择djgpp 这个djgpp里面带的gcc版本是4.7.3 具体下载过程: 打开网页http://www.delorie.com/djgpp/     点

2016-11-03 19:42:57 249

原创 操作系统与网络实现 之一(乙)

网卡成功传送数据:Hello world!       搭建开发环境 在windows XP环境下 首先选择各个工具软件,我们选择的都是可以自由使用的软件: 文本编辑器: 选用软件Notepad++。 其它辅助工具: 反汇编软件

2016-11-03 19:42:12 263

原创 操作系统与网络实现 之十八(丁)

在bochs2.6中运行DlxLinux: ping –c 1 111.13.100.92 这时dos窗口windump看到:   arp首先会问网关在哪里: 1. arp问谁有这个IP地址:192.168.1.1  (真实路由) arp答复在ec:17:2f:f4:c5:

2016-11-03 16:54:14 378

原创 操作系统与网络实现 之十八(丙)

使用抓包软件 下载windump放在D:盘。 下载并安装抓包软件。 运行抓包工具->包过滤->选择网卡192.168.1.101->协议过滤->仅包含->ICMP->开始捕包。 两个软件一起使用,互相对照,对于windump我们只用到两个命令-D查看网卡命令,-i 监听第几个网卡命令

2016-11-03 16:51:40 290

原创 操作系统与网络实现 之十八(乙)

设置好网络之后,下面可以运行网络命令了。 首先ping网关: ping –c 1 192.168.1.1 显示发出一个包,接收一个包:   接下来ping百度: ping –c 1 111.13.100.92 如果一直没有反应,那么就是防火墙拦住了。 点开ZoneAlarm

2016-11-03 16:32:30 216

原创 操作系统与网络实现 之十八(甲)

网络运行实验 讲到网络,别人都是吞吞吐吐,欲语还羞的,从这里开始,我们就为大家揭开这层神秘的面纱。 目前我们对网络连接一无所知,概念上也没有一个具体的认识,只有自己真正的经历过,思想里才会形成一个感性的认识。有这么一个连上网络的实践过程显得很重要,对我们网络编程也会起到一个指导作用。 我们将通过在bochs2.6.0运行其自带的dlxlinux

2016-11-03 16:20:17 468

原创 操作系统与网络实现 之十七

设备枚举 在linux中设备枚举是个很复杂的过程,设备登记,建立链表,等等等等......,我们这里大大简化了,因为我们知道bochs虚拟机有pci总线,有网卡,这些是已知的,那么“检测有什么设备”这个步骤就可以省略,只要直接找到它们就行了,这样简单了很多。 实际上大家电脑配置都不一样,但是用bochs虚拟机与大家的电脑实际配置是没有关系的,bochs虚拟出来的

2016-10-11 16:30:35 480

原创 操作系统与网络实现 之十六

内嵌汇编 以后我们要和一些端口打交道,端口0xCF8是PCI的地址寄存器IO地址,端口0xCFC是PCI的数据寄存器IO地址,还有网卡端口。 要执行写入端口和从端口读出操作,在汇编中是这样实现的: mov al,0x02 in 0xcf8,al Linux下c语言内嵌汇编格式: __asm_

2016-10-02 16:36:01 249

原创 操作系统与网络实现 之十五

鼠标及键盘 这两部分代码,网上有很多资源,亲们可以自己试试编写,这里先就不介绍了,以后有机会再补充。下面重点介绍网络连接。

2016-10-02 16:27:05 218

原创 一周年

下个月就一周年了,时间过得快啊。前段我有点懒,我会将余下的全部发出来,现在在尽快修改中。

2016-09-25 20:01:27 174

原创 修改通知

请大家注意,对代码作了小的修改,就是 mov  word[pdescr+0],(gdt_entries*8-1) 改为mov  word[pdescr+0],(gdt_entries*8)

2016-01-19 14:45:58 191

原创 操作系统与网络实现 之十四

今天是2016年1月17日,乙未年腊八节,给大家上新的一章 显示图片 掌握上面的知识,编写画图程序就简单了:   boot.asm不变: [BITS 16]                                                 ;编译成16位的指令 [ORG 0x7C00] jmp                 main   read_kernelloader:

2016-01-18 15:21:33 283

原创 操作系统与网络实现 之十三

BMP文件格式解析 2016到了,大家新年好,新的东西,福利来了 bmp文件结构解析: 一个bmp图片最多由4大部分组成:BITMAPFILEHEADER结构体,BITMAPINFOHEADER结构体,RGBQUAD结构体(这个结构体可以有,也可以没有),DIB数据区。其中DIB意思就是Device-Independent Bitmap(设备无关位图)。 一个bmp文件以BITMAPFILEHEA

2016-01-04 14:14:45 254

原创 操作系统与网络实现 之十二

输出字库中的字符 现在在内存中有字库了,我们就可以任意显示英文和中文了。   boot.asm不变: [BITS 16]        ;编译成16位的指令 [ORG 0x7C00] jmp                 main   read_kernelloader:          ;读入 kernelloader 程序   push              es     .rkl:

2015-12-12 19:26:18 267

原创 操作系统与网络实现 之十一

上传字库与图片 新建目录:D:\GX\ya\charpic 存放asc16英文字库,hzk16f汉字字库,图片ya.bmp,faya.bmp 文件hzk16f和文件asc16分别为16*16的汉字点阵文件和8*16的英文点阵文件   对应的我们将用到int 13h功能: 功能02H  功能描述:读扇区 入口参数:AH=02H AL=扇区数 CH=磁道 CL=开始扇区 DH=磁头 DL=驱动器号,

2015-12-09 16:11:15 319

原创 操作系统与网络实现 之十

显示字母与汉字 现在我们明白了字符是怎么存在的,是怎么被显示出来的,下面我们将实践这个过程。 一些准备工作。 新建目录:D:\GX\ya\include,这里将存放头文件。   boot.asm源码不变: [BITS 16]                ;编译成16位的指令 [ORG 0x7C00] jmp                 main   read_kernelloader:

2015-11-16 19:57:19 333

原创 bochs上网及配置

下载并安装bochs2.6:(不能是更高版本) 创建bochs 时注意勾选Dlx linux Demo,但是其文件bochsrc.bxrc中无Ne2k网卡选项,这一段要自己添加,详情见后。 先确定我们电脑里的真实网卡: 开始->程序->附件->命令提示符 DOS窗口下运行ipconfig /all 记住真实网卡是VIA 下载安装wincap,这个是bochs运行网卡要求的条件,它是

2015-11-15 16:54:51 4556

原创 操作系统与网络实现 之九

点阵字库   字母Y 对应bit值 字母A 对应bit值                 00000000                 00000000                 00000000                 00000000   M M     M M

2015-11-10 12:54:01 287

原创 操作系统与网络实现 之八

颜色的生成 前面我们使用了一个值0x7ff,将此值填入显卡地址后显示的是一个蓝色的点,那么这个值是怎么来的呢? 色彩是由红、绿、蓝三色按不同配比而组成的. 不同色彩的值经过一定形式组合后,会产生各种不同的色彩。 三种颜色的值从0到255,代表三色的强弱,分别对应值0x0 - 0xff。每种颜色是8位,三种颜色就占24位,但是我们的图形模式是16位颜色,其中r:g:b是按5:6:5占位,共16位,2

2015-11-07 13:42:44 297

原创 操作系统与网络实现 之七

使用C语言编写内核 到目前为止,我们可以使用32位编程了,但是用汇编编程还是一件比较枯燥、比较痛苦的事,下一步我们想用C语言编写32位系统,那么怎么办? 办法就是在kernel.asm使用call语句直接调用C程序。 具体过程如下: 汇编文件kernel.asm生成中间文件kernel.asmo。 C文件kernel.c生成中间文件kernel.o。 这两个中间文件再链接生成kernel.bin文

2015-11-06 21:36:06 213

原创 操作系统与网络实现 之三

关于磁盘的数据存储和定位 这是一个磁盘示意图: 一个磁盘有两面。0面和1面。 磁道共80个,编号由外向里(0号-79号)。 扇区(Sector)是磁盘存储的最小单位,一个扇区有512字节,一个磁道有18个扇区(1号-18号)。   为方便存取文件必须对扇区进行编号,这编号称为软盘地址。软盘地址由磁头号、磁道号、扇区号三部分组成。 (1)磁头号。0面对应0号磁头,1面对应1号磁头。    (2)

2015-11-06 15:27:55 336

空空如也

空空如也

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

TA关注的人

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