首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

4KB 扇区磁盘上 Linux:实际建议

想一下,当 Linux 想在一个带 4096 字节扇区新磁盘上读写这些数据结构时,会发生什么事情。...另一方面,对不一致数据结构写操作需要磁盘固件首先读取两个扇区,修改两个扇区分区,然后写两个扇区。该操作所需时间比 4096 字节占用一个扇区时所需时间多。因此,性能下降。...遗憾是,直到最近,大多数 Linux 分区工具还没有创建以这种方式对齐分区。下一小节 对齐分区,描述如何使用普通 Linux 分区软件对齐分区。...磁盘是通过全局唯一标识符(GUID)Partition Table (GPT) 系统进行分区,其中已对齐分区起始于逻辑扇区 40,而未对齐分区起始于逻辑扇区 34(使用 GPT 磁盘与默认大小分区表时第一个可用扇区...一个脚本执行了一系列磁盘 I/O 操作,包括创建一个新文件系统、提取一个未压缩 Linux 内核原始码到测试驱动上、复制原始码到驱动、读取测试驱动上刚才未压缩文件、从驱动上读取原始码、删除 Linux

3.3K80
您找到你想要的搜索结果了吗?
是的
没有找到

FATFS中NAND FLASH簇和扇区

最近使用FATFS读写NANDFLASH,研究了一下小型文件系统簇和扇区具体含义,簇是文件系统使用单位,扇区是物理介质(FLASH)使用单位。...FLASH一个扇区为1K。新建文件大小为1K,那实际文件系统要为他分配1个簇(文件系统需要操作整数倍簇),就是4K,需要读写至少四个扇区。...),如果需要操作多个硬盘且扇区大小不一样,FF_MIN_SS和FF_MAX_SS这两个参数区间范围需要包括所有需要扇区大小。...并在函数disk_ioctl()中设置每个硬盘扇区大小。每一个硬盘扇区大小FATFS可通过函数disk_ioctl()获得。...扇区大小指的是FLASH操作最小单位,这个需要根据使用不同介质具体定。比如SD卡需要查询支持扇区大小并通过命令设置,nandflash需要根据自己使用均衡算法定。

1.5K30

linux常用读取文件内容指令

linux常用于读取文件内容指令主要有以下七种: cat,tac,nl,more,less,head,tail cat 文件名 –将文件内容显示在屏幕上 cat -n 文件名 –将文件内容显示在屏幕上...,并显示行号 cat -b 文件名 –将文件内容显示在屏幕上,并显示行号,但是不显示空白行行号 tac则是和cat反过来(名字都是反过来) tac 文件名 –将文件内容显示在屏幕上,但是是从最后一行开始往前显示...tac -s separator 文件名 –从separator往后倒序输出,倒序输出不包含separator,输出到最后一行再按照顺序将separator之前内容输出 tac -b -s...ten [root@localhost tmp]# tac readfile.txt seven eghit nine ten four five six two three One tac和cat显示顺序是相反...readfile.txt 1 one 2 two three 3 four five six 4 seven eghit nine ten 可以执行翻页操作读取文件内容指令

5.7K10

操作系统启动

在MBR分区中,第一个扇区内容是十分关键,它是主引导记录,如果操作系统需要按照MBR分区形式安装在这个硬盘中,那么需要在主引导记录里填入引导系统启动代码。...此时内存第一次有了操作系统代码,第一个扇区内容其实就是linux/boot/bootsect.s内容,其主要功能就是把第二批第三批代码加载到内存中规划好位置。...,将指定扇区内容读取指定内存位置。...在bootsect中,读取是从第二个扇区开始4个扇区,加载到0x90200(SETUPSEG)处,这些内容对应linux/boot/setup.s这个文件。...此时内存视图如下: linux内存.png所以,我们可以知道,当BIOS运行后,会通过int0x19中断读取第一扇区内容,BIOS并不管这个扇区里是否有内容。

1.3K30

Linux 系统开机加电后发生了什么?

