硬盘

Linux字符设备和块设备的区别

故事扮演 提交于 2020-03-01 14:00:55
系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的设备被称作块设备,这些数据片就称作块。最常见的块设备是硬盘,除此以外,还有软盘驱动器、CD-ROM驱动器和闪存等等许多其他块设备。注意,它们都是以安装文件系统的方式使用的——这也是块设备的一般访问方式。   另一种基本的设备类型是字符设备。字符设备按照字符流的方式被有序访问,像串口和键盘就都属于字符设备。如果一个硬件设备是以字符流的方式被访问的话,那就应该将它归于字符设备;反过来,如果一个设备是随机(无序的)访问的,那么它就属于块设备。 这两种类型的设备的根本区别在于它们是否可以被随机访问——换句话说就是,能否在访问设备时随意地从一个位置跳转到另一个位置。举个例子,键盘这种设备提供的就是一个数据流,当你敲入“fox” 这个字符串时,键盘驱动程序会按照和输入完全相同的顺序返回这个由三个字符组成的数据流。如果让键盘驱动程序打乱顺序来读字符串,或读取其他字符,都是没有意义的。所以键盘就是一种典型的字符设备,它提供的就是用户从键盘输入的字符流。对键盘进行读操作会得到一个字符流,首先是“f”,然后是“o”,最后是“x”,最终是文件的结束(EOF)。当没人敲键盘时,字符流就是空的。硬盘设备的情况就不大一样了。硬盘设备的驱动可能要求读取磁盘上任意块的内容,然后又转去读取别的块的内容,而被读取的块在磁盘上位置不一定要连续

Linux存储(一)

扶醉桌前 提交于 2020-03-01 08:23:27
RAID: Redundant Array of Independent Disks,独立硬盘冗余阵列 特点:通过并行读写特高IO能力,通过磁盘冗余提高可用性;RAID有多种级别(RAID0,RAID1,RAID10,RAID5等),各有各的特点 RAID的实现方式: 1 外接式:通过扩展卡提供适配能力 2 内接式:主板集成RAID控制器 3 软件实现RAID 一 RAID0:将一份文件数据切分成N份,依次存到N个硬盘中。RAID级别中最高的存储性能 特点:读写性能提升;无容错能力 可用空间:N*min(S1, S2, ...) 磁盘数:2+ 二 RAID1:将一份文件数据复制成N份,存到N个硬盘中。 特点:读性能提升,写入性能略微下降;有冗余能力 可用空间:min(S1, S2, ...) 磁盘数:2+ 三 RAID4:对N个硬盘的信息进行奇偶校验,校验信息存储在一个独立的硬盘中(存在一个专门的校验盘)。 四 RAID5:对N个硬盘的信息进行奇偶校验,校验信息轮流存储在N个硬盘中。其中任意N-1块磁盘上都存储完整的数据。 特点:读写性能提升,有容错能力(1块硬盘) 可用空间:(N-1)*min(S1, S2,...) 硬盘数:3+ 五 RAID10:RAID0和RAID1的组合。 特点:读写性能提升,有容错能力(每组镜像只能坏一个) 可用空间:N*min(S1, S2, ...)

[转帖]世界第一块硬盘 IBM大佬走过47年辉煌历史

只愿长相守 提交于 2020-03-01 07:48:54
世界第一块硬盘 IBM大佬走过47年辉煌历史 http://www.intohard.com/article-1083-1.html 玻璃硬盘 一着不慎满盘皆输的典型啊.. 在过去的六十年里,硬盘驱动器已经走过了很漫长的路,随着时间的推移,从产品到新技术,我们记录了硬盘开发中的重要的里程碑。 1956年IBM发布了世界上第一台计算机硬盘驱动器,它比冰箱大。它重量超过一吨。它看起来有点像大规模的圆柱形空调机组。这个开创性的硬盘驱动器称为IBM305RAMAC,“随机访问计算控制”的简称,当时IBM历经五年的研究和开发最终在1956年问世,在当时轰动了整个科技界。 1961年:IBM发明了在空气垫上或“空气支撑物”上“悬浮”的磁盘驱动器 磁头 。 1963年:IBM发布了第一个可移动硬盘驱动器1311,它有六个14英寸的 盘片 ,可存储2.6MB数据。 1966年:IBM推出使用卷绕铁氧体来记录磁头的第一个驱动器。 1970年:通用数字公司(1971年改名为西部数字公司)成立于美国加利福尼亚州。 1973年:IBM宣布推出第一款现代“Winchester”硬盘3340,它具有密封组件,润滑轴和低质量的磁头。 1978年:IBM推出第一个RAID(独立磁盘冗余阵列)并申请技术专利。 1979年:AlShugart领导的小组发现了磁盘驱动器制造商SeagateTechnology

