- 博客(7)
- 收藏
- 关注
原创 vlan学习
这段时间学习了vlan,这里总结一下,备忘。 1. vlan的概念 首先,我们先要了解一下vlan的用途。vlan的全称是virtual local area network,目的是用来在二层网络分割广播域。 正常在一个二层的物理交换机上,A1电脑发出去的广播包,默认下交换机所有端口下的电脑都可以收到该广播包(A1到A6电脑都可以互相通信)。但是...
2019-03-02 01:04:48 1181
原创 linux汇编学习(6)---添加根文件系统
这里应该是和汇编没有关系了。但是前面用汇编引导了内核,我打算做成一个能够使用小型linux系统,所以我们需要给我们的linux系统添加一个根文件系统。 那么首先我们需要规划一下我们的磁盘。我打算使用20G的磁盘,其中1G作为内核存放,剩下的就是文件系统了。#truncate -s 20G disk.raw#losetup /dev/loop0 disk.raw#fdisk
2017-12-18 23:08:39 347
原创 linux汇编学习(4)-----引导linux内核
现在,我们已经进入了保护模式,下面就是开始从磁盘加载linux内核。 首先我们看一下我们的内核编译的产物(摘自 https://www.slideshare.net/shimosawa/linux-kernel-booting-process-1-for-nlkb): 1 . 首先内核编译时候,生产文件vmlinux,大小141MB #du -sh vmli
2017-12-06 22:49:02 785
原创 linux的汇编学习(3)---进入保护模式
现在我们完成我们第一个主要的功能:引导Linux内核。 首先我们要准备一个Linux内核文件 bzImag。如何引导Linux内核呢?需要做几件事情: 1. 如何把内核加载到内存去执行; 2. 进入保护模式,保护模式带来的好处有很多,例如访问4G内存范围,以及访问内存权限设置; 3. 开启A20地址线(原因:http://blog.csdn.net/
2017-12-03 23:43:24 1703 2
原创 linux汇编学习(2)-----摆脱MBR大小的限制,加载stage2代码
我们知道,系统启动会加载磁盘的MBR扇区到内存0x7c00那里去执行。但是毕竟MBR扇区只有512个字节,如果要实现设置GDT,读取内核,引导内核等功能,这512字节显得力不从心。所以我们这里第一步就是通过MBR去磁盘读取一块更大的空间到内存然后去执行这部分代码(称为 stage2)。这里我们尤其要注意一点就是,系统刚从BIOS启动执行磁盘MBR数据,CPU的工作模式还是实模式,寄存器都是16位的
2017-11-30 01:43:02 421
原创 linux的汇编学习(1)---实现打印寄存器的数值,或者打印字符串
这里实现了两个函数:1. 一个是print_hex函数,用于实现把bx寄存器的内容以十六进制的形式显示出来2. 一个是print_string函数,用于实现把bx寄存器所指向的字符串打印出来直接看最终的代码实现:[org 0x7c00];打印字符串mov bx, hello_stringcall print_string;打印数字mov bx, 0
2017-11-25 01:35:36 4709 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人