背景知识 多操作系统时启动顺序 为了寻找操作系统,BIOS按照”启动顺序”,把控制权转交给排在第一位储存设备。 这时,计算机读取该设备第一个扇区,也就是读取最前面的512个字节。...MBR:第一个可开机设备第一个扇区主引导分区块,内包含引导加载程序 引导加载程序(Boot loader): 一支可读取内核文件来执行软件 内核文件:开始操作系统功能 引导操作系统过程 由硬盘启动时...计算机会读取激活分区第一个扇区,叫做“卷引导记录”(Volume boot record,缩写为VBR)。“卷引导记录”主要作用是,告诉计算机,操作系统在这个分区里位置。...计算机先读取扩展分区第一个扇区,叫做“扩展引导记录”(Extended boot record,缩写为EBR)。它里面也包含一张64字节分区表,但是最多只有两项(也就是两个逻辑分区)。...计算机接着读取第二个逻辑分区第一个扇区,再从里面的分区表中找到第三个逻辑分区位置,以此类推,直到某个逻辑分区分区表只包含它自身为止(即只有一个分区项)。因此,扩展分区可以包含无数个逻辑分区。

1.9K40

linux系统开机加电后发生了什么?

背景知识 多操作系统时启动顺序 为了寻找操作系统,BIOS按照”启动顺序”,把控制权转交给排在第一位储存设备。 这时,计算机读取该设备第一个扇区,也就是读取最前面的512个字节。...MBR:第一个可开机设备第一个扇区主引导分区块,内包含引导加载程序 引导加载程序(Boot loader): 一支可读取内核文件来执行软件 内核文件:开始操作系统功能 引导操作系统过程 由硬盘启动时...计算机会读取激活分区第一个扇区,叫做“卷引导记录”(Volume boot record,缩写为VBR)。“卷引导记录”主要作用是,告诉计算机,操作系统在这个分区里位置。...计算机先读取扩展分区第一个扇区,叫做“扩展引导记录”(Extended boot record,缩写为EBR)。它里面也包含一张64字节分区表,但是最多只有两项(也就是两个逻辑分区)。...计算机接着读取第二个逻辑分区第一个扇区,再从里面的分区表中找到第三个逻辑分区位置,以此类推,直到某个逻辑分区分区表只包含它自身为止(即只有一个分区项)。因此,扩展分区可以包含无数个逻辑分区。

2.5K30

计算机是如何启动

这时,计算机读取该设备第一个扇区,也就是读取最前面的512个字节。...3.1 情况A:卷引导记录 上一节提到,四个主分区里面,只有一个是激活。计算机会读取激活分区第一个扇区,叫做"卷引导记录"(Volume boot record,缩写为VBR)。...计算机先读取扩展分区第一个扇区,叫做"扩展引导记录"(Extended boot record,缩写为EBR)。它里面也包含一张64字节分区表,但是最多只有两项(也就是两个逻辑分区)。...计算机接着读取第二个逻辑分区第一个扇区,再从里面的分区表中找到第三个逻辑分区位置,以此类推,直到某个逻辑分区分区表只包含它自身为止(即只有一个分区项)。因此,扩展分区可以包含无数个逻辑分区。...这是Linux启动后第一个进程,pid进程编号为1,其他进程都是它后代。

94350

Linux基础知识

磁盘第一个扇区记录信息为 主引导分区 可以安装引导加载程序地方 分区表,记录整块硬盘分区状态 主引导分区在系统开机时候会主动读取这个区块内容。...BIOS会依据用户设置去取得能够开机硬盘,并且将该硬盘放到第一个读取扇区MBR中(即扇区主引导程序)此时BIOS圆满。接下来执行MBR内引导加载程序进行工作。...1.BIOS 识别第一个开机设备 2.MBR 第一个可开机设备第一个扇区主引导分区,将会加载引导程序。...,即windows和linux时候) 多系统 此时在一个硬盘全部柱面区装有两个系统为linux和windows windows拥有转交给其他引导分区loader 总结 每个扇区拥有自己启动扇区...Linux目录以/为主 所有的文件由/目录进行衍生 文件系统和目录树关系 挂载,这个用过 挂载,利用目录当成进入点,将硬盘分区数据放置在该目录下。即进入该目录可以读取该分区。

1.5K41

硬盘物理结构与磁盘分区原理