Window10系统的安装

我的梦境 提交于 2020-03-01 06:36:37
关于系统的安装网上有许多的教程,本文的教程并没有什么特别的。只是将自己在安装过程中遇到的问题记录下来,方便以后观看。 1.下载系统镜像 首先从 MSDN 上下载windows10镜像。在操作系统Windows10中。选择中文简体后会看到版本列表如下: 其中:   1.后缀(x86)表示32位操作系统,(x64)表示64位操作系统。   2.Multiple Editions为(家庭版和专业版的集合)   3.剩下的从字面意义上可以看出分别是教育版和企业版   4.企业版的功能最强大,但是没有cortana.如果需要这个语音助手的话建议安装专业版。 点击后面的详细信息,会出现下载链接。使用迅雷下载就好了。 2.制作一个U盘启动工具 这一步不是必须的,如果你给一个已经有系统的电脑装系统,直接使用虚拟光驱加载第一步下载的镜像,点击setup.exe文件就可以了。但是如果你给一个 “空电脑”装系统的话,建议还是制作一个U盘启动工具,这样用起来会方便点。 这里我选择的 U深度U盘启动盘制作工具 ,也可以选择电脑店等工具。这个根据自己习惯选择。 准备好一个空的U盘并将其制作为启动盘,需要注意的是在制作的过程中选择U盘的格式是NTFS,我这里默认的是FAT32,FAT32格式的话文件大小不能超过4G, 而集合版的镜像文件大于4G,所以不能按照。在制作成启动盘之后将下载的镜像放到启动U盘中。 3

入门linux基础之存储管理篇

∥☆過路亽.° 提交于 2020-03-01 00:23:13
磁盘从工作原理上分为固态硬盘(SSD)和机械硬盘 机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。 固态硬盘是用固态电子存储芯片阵列而制成的硬盘。 IDE为并口 /dev/hdv /dev/hde STAT为串口 /dev/sda /dev/sdb (注:/dev是设备文件目录 sda为设备文件 s代表sata就是串口 d代表磁盘 a为第一块。) 分区方式 MBR:MBR支持最大的磁盘容量是 <2TB。设计时分配4个分区 如果希望超过4个分区,需放弃主分区,改为扩展分区和逻辑分区。 GPT:支持大于2T的硬盘,支持128个分区。 分区步骤:分区(MBR或者GPT) ---->格式化/文件系统 Filesystem ----> 挂载mount 查看磁盘信息: 方法一:ll /dev/sd* 方法二:lsblk 1.创建分区 fdisk /dev/sd* 进入会话模式 partprobe /dev/sdb 刷新分区表 fdisk -l /dev/sdb 查看分区结果 2.格式化 mkfs.ext4 /dev/sd 1 3.创建挂载点 mkdir /mnt/disk1 挂载mount -t ext4 /dev/sd 1 /mnt/disk1 4.查看挂载信息 df -Th 或者 mount 逻辑卷LVM 准备物理磁盘

性能量化之cpu

a 夏天 提交于 2020-02-29 21:54:33
系统现在很慢”似乎是对系统的性能最常用的抱怨了,但究竟慢到什么程度,如何来界定慢,可能需要对性能进行量化,对于OS来说,大致主要分为cpu,内存,磁盘,网络等组件,对这些维度的性能量化,不但可以更准确的定位到系统的瓶颈,更是做容量评估的基础。下面先看看cpu。 Cpu的性能主要跟缓存,主频,指令集,工艺,流水线等相关因素有关。 当前微处理器的设计上主要分为精简指令集(RISC),复杂指令集(CISC),所以对于不同的cpu来说,如果使用的指令集不同,单纯的从时钟频率来判断频率高的就相应的性能就高,通常并不准确。 Cpu的性能上每18个月就会增长一倍,而内存的速度在七年里才增长一倍,鉴于速度上的不匹配,而产生的L1,L2 cache。下表是不同的存储访问的延时。 Cache location and type Access time (in ns) Size "Good" hit rate L1 on-chip                  1-3 8-64 KB >90% L2 on-chip                  6-18 1-8 MB >50% L3 off-chip                30-40 8-32 MB >30% Main memory                 220 Very large - 对于开发或者运维人员来说

python学习笔记-文件操作

落爺英雄遲暮 提交于 2020-02-29 20:30:36
文件操作 1、打开文件,得到文件句柄并赋值给一个变量 2、通过句柄操作文件 3、关闭文件 #1. 打开文件,得到文件句柄并赋值给一个变量 f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r #2. 通过句柄对文件进行操作 data=f.read() #3. 关闭文件 f.close() 常用读写方法: #####读##### #read() f=open("hello",encoding='utf-8') data=f.read() print(data) #readable() 是否可读,可读返回true print(f.readable()) #readline()一次读一行 print("第一行",f.readline()) print("第二行",f.readline(),end='') print("第三行",f.readline()) #readlines() 读取所有行的一个列表 data=f.readlines() print(data) f.close() #####写##### #w 文件存在时清空文件开始写,文件不存在时会新建一个文件 #文件内容只能是字符串,只能写字符串 #write() f=open("hello2",'w',encoding="utf-8") f.write("111111\n") f

