Linux中的超级块和MBR各指的是什么?请详解!!
linux用的是虚拟文件系统,块组是相当于windows系统的硬盘分区,比如c盘d盘。超级块位于块组的最前面,描述文件系统整体信息的数据结构,主要描述文件系统的目录和文件的静态分布情况,以及描述文件系统的各种组成结构的尺寸、数量等。
超级块是存储对应文件系统元数据的结构,存储的元数据包括包括文件系统大小,块大小,以及空闲及已使用的块的数量inode表的大学及位置等消息下面是对应的内核源码
struct super_block {
struct list_head s_list; /* Keep this first */
dev_t s_dev; /* search index; _not_ kdev_t */
unsigned char s_dirt;
unsigned char s_blocksize_bits;
unsigned long s_blocksize;
loff_t s_maxbytes; /* Max file size */
struct file_system_type *s_type;
const struct super_operations *s_op;
const struct dquot_operations *dq_op;
const struct quotactl_ops *s_qcop;
const struct export_operations *s_export_op;
unsigned long s_flags;
unsigned long s_magic;
struct dentry *s_root;
struct rw_semaphore s_umount;
struct mutex s_lock;
int s_count;
atomic_t s_active;
#ifdef CONFIG_SECURITY
void *s_security;
#endif
const struct xattr_handler **s_xattr;
struct list_head s_inodes; /* all inodes */
struct hlist_head s_anon; /* anonymous dentries for (nfs) exporting */
#ifdef CONFIG_SMP
struct list_head __percpu *s_files;
#else
struct list_head s_files;
#endif
/* s_dentry_lru and s_nr_dentry_unused are protected by dcache_lock */
struct list_head s_dentry_lru; /* unused dentry lru */
int s_nr_dentry_unused; /* # of dentry on lru */
struct block_device *s_bdev;
struct backing_dev_info *s_bdi;
struct mtd_info *s_mtd;
struct list_head s_instances;
struct quota_info s_dquot; /* Diskquota specific options */
int s_frozen;
wait_queue_head_t s_wait_unfrozen;
char s_id[32]; /* Informational name */
void *s_fs_info; /* Filesystem private info */
fmode_t s_mode;
/* Granularity of c/m/atime in ns.
Cannot be worse than a second */
u32 s_time_gran;
/*
* The next field is for VFS *only*. No filesystems have any business
* even looking at it. You had been warned.
*/
struct mutex s_vfs_rename_mutex; /* Kludge */
/*
* Filesystem subtype. If non-empty the filesystem type field
* in /proc/mounts will be "type.subtype"
*/
char *s_subtype;
/*
* Saved mount options for lazy filesystems using
* generic_show_options()
*/
char *s_options;
};
MBR(Master Boot Record),中文意为主引导记录。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。
他是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。
附:
liunx和unix是为了做服务器用途的,它必须保证365*24运行,它的设计就决定不需要整理磁盘碎片。
一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。
大部分UNIX文件系统种类具有类似的通用结构,即使细节有些变化。其中心概念是超级块superblock, i节点inode, 数据块data block,目录块directory block, 和间接块indirection block。超级块包括文件系统的总体信息,比如大小(其准确信息依赖文件系统)。 i节点包括除了名字外的一个文件的所有信息,名字与i节点数目一起存在目录中,目录条目包括文件名和文件的i节点数目。 i节点包括几个数据块的数目,用于存储文件的数据。 i节点中只有少量数据块数的空间,如果需要更多,会动态分配指向数据块的指针空间。这些动态分配的块是间接块;为了找到数据块,这名字指出它必须先找到间接块的号码。
UNIX文件系统通常允许在文件中产生孔(hole) , 意思是文件系统假装文件中有一个特殊的位置只有0字节,但没有为这文件的这个位置保留实际的磁盘空间(这意味着这个文件将少用一些磁盘空间)。这对小的二进制文件经常发生,Linux共享库、一些数据库和其他一些特殊情况。 (孔由存储在间接块或i节点中的作为数据块地址的一个特殊值实现,这个特殊地址说明没有为文件的这个部分分配数据块,即,文件中有一个孔。)
linux 虚拟文件系统的作用以及工作原理~~???
对所调用的每个读写或者其他函数,内核都能把它们替换成支持本地linux文件系统,NTFS文件系统或者文件所在的任何文件系统的实际函数。至于vfs的工作原理 就不是三言两语可以解释清楚的了、里面包含了很多知识包括文件系统、超级块、i节点等等知识。其实主要就是用户安装了不同的文件系统,每个特定文件系统上都...
Linux 下 halt,poweroff,shutdown 有什么区别
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。[-w] 并不是真正的重启或关机﹐只是写wtmp〔\/var\/log\/wtmp〕纪录。[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。[-f] 没有调用shutdown而强制关机或重启。[-i] 关机〔或...
同一块硬盘,为什么在windows下 linux下 大小不一致
FAT32 的文件分配表很简单,位于分区开始位置每个文件的信息节点容量固定。子目录的目录系统在数据区,但空间分配记录依然在分区开头部分。就评这三个分区不同的文件管理方式。他们占用的容量就不一样,你所看到的容量,仅仅是数据区的容量。你看到的容量不同,一般是因为:1、分区超级块的大小;2、文件...
linux重启命令
shutdown就是使用这种机制。init定义了8个运行级别,init0为关机、init1为重启,其它运行级别这里不做过多介绍。首先我首要把linux开机,命令rebot这个是linux的重启命令,输入回车就重新启动。reboot有一参数,执行的意义就不一样了reboot-f就是强制关机不调用shutdown。linux重启命令有五个,分别如下:shut...
linux的长用命令
13. tune2fs---调整Linux第二扩展文件系统的参数tune2fs [options] device$ tune2fs -l \/dev\/hda1 显示hda1分区的超级块内容$ tune2fs -c 100 \/dev\/hda1 设置hda1分区每mount100次就进行磁盘检查14. uniq---过滤、统计、删除重复行uniq [options][file1 [files]]$ uniq -c filefile中的重复行输出...
魔数是什么?
其实这是魔数的作用,文件系统也有自己的魔数,魔数的神秘力量在此施展了。各分区都有超级块,一般位于本分区的第2 个扇区,比如若各分区的扇区以0 开始索引,其第1 个扇区便是超级块的起始扇区。超级块里面记录了此分区的信息,其中就有文件系统的魔数, 一种文件系统对应一个魔数,比对此值便知道...
Linux的重启命令有哪些
-p 关闭操作系统之前将系统中所有的硬件设置为备用模式 3、halt 最简单的关机命令。其实halt就是调用shutdown -h。halt执行时,杀死应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核。参数说明:[-n] 防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块superblock...
linux下什么叫文件系统备份,什么叫目录备份,有什么区别呢?
文件系统备份,备份的对象是分区,将这个分区的文件系统下的所有数据做备份,包括所有的文件和目录,以及引导程序,超级块等元数据。目录备份,备份的只是单个和多个目录,只是将文件和目录打个包,相当于windows的rar文件压缩。
什么是虚拟文件系统?优点是什么?Linux常用的文件系统是什么?
优点是:vfs使linux同时安装、支持许多不同类型的文件系统成为可能。vfs拥有关于各种特殊文件系统的公共界面,如超级块、inode、文件操作函数入口等。实际文件系统的细节,统一由vfs的公共界面来索引,它们对系统核心和用户进程来说是透明的。linux 中经常使用 reiserfs 文件系统 ...
虚拟文件是什么啊?
write_super:当VFS超级块需要被写入磁盘时被调用。此方法为可选的。 statfs:当VFS需要得到文件系统的统计数据时调用。此方法调用时需要锁住内核。 remount_fs:当文件系统被重新安装时调用。此方法调用时需要锁住内核。 clear_inode:当VFS清除i节点时调用。可选项。 以上方法中,read_inode需要填充"i_op"域,此域为...
博唯双黄: 超级块(SuperBlock)包括文件系统的总体信息,比如大小(其准确信息依赖文件系统). MBR(Master Boot Record),中文意为主引导记录. 硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分.第一部...
志丹县17715909295: 什么是超级块,在linux内核中如何实现的 - ?
博唯双黄: 一个文件系统(分区)的详细信息 每个分区都有一个超级块 记录了分区大小 inode的使用信息(编号等)
志丹县17715909295: 在linux 系统中,i节点有多少个物理地址字段 - ?
博唯双黄: 一个磁盘可以划分为很多个扇区, 每个扇区有512个字节, 扇区是磁盘的基本存储单元.将每个扇区编号, 这样磁盘就变为了一系列编了号的块组合. 一个磁盘主要包括引导块, 超级块, i节点表,文件存储区, 进程对换区等. 1、.引导块 引...
志丹县17715909295: Linux内核引导时,从哪个文件中读取要加载的文件系统? - ?
博唯双黄: 一、 Linux内核引导时,从文件【 /etc/fstab 】中读取要加载的文件系统.二、 Linux面试题部分享: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ...
志丹县17715909295: Linux中的文件管理对象有哪些? - ?
博唯双黄: linux中文件管理对象有超级块对象(superblock),索引结点对象(inode),数据块对象(datablock),目录块对象(diredtory block).其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置.但是索引结点中不包括文件的名字,文件名是放在目录块里的.目录块里包含有文件的名字以及此文件的索引结点编号.
志丹县17715909295: linux文件系统中,由什么结构记录文件的属性以及文件实际数据存放的block - ?
博唯双黄: linux虚拟文件系统核心数主要有以下几个数据结构: * 超级块结构(struct super_block {...} ) 该结构保存了一个被安装在linux系统上的文件系统的信息.对于基于磁盘的文件系统,该结构一般和保存在磁盘上的"文件系统控制块"对应.也就是说如果是...
志丹县17715909295: Linux 中的 MBR 问题 - ?
博唯双黄: IBM/PC 兼容机的 MBR 就是引导系统用的,不管他是Linux 还是 windows 还是 DOS.这点不需要质疑.而且本身就是引导操作系统的.但因为设计问题,导致 10 多年前出现了启动系统的限制.MBR 只有 446 字节的程序代码空间 + 6x16 的分...
志丹县17715909295: 我家桌面被劫持了,用360系统急救箱一查说恶意病毒存在MBR中.MBR是什么? - ?
博唯双黄: Main Boot Record 主引导记录 简单一点说就是你打开电源 先有主板上BIOS程序引导硬件初始化 然后交由系统(如XP/2000/LINUX等)引导 而系统的这块引导程序就在MBR—硬盘的第一分区第一扇区上的前512字节(好象是,要不就是1024)常用的命令就是FDISK/MBR 可以修复WIN引导
志丹县17715909295: 在安装linux过程中 把Grub安装在引导分区上(也就是不要安在MBR) 是什么意思 - ?
博唯双黄: MBR就是主引导记录,它的意思就是把GRUB(Linux的引导程序)安装在已被激活的分区上,而不覆盖原来的MBR可以从外部引导到GRUB
志丹县17715909295: linux中超级块在文件系统中的个数是不唯一的 这里的文件系统指的是什么? - ?
博唯双黄: 指的是 ext3 ext4