也称3D),对早期磁盘(上图所示)非常有效,知道用哪个磁头,读取哪个柱面上第几扇区就OK了。...,反正就是系统开始时会主动读取数据地方,这样才能引导进行操作系统启动。...分区表是一个单向链表,第一个分区表,也就是位于硬盘第一个扇区DPT,可以有一项记录扩展分区起始位置柱面,类似于指针概念,指向扩展分区,根据这项记录我们可以找到扩展分区某柱面0磁头1扇区(CHS...请看下图,主引导记录/分区表所在是硬盘第一个分区,基本分区1、基本分2、基本分区3都是主分区、扩展分区内有2个逻辑分区,每个逻辑分区第一个扇区都是分区表。...系统启动过程 首先,BIOS启动后,读取硬盘第一个扇区MBR中引导加载程序(可能是windows或者linuxgrub)。

1.7K30

Linux | 从 STDIN 读取 Awk 输入

简介 在之前关于 Awk 工具系列文章中,主要探讨了如何从文件中读取数据。但如果你希望从标准输入(STDIN)中读取数据,又该如何操作呢?...在本文中,将介绍几个示例,展示如何使用 Awk 来过滤其他命令输出,而不仅仅是读取文件内容。 首先,将以 dir 工具为例,它功能与 ls 命令类似。...在第一个示例中,将 dir -l 命令输出作为 Awk 输入数据,以此来打印出当前目录下文件所有者用户名、所属组名,以及该用户拥有的文件列表。...这是通过使用表达式 $3=="root" 实现。 再看一个例子,其中使用 awk 比较运算符来匹配特定字符串。...因此,在使用这种比较运算符时一定要小心,正如上面所看到,它是区分大小写。 您可以随时使用另一个命令输出作为 awk 输入,而不是从文件中读取输入,这就像在上面的例子中所看到那样,非常简单。

8210

操作系统之引导

如果发现有光盘存在,则试图读取光盘第一个扇区,并检查这是否是一个可引导扇区(比如通过检查扇区最后两个字节是不是0x55AA)。...假设第一个分区上安装是WINDOWS操作系统,第二个分区上安装Linux操作系统。...这样,WINDOWS操作系统引导扇区,是2个物理扇区第一个分区第一个扇区),而Linux引导扇区,则是第M+2个物理扇区。显然,这两个(第2个和第M+2个)引导扇区是与操作系统强相关。...因为这时候分区编号已经确定,只要读取分区表,并找到对应记录,就可读出该分区第一个扇区编号,这就是引导扇区。对于第一个问题,是通过在分区表中设置一个活动标志解决。...如果这种打包仍然有问题(比如第一个扇区会调用BIOS服务读取后续扇区,即使打包了,也无法改变这种动作),xp甚至会用修改已打包后引导扇区文件。

82510

计算机是如何启动

3.1 情况A:卷引导记录 上一节提到,四个主分区里面,只有一个是激活。计算机会读取激活分区第一个扇区,叫做"卷引导记录"(Volume boot record,缩写为VBR)。...计算机先读取扩展分区第一个扇区,叫做"扩展引导记录"(Extended boot record,缩写为EBR)。它里面也包含一张64字节分区表,但是最多只有两项(也就是两个逻辑分区)。...计算机接着读取第二个逻辑分区第一个扇区,再从里面的分区表中找到第三个逻辑分区位置,以此类推,直到某个逻辑分区分区表只包含它自身为止(即只有一个分区项)。因此,扩展分区可以包含无数个逻辑分区。...Linux环境中,目前最流行启动管理器是Grub。 ? 四、第四阶段:操作系统 控制权转交给操作系统后,操作系统内核首先被载入内存。 以Linux系统为例,先载入/boot目录下面的kernel。...这是Linux启动后第一个进程,pid进程编号为1,其他进程都是它后代。

88120

Linux文件系统详解