六、字符编码、文件

落花浮王杯 提交于 2020-02-29 19:44:48
一、字符编码 1. 计算机系统分为三层:   应用软件   操作系统   硬件 2. 文本编辑器读一个文件的三个过程:   1. 先启动文本编辑器   2. 文件编辑器会将文件内容读入内存   3. 将读入内存的内容显示到屏幕上 Cpython解释器执行一个py文件的三个过程:   1. 先启动python解释器   2. python解释器会将py文件的内容当中普通的文本内容读入内存   3. 开始解释执行刚刚读入内存的代码,识别python 3. 字符编码 字符编码指的是字符转换成/编码成数字 编码的过程一定要遵循一个标准,该标准称之为字符编码表 字符--------编码--------》数字 字符《--------解码--------数字 1. ASCII表:只能识别英文字符,用8bit对应一个英文字符   1个英文字符====>1Bytes 2. GBK表:可以识别中文字符、英文字符,用8bit对应一个英文字符,用16个bit对应一个中文字符     1个英文字符====>1Bytes     1个中文字符====>2Bytes 3. unicode(内存中默认使用该编码):用2Bytes表示一个字符   1. 可以识别万国字符   2. 与各种字符编码的二进制数字都有对应关系 4. utf-8全称Unicode Transformation Format:  

linux 系统引导过程及引导修复

微笑、不失礼 提交于 2020-02-29 16:46:32
系统引导过程: 第一步:通电 第二步:bios初始化 1.对硬件检测 2.初始化硬件时钟 第三步:磁盘引导 1. mbr=主引导记录=0磁道1扇区446字节(磁道:磁头转一周的轨迹) 2.作用: 记录grub2文件的位置,当mbr数据丢失系统会因为找不到启动分区而停止启动。 3.问题模拟: (1)使用 fdisk -l 指令查看硬盘以及分区信息 系统磁盘:/dev/nvme0n1(*所在的分区对应的设备上有mbr) (2)使用 dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 指令清空/dev/nvme0n1上的mbr数据。注意446字节后面的64个字节是分区表,分区表一经损坏后,你就要知道设备开始的块和结束的块,所以一般分区表是备份的。 (3)重启 注意要从硬盘启动,不要使用镜像。 重新开机,发现启动失败。 4.恢复: (1)设置使用光盘,并首先从光盘启动。 (2)选择Troubleshooting 选择第二个选项,进入系统挽救模式。 注意这个挽救模式使用的是光盘里的资源,而不是磁盘里的数据,它可以将磁盘里的系统挂载到光盘里的挽救环境中的/mnt/sysimage。1)表示继续,2)表示只读打开我们的系统,3)表示不挂载系统,直接进入挽救的shell,4)表示重启。 选择1) (3)使用 chroot /mnt/sysimage 指令

跟高手学习LINUX笔记-13

北战南征 提交于 2020-02-29 12:01:54
第13章-Linux文件系统结构 13.1 硬盘结构 13.1.1 硬盘结构 先纠正一下坊间误区:很多人认为盘片为了保护,硬盘内部肯定是真空的,但是(画重点了!)磁盘内部不是真空,只不过里面有过滤部件所以空气很干净。因为真空不传热量,不利于散热。 硬盘内部一般有以下主要部分物理组成:| 圆形盘片 马达 永磁铁 控制芯片 由此物理结构引出硬盘的管理方式 圆形盘片被划分扇区与磁道;相同扇区不同盘面是柱面; 【硬盘内的盘片有两个面,都可以储存数据,而硬盘内的盘片往往不止一张,常见的有两张】 扇区一般是512字节 13.1.2操作系统在读写最小单位是:簇和block 一般常用簇的大小为:4K 磁盘存储一般是从外向内存储,外面的扇区密度高 一块大的硬盘分区的时间建议如此划分 1)前面的分区格式化以4K为标准 2)最后的分区格式化为32K为标准,这样以浪费些空间换取速度 13.2 文件系统结构 Linux文件系统由三部分组成:文件名,inode,block 文件名:只是使用者查找文件方便 13.2.1 inode介绍 inode:inode包含文件的元信息,具体来说有以下内容:    文件的大小--字节数    文件拥有者--UserID    文件拥有者所在组--Group ID    文件的对o,g.o用户的读、写、执行权限    文件的时间戳,共有三个: ctime-