操作系统式如何调用不同类型的硬件并使其工作的?
我们都知道硬件的类型有很多,那么要想使开发的操作系统能够良好
的支持并且调用硬件工作是不可能的,所以我们需要一个中间程序,
这个程序就是驱动,驱动是内核的一部分
linux中常见的硬盘接口有以下几种:
ATA(IDE) : 并行设备 理论速度--》133M/S
SATA: 串行设备 理论速度--》300M/S
SCSI: 并行设备 硬盘本身有一个芯片,大大减少了
cpu在对I/O设备控制的时间企业级使用 价格昂贵
SAS:
USB:
按照接口方式不同linux中把IDE接口类型定义为 /dev/hda
其他的被定义为 /dev/sda
/dev/hda1 ..../dev/hda4 主分区
/dev/hda5...... 逻辑分区
linux下能识别的文件系统类型:
ext3 ext2 ext4 xfs jfs reiserfs iso9660 swap vfat
fdisk -l ...............查看当前系统硬盘设备和分区信息
每块硬盘的零磁道零扇区大小512K ,其中446K为bootloader
64给了分区,每个分区信息占用16K,这就是我们只能创建四个主
分区的原因
partprobe /dev/sda ........通知系统重读这块磁盘的分区表
mkfs .................创建文件系统
-t.................指定文件系统类型
-c.................创建前先检查磁盘坏道(很慢)
mkfs -t ext2 /dev/sda5..........分区创建后创建文件系统
blkid ..................识别块设备,显示其UUID信息
mke2fs ...................专门用于创建ext2/ext3文件系统
-b .................指定创建时候的块(block)大小
-j ................创建ext3文件系统
-l .................给分区一个卷标
-i .................inode 比率
-n..................明确指定分多少inode
-m..................改变管理员预留空间(默认5%)
mke2fs -b 2048 -L MYDATE -j /dev/sda5........
fsck ....................用于检查文件系统
-t ..................指定类型
tune2fs ......................修改创建时的一些属性
tune2fs -j /dev/sda5...........变为ext3文件系统
-L ...................改变卷标
-l....................查看超级块信息
-m...................修改管理员预留空间
-o ....................设定这个分区的默认挂载选项
exlabel /dev/sda5 ............查看卷标
exlabel /dev/sda5 zhangjibo....修改卷标
mount -r .....................只读挂载
-t .......................指定文件类型
单独用mount......................显示的是/etc/mtab文件信息
包括分区,分区挂载点,文件类型
-n .....................指定不在/etc/mtab写入挂载
信息
-o .....................指定挂载选项
async :异步写入 写入文件时可以在内存中缓存
noatime..............关闭访问时间更新功能
exec..................是否允许二进制文件自动执行
mount -o ro /dev/sda5 /mydate ....指定只读
mount -o remount,rw /dev/sda5 .....重新挂载
cat /etc/fstab(很重要的一个文件) ................查看启动
过程中所有可以自动挂载的分区
fuser -v /mydate ................查看谁在访问当前挂载目录
fuser -km /mydate................直接剔除正在使用目录的用户
虚拟内存的两种创建方法:
第一 --》在磁盘上创建一片空间
1),创建一个分区
2),创建的过程要修改其ID号为82
3),partprobe /dev/sda 重读分区表
4), mkswap (-L 指定卷标) /dev/sda5 创建分区系统
5), swapon /dev/sda5 (关闭用swapoff)
如果想开机自动挂载则要写入文件/etc/fstab
第二种:在磁盘没有剩余空间的时候
1),dd if=/etc/zero of=/tmp/file bs=1024 count=10000
2) , mkswap /tmp/swapfile
3), swapon /tmp/swapfile(关闭则用swapoff)
dd --》实际是一个拷贝的命令,直接拷贝01代码过去,所以可以创
建IO镜像,甚至还可以备份硬盘MBR...
阅读(1686) | 评论(0) | 转发(1) |