只能分四个区实在太少了,于是就有了扩展分区概念,既然第一个扇区所在分区表只能记录四条数据, 那我可否利用额外扇区来记录更多分区信息。...事实上除了第一个块内会含有superblock 之外,后续块不一定含有superblock,而若含有superblock则该superblock主要是做为第一个块内superblock备份,这样可以进行...,其实每块硬盘都可以作为启动盘,硬盘本身设计提供这种可能,这就要从硬盘上第一个扇区说起,这个扇区中有硬盘主引导记录(Master boot record, MBR)及分区表(partition table...BIOS 会去分析计算机里面有哪些储存设备,我们以硬盘为例,BIOS 会依据使用者设定去取得能够开机硬盘, 并且到该硬盘里面去读取第一个扇区MBR位置。...所以简单说开机流程就是:BIOS:开机主动运行程序,会识别第一个可开机设备MBR-引导加载程序:第一个可开机设备第一个扇区主引导分区中引导加载程序,可读取操作系统内核文件操作系统内核文件:不同操作系统中关于开启自己程序由上面的说明我们会知道

6.2K32

关于启动引导那些事儿(上) : Legacy Boot

对于每个引导设备,BIOS加载它第一个扇区(共512字节,称为引导扇区),而这个扇区内就存放着我们引导程序,即MBR(Master Boot Record,主引导记录)。...以我电脑为例。虽然我目前磁盘是GPT(不同分区方式,下一篇就讲),但是为了防止为MBR设计程序错误修改磁盘,因此GPT盘第一个扇区通常会写入保护MBR(Protective MBR)。...其中,CHS(cylinders-heads-sectors)是比较原始读取方式,它使用(磁头, 磁道, 扇区)对某一扇区进行定位。...而LBA(Logical Block Address)是之后扩展读取方式,它只需要给出目标区块偏移就可以进行读取了。对于磁盘来说,一个区块等同于一个扇区。...这里拼装了调用所需参数(即disk address packet),而7DB0处就是下一阶段程序在硬盘上位置了(严格来说是这个程序在硬盘上第一个扇区位置)。

2.6K10

Linux系统管理

出于兼容性考虑,第一个扇区同样有一个与MBR类似的标记,叫做受保护主引导记录(Protected Main Boot Record,PMBR)。...2)读取MBR 读取完BIOS信息,计算机将会查找BIOS所指定硬盘MBR引导扇区,将其内容复制到0x7c00地址所在物理内存中。被复制到物理内存内容是Boot Loader,然后进行引导。...3)GRUB引导 GRUB启动引导器是计算机启动过程中运行第一个软件程序,当计算机读取内存中GRUB配置信息后,会根据其配置信息来启动硬盘中不同操作系统。...5)设定Inittab运行等级 内核加载完毕,会启动Linux操作系统第一个守护进程init,然后通过该进程读取/etc/inittab文件,/etc/inittab文件作用是设定Linux运行等级...6)加载rc.sysinit 读取完运行级别,Linux系统执行第一个用户层文件/etc/rc.d/rc.sysinit,该文件功能包括:设定PATH运行变量、设定网络配置、启动swap分区、设定/proc

2K30

Linux从头学06:16张结构图,彻底理解【代码重定位】底层原理

2. bootloader 设置数据段基地址 从硬盘上读取文件,是按照扇区读取单位,也就是每次读取一个扇区(512 字节)。...程序文件 Header 中有这个信息,因此,bootloader 需要先读取程序文件第一个扇区,也就是 512 字节,放在 0x20000 开始位置。...我们继续假设一下:程序总长度是 5K 字节(0x01400),那么程序文件前 512 个字节(第一个扇区)读取到内存中,就是下面这个样子: ?...读取第一个扇区之后,就可以取出 0x20000 开始 4 个字节数据:0x01400,得到程序文件总长度: 5 K 字节。 每个扇区是 512 字节,5 K 字节就是 10 个扇区。...第一个扇区已经读取了,那么还需要继续读取剩下 9 个扇区

74140

硬件设备——磁盘相关 原

磁盘 磁盘组成 本节摘自《鸟哥Linux私房菜》 磁盘组成:主要由盘片、机械手臂、磁头、与主轴马达所组成。而数据写入其实是在盘片上面。...盘片上面又可细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512bytes那么大。假设磁盘只有一个盘片,那么盘片如图所示: 那么是否每个扇区都一样重要呢?...其实整块磁盘第一个扇区特别重要,因为它记录了整块磁盘重要信息。...磁盘第一个扇区主要记录了两个重要信息,分别是: MBR(Master Boot Record )主引导分区:可以安装引导加载程序地方,有446bytes。...顺序读写,磁盘会预读,预读即在读取起始地址连续读取多个页面(现在不需要页面也读取了,这样以后用时就不用再读取,当一个页面用到时,大多数情况下,它周围页面也会被用到);而随机读写,因为数据没有在一起

62240
领券