【Linux上分之路】第二篇:Linux硬件、磁盘结构和分区,Linux文件目录结构
文章目录
- Linux硬件配置
- CPU
- CPU分类
- 精简指令集(RISC)
- 复杂指令集(CISC)
- CPU的外频和倍频
- 32位与64位
- RAM
- Hard Disk
- 硬盘的组成
- VGA
- Network Interface Card
- 光盘、键盘鼠标
- Linux硬件设备表示
- 磁盘分区
- 磁盘分区表
- 分区的原因
- 扩展分区
- 主分区、扩展分区、逻辑分区的特性定义
- 主引导分区(MBR)
- 开机流程
- 引导加载程序Boot loader的主要任务
- 多重引导
- 多重引导的特性
- Linux磁盘分区的选择
- 目录树结构
- 文件系统与目录树的关系(挂载)
- Linux文件目录结构
- Linux根目录
- Linux/usr目录
- Linux/var目录
- 总结
Linux硬件配置
CPU
CPU只要不是太老旧到会让硬件系统死机都能够支持,Inter 3及以上系统的CPU都能完全支撑系统的正常运行,CPU负责计算机的运算,通常CPU为具有相当高发热量的组件
CPU分类
使用的软件都是要经过CPU的微指令集来完成,因指令集的设计方式不同可以分为两种CPU种类
精简指令集(RISC)
微指令集比较精简,每个指令的执行时间较短,对应所完成的操作也很简单,指令的执行效率较佳,若要做复杂运算则需要多个指令完成
常见的RISC微指令集CPU主要有:Sun公司的SPARC系列,IBM公司的Power Architeture和ARM系列
复杂指令集(CISC)
复杂指令集的微指令集中,每个小指令集都可以执行一些较低阶的硬件操作,操作数目多且复杂,每条指令的长度不同,每条指令执行的时间较长,但每条指令能执行较为复杂的操作
常见的CISC微指令集CPU主要有:AMD、Intel、VIA等x86架构的CPU
CPU频率就是CPU每秒钟可以进行的工作次数
CPU的外频和倍频
外频:指的是CPU与外部组件进行数据传输/运算时的速度,倍频则是CPU内部用来加速工作性能的一个倍数,两者相乘才是CPU的频率
32位与64位
CPU运算的数据都是由内存提供,内存与CPU的通信速度是靠外部频率
总线:每次传递的数据量大小
一般主板芯片组分为北桥与南桥,北桥的总线称为系统总线,是内存传输的主要信道,所以速度较快
南桥就是输入输出(I/O)总线,主要用于联系硬盘等接口设备
北桥所支持的频率称为前端总线速度(FSB),每次传送的位数称为总线宽度,目前总线宽度有32/64位
总线频宽 = 总线宽度 x FSB,即每秒钟可以传送的最大数据量
CPU每次能处理的数据量称为字组大小(word size),字组大小依据CPU的设计有32位和64位,现在计算机所分为32位,64位就是根据CPU解析字组大小而来
RAM
内存越大越好,在Linux服务器中,内存比CPU更加重要,如果内存不大就会使用到硬盘的内存交换空间,硬盘的速度比内存慢很多,所以内存太小会影响整体系统的性能
不论软件程序还是数据都是要读入内存才能被CPU处理,个人计算机的内存主要组件为动态随机访问内存(DRAM),随机访问内存只有在通电时才能记录和使用,断电之后数据就消失,这种内存也称为挥发性内存
Hard Disk
由于数据量和访问频率的不同,对硬盘也有不同的需求;如果Linux服务器用来作为备份或者作为企业的文件服务器,则应该选用磁盘阵列模式
磁盘阵列(RAID):就是利用硬件技术将多个硬盘整合成一个大硬盘的方法
硬盘的组成
硬盘的物理组成:一个或多个盘片、机械手臂、磁头与主轴马达组成
实际数据都是写在具有磁性物质的盘片上,而读写主要是通过机械臂杆的读写磁头来完成
实际磁盘运行时,主轴马达让盘片转动,然后机械臂杆可伸展让读取头在盘片上面进行读写操作
整个盘片上的很多同心圆,每一同心圆称为一个磁道,每一个磁道都有一个对应的编号,最外面的磁道编号为0,其次为1
盘片上的每个磁道被分为若干个段,这个段也是我们所说的扇区,每个扇区的存储容量为512字节,每一个扇区都有一个编号
所有盘片上的同一个磁道可以组成一个柱面,柱面也是一般分隔磁盘的最小单位
VGA
显卡的内存主要影响的是运行桌面环境效率,显卡的内存容量会影响你的屏幕分辨率与色彩深度
Network Interface Card
网卡是Linux服务器上最重要的组件,不同型号的网卡功能会有差异,较好的网卡通常 Linux 驱动程序做的也会比较好,使用起来会比较顺畅
光盘、键盘鼠标
非必备,能正常使用就行
Linux硬件设备表示
在Linux系统中,一切皆文件,这一切也包括硬件设备
设备 | Linux中表示文件名 |
---|---|
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
U盘 | /dev/sd/[a-p] |
软驱 | /dev/fd[0-1] |
打印机 | 25 针∶/dev/lp[0-2]USB:/dev/usb/p[0-15] |
鼠标 | USB:/dev/usb/mouse[0-15]PS2:/dev/psaux |
当前CD ROM/DVD ROM | /dev/cdrom |
当前鼠标 | /dev/mouse |
磁带机 | IDE:/dev/htO SCSI:/dev/st0 |
*每个磁盘驱动器的磁盘分区(partition)不同是,磁盘文件名会冲突
磁盘分区
磁盘的第一个扇区主要记录两个重要的信息:
- 主引导分区(MBR):可以安装引导加载程序的地方,有446字节
- 分区表:记录整块硬盘分区的状态,有64字节
当系统开机时会主动去读取这个区块的内容,系统才会知道程序在哪里和如何开机
磁盘分区表
柱面是文件系统的最小单位,也是分区的最小单位
图中四个分区在Linux系统中设备文件名为P1:/dev/hda1、P2:/dev/hda2、P3:/dev/hda3、P4:/dev/hda4,每一个文件名后面都跟有一个数字,这个数字与分区的位置有关
- 分区表只有64个字节,最多只能容纳四个分区,这四个分区被称为主或扩展分区
- 分区只是在分区表中进行区分设置而已
- 硬盘默认的分区表仅能写入四组分区信息
- 四组分区信息称为主扩展分区
- 分区的最小单位为柱面
- 系统写入磁盘时会参考磁盘分区表才能针对某个分区进行数据的处理
分区的原因
数据的安全性
系统的性能考虑:由于分区将数据集中放在某个柱面的区段,读取该分区数据时,将有助于数据读取的性能和速度
扩展分区
扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化
图中101~400那个区块又被分区为5个分区,这五个有扩展分区继续区分出来的分区,称为逻辑分区,又因为逻辑分区是由扩展分区区分而来,逻辑分区使用的柱面区间就是扩展分区所设定的范围
P1:/dev/hda1、P2:/dev/hda2、L1:/dev/hda5、L2:/dev/hda6、L3:/dev/hda7、L4:/dev/hda8、L5:/dev/hda9
设备文件名没有P3:/dev/hda3、P4:/dev/hda4,是因为1、2、3、4是保留给主或扩展分区用的,所以逻辑分区的设备名称号从5开始
主分区、扩展分区、逻辑分区的特性定义
- 主分区或扩展分区最多可以有四个(硬盘的限制)
- 扩展分区最多只能有一个(操作系统的限制)
- 逻辑分区是由扩展分区持续切割出来的区
- 能够被格式化后作为数据访问的分区为主分区和逻辑分区,扩展分区无法被格式化
- 逻辑分区的数量根据操作系统的不同而不同
主引导分区(MBR)
BIOS是一个写入到主板上的一个韧体,韧体就是写入到硬件上的一个软件程序
BIOS就是在开机时计算机系统会主动执行的第一个程序
BIOS会根据用户的设置去取得能够开机的硬盘,并且到该硬盘中去读取第一个扇区的MBR位置
MBR这个仅有446个字节的硬盘容量里面会放置最基本的引导加载程序
引导加载程序的目的是加载内核文件,因为引导加载程序文件是在安装操作系统时提供的,能识别硬盘中的文件系统格式,就能读取内核文件
开机流程
- BIOS:开机时系统主动执行的韧体,会认识第一个可开机的设备
- MBR:第一个可开机设备的第一个扇区内的主引导分区,包含引导加载程序
- 引导加载程序 Boot loader:一个可以读取内核文件来执行的软件
- 内核文件:开始操作系统的功能
引导加载程序Boot loader的主要任务
- 提供菜单:用户可以选择不同的开机选项,实现多重引导的原因
- 载入内核文件:直接指向可开机的程序区段来开始操作系统
- 转交其他loader:将引导加载功能转交给其他loader负责
多重引导
引导加载程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区,分区有启动扇区,这便是多重引导的特点
MBR的引导加载程序提供了M1和M2两个菜单,菜单M1可以直接加载windows的内核文件来开机,菜单M2则是将引导加载工作交给第二个分区的启动扇区(boot sector),当用户选择第二个菜单选项时,MBR的引导加载程序会将整个引导加载的工作转交给第二分区的启动扇区的引导加载程序,而此时的引导加载程序中只提供了指向L的菜单M1,该菜单可以直接加载Linux的内核文件来开机
多重引导的特性
- 每个分区都有自己的启动扇区
- 实际可开机的内核文件都是放置在各分区内的
- loader只会认识自己系统分区内的可开机文件,以及其他loader
- loader可以直接指向内核文件或间接将管理权交给另一个管理程序
Linux磁盘分区的选择
目录树结构
Linux最重要的理念是一切皆文件,在整个Linux系统中目录树结构很重要
目录数结构就是以根目录为主,然后向下呈现分支状的目录结构的一种文件结构,根目录的表示方法为"/",所有文件都与目录树有关
文件系统与目录树的关系(挂载)
挂载:就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下,即进入该目录就可以读取该分区的数据;
当成进入点的目录被称为挂载点
图 1 中可以看到,目前 U 盘和 Linux 系统文件分属两个文件系统,还无法使用命令行找到 U 盘文件,需要将两个文件系统进行挂载
在根目录下新建一个目录 /sdb-u,通过挂载命令将 U 盘文件系统挂载到此目录,挂载效果如图所示
U 盘文件系统已经成为 Linux 文件系统目录的一部分,此时访问 /sdb-u/ 就等同于访问 U 盘
Linux文件目录结构
Linux中一切皆文件,为了对Linux文件结构统一,Linux基金会发布了FHS标准
FHS标准:文件系统层次化标准,该标准规定了Linux系统中所有的一级目录以及部分目录/usr和/var的用途,FHS标准的发布就是为了让Linux用户明确目录应该存放什么类型的文件
Linux根目录
Linux系统的根目录是最重要的目录,必须包含开机软件、核心文件、开机所需程序、函数库和修复系统程序文件等
一级目录 | 功能 |
---|---|
/bin/ | 存放系统命令,普通用户和root都可以执 |
/boot/ | 系统启动目录,保存着与系统启动相关的文件,内核文件和启动引导程序 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置,系统内所有采用默认安装方式的服务配置文件都保存在此目录 |
/home/ | 普通用户的主目录,所有的普通用户都会在home目录下创建一个与用户名相同的文件夹作为用户的主文件夹 |
/lib/ | 系统调用的函数库保存位置 |
/media/ | 挂载目录,系统建议用来挂载媒体设备,软盘和光盘 |
/mnt/ | 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区 |
/misc/ | |
/opt/ | 第三方安装软件的保存位置,该目录是放置和安装其他软件的位置 |
/root/ | root的主目录 |
/sbin/ | 保存与系统环境设置相关的命令,只有root可以使用这些命令来进行系统环境设置,部分命令普通用户也可以进行查看 |
/srv/ | 服务数据目录,一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录,系统存放临时文件的目录,该目录所有用户都可以进行访问 |
/sys/ | 虚拟文件系统,该目录中的所有数据都保存在内存中,主要保存与内核相关的信息 |
/proc/ | 虚拟文件系统,该目录主要保存系统的内核、进程、外部设备状态和网络状态 |
/lost+found/ | 系统意外崩溃或意外关机时,产生的一些文件碎片会保存在此目录中,在系统启动的过程中,fsck 工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现 |
/usr/ | |
/var/ |
Linux/usr目录
usr全称Unix Software Resource,此目录用于存储系统软件资源,FHS建议所以开发者,应把软件产品的数据合理的放置在/usr目录下各个子目录中
usr子目录 | 功能 |
---|---|
bin | 存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行 |
etc | 软件的配置文件 |
include | C/C++ 等编程语言头文件的放置目录 |
lib | 应用程序调用的函数库保存位置 |
local | 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置 |
sbin | 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用 |
share | 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
src | 源码包保存位置 |
Linux/var目录
/var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件
var 子目录 | 功能 |
---|---|
lib | 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中 |
log | 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。 |
run | 一些服务和程序运行后,它们的 PID(进程 ID)保存位置 |
spool | 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务 |
nis | NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息 |
yp | yp 是 linux 的 nis 服务的日志文件存放的目录 |
tmp | 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除 |
总结
Linux的硬件配置,了解磁盘的结构、磁盘分区,还有Linux磁盘分区的选择和Linux文件目录结果,具体目录应该存放什么样的文件
赶紧学习起来吧!我是一个正在努力找回自我的人,希望能和一起学习的人成长,有错误的地方请各位大佬帮忙指正,如果觉得有帮助就点个赞当作对我的一个小肯定❤,peace&love
【Linux上分之路】第二篇:Linux硬件、磁盘结构和分区,Linux文件目录结构相关推荐
- 【Linux上分之路】第一篇:Linux简介、发行版、开源协议
文章目录 Linux Linux的优点 Linux分类 Linux发行版本 RedHat Linux Ubuntu Linux Linux系统结构 1.内核层 2.Shell层 3.应用层 Linux ...
- 【Linux上分之路】第十二篇:Linux三剑客grep、sed、awk
文章目录 Linux三剑客 三剑客特点及应用场景 grep grep命令的基本格式 grep范例 grep命令选项 -A.-B -c.-v -n.-w sed sed命令基本格式 sed命令功能 se ...
- Cyclone V SoC FPGA学习之路第二章:硬件篇
Cyclone V SoC FPGA学习之路第二章:硬件篇(内部资源) 前言 上一章了解了<cycloneV device datasheet>,其中数据手册里重点介绍了电源要求,时序参数 ...
- 在LINUX上配置oracle ASMLib的多路径磁盘
在LINUX上配置oracle ASMLib的多路径磁盘 适用于: Oracle Server - Enterprise Edition - Version: 10.2.0.1 Linux Kerne ...
- [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务
在Linux上部署Java开发环境笔记(一) -- 补充:Linux下如何手动设置IP及配置DNS服务 2010/06/17 有的Linux系统会有网络设置的图形操作界面,比如"红旗Linu ...
- Pytorch上分之路—ShuffleNetv3(鸟群分类算法)
Pytorch上分之路-ShuffleNetv3(鸟群分类算法) 本次的内容是用pytorch写一个简单的分类算法,选择了200鸟群的数据集,数据集的话可以自己到网上去找,挺容易的. 目录 **Pyt ...
- 黎想深度访谈腾讯顶级产品经理的进阶之路——第二篇《定位》
16个月精心打磨,9位顶级产品专家研讨提炼,凝聚腾讯产品经验的八集八分钟产品课分别从用户.定位.需求.时机.匠心.危机.合作.商业角度出发,还原产品背后的故事,分享给你腾讯产品的心法.艺形艺意工作室创 ...
- linux服务器怎么连接无线网卡,在linux上怎么安装无线网卡驱动?_网站服务器运行维护,linux,无线网卡...
怎么查看linux连接wifi的密码?_网站服务器运行维护 查看linux连接wifi密码的方法:首先打开终端输入代码[cd /etc/NetworkManager/system-connection ...
- Linux 基础知识系列第二篇
精选30+云产品,助力企业轻松上云!>>> Linux 02 今日学习目标 [x] 磁盘管理 [x] 网络管理 [x] 系统管理 [x] 重定向和信息黑洞 学习进度 Linux(11 ...
- 【Python上分之路】第一篇:Python是什么?
文章目录 Python Python特性 Python优点 语法简单 开源免费 面向对象的高级语言 功能扩展性强 Python缺点 运行速度慢 代码加密困难 Python应用领域 Web应用开发 自动 ...
最新文章
- Servlet+Tomcat制作出第一个运行在Tomcat上的Java应用程序
- excel概率密度函数公式_Excel统计函数“F”系列,日常办公数据分析必备7大公式!...
- java多态的两种形式_java核心(八):继承与方法重写、final、多态性的两种描述形式...
- ovation系统服务器安装,Ovation系统介绍.ppt
- python print 分隔符_python print 使用分隔符 或行尾符
- java网络爬虫,乱码问题终于完美解决
- 如何去掉腾讯网址安全中心提醒
- 读书笔记|智能运维系统落地方案
- 计算机软件 属于特许权,​软件使用权是否属于无形资产
- python 视频转图片
- grep 查找内容有特殊字符怎么办
- 物联网技能大赛lora开发
- 科比服务器型号,Ubuntu是NBA全明星科比
- 看得见的数据结构Android版之开篇前言
- 618 Tech Talk丨大促活动如何抵御大流量 DDoS 攻击?
- 三个路由器三个pc实现全网可达
- 我的世界java版1.7.10咋刷物品,1.7指令方块刷自定义药水教程
- 求3000以内的亲密数
- parameter estimation for text analysis
- 【K8s】什么是Docker和K8S(Kubernetes)