操作系統與磁碟管理

来源:https://www.cnblogs.com/1naonao/archive/2019/07/16/11195810.html
-Advertisement-
Play Games

[toc] 操作系統 人與電腦硬體之間的中介 類別 window7,8,10 linux unix mac 32位和64位有什麼區別 設計定位不同 運算能力不同 定址能力不同,32位支持4G,64位支持128G物理記憶體 安裝要求不同 磁碟管理 磁碟的基本概念 磁碟 磁碟就像是森林,是所有硬式存儲的 ...


目錄

操作系統

人與電腦硬體之間的中介

類別

window7,8,10

linux

unix

mac

32位和64位有什麼區別

  • 設計定位不同
  • 運算能力不同
  • 定址能力不同,32位支持4G,64位支持128G物理記憶體
  • 安裝要求不同

磁碟管理

磁碟的基本概念

磁碟

磁碟就像是森林,是所有硬式存儲的統稱,如最早出現的軟盤,現在的硬碟,都是磁碟中的一部分。

軟盤

磁碟開始指的是1.44MB的3.5英寸磁碟,這是很早時候的電腦儲存檔,也叫軟盤

軟盤在如今已經很少被使用了,使用軟盤需要安裝軟盤驅動。軟盤容量小,容易損壞。隨著數據的大量增長,軟盤已經不滿足日益所需的數據存儲需求,如是,硬碟便被研發出來。

硬碟

硬碟就是電腦中的最大的存儲裝置了,就是將磁碟的儲存片裝到硬質金屬盒子里可以得到更好的保護,而且在使用壽命上也比軟盤優越得多,只有低格才對硬碟有很大的傷害,其它的讀寫是不要緊的,也就叫硬碟。

區別

磁碟是一種統稱,即是一開始的軟盤,又是現如今的硬碟,但是在現在,說起磁碟,都指的是硬碟。

磁碟的基本結構

img

img

  • 磁頭(Head)

盤面數量==磁頭數量

作用:用來寫入和讀取數據的

徑向運動尋道

  • 磁軌(Track)

從外面到裡面最外面是0磁軌

  • 扇區(Sector)

磁軌上面的最小的單位

預設大小512位元組

  • 柱面(Cylinder)

不同盤面上面的相同的磁軌組成的圓柱體

不同盤面上的相同的呼啦圈組成的圓柱體

磁碟預設是按照柱面進行讀寫

磁頭之間的切換速度接近於光速

磁頭徑向運動-尋道機械運動慢

  • 單元塊(Units)

磁碟是按柱面進行讀寫的,表示一個柱面的大小

  • 計算磁碟大小

磁碟大小=柱面的大小*柱面的數量

柱面的大小=一個磁軌的大小*磁頭數量

一個磁軌的大小=一個扇區的大小*扇區數量/每個磁軌

fdisk 查看磁碟詳細信息

echo + bc

awk

磁碟的預備知識

IDE,SCSI (已經被淘汰)

SATA III 與 SAS (企業使用較多)

M.2介面是為超極本(Ultrabook)量身定做的新一代介面標準,以取代原來的mSATA介面。無論是更小巧的規格尺寸,還是更高的傳輸性能,M.2都遠勝於mSATA
M2介面百度百科

你瞭解M.2固態硬碟嗎?

裝機到底要不要買M.2介面的SSD?

SATA、MSATA、PCIE和M2都是什麼?

固態硬碟SATA和MSATA有什麼區別?
https://baike.baidu.com/item/m.2%E6%8E%A5%E5%8F%A3
http://baijiahao.baidu.com/s?id=1604321789851430125&wfr=spider&for=pc
http://www.sohu.com/a/253988990_610530
http://www.sohu.com/a/229021919_463982
https://zhidao.baidu.com/question/754765227221408324.html

機械和固態的對比

機械(HDD) 固態(SSD)
容量大價格低 容量小價格高
抗擊打能力弱 抗擊打能力高
讀寫速度稍慢 讀寫速度很快
數據恢復易 數據恢復難
使用時間無限 使用時間1-2w次

尺寸:2.5英寸 3.5英寸
單位:B KB MB GB TB PB
轉速:7200 10K 15K
iops:每秒的輸入和輸出

設備名稱     分區信息     設備類型
/dev/sda    /dev/sda1   第一塊物理磁碟第一分區
/dev/sdb    /dev/sdb2   第二塊磁碟第二個分區
/dev/vdd    /dev/vdd4   第四塊虛擬磁碟的第四個分區

註意:

1.系統中分區由數字編號表示,1-4表示給主分區使用和擴展分區,邏輯分區從5開始

https://baike.baidu.com/item/%E4%B8%BB%E5%BC%95%E5%AF%BC%E8%AE%B0%E5%BD%95/7612638

2.前面我們已經提到過MBR分區表只能分配4個主分區,但現在還有一種新型的分區表GPT,GPT支持分配128個主分區。註意MBR與GPT之間不能互轉,會導致數據丟失。

http://www.360doc.com/content/18/0614/22/6140124_762487520.shtml

MBR位置:0磁軌0磁軌1扇區

img

前446位元組 mbr 主引導記錄

64位元組的分區表

55AA 表示的是結束標記

  • 磁碟-碟片-mbr
  • 主分區 primary

一般一定要有

存放數據

  • 擴展分區 extend

最多1個

無法直接使用

註意:主分區+擴展分區一共最多可以有4個

  • 邏輯分區 logical

存放數據

  • 硬碟分區的設備名
  1. 磁碟

SAS/SATA/SCSI /dev/sd?

第一塊硬碟SAS /dev/sda

第三塊SATA硬碟 /dev/sdc

  1. 分區

主分區和擴展分區 1-4

邏輯分區 從5開始

  1. 例子

第1塊sas硬碟的第一個主分區 /dev/sda1

第2塊sata硬碟的第2個主分區 /dev/sdb2

第3塊sata硬碟的第1個邏輯分區 /dev/sdc5

顯示磁碟分區信息的命令

[root@web ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        48G  3.0G   45G   7% /
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M   18M  973M   2% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M  54% /boot
/dev/sr0        4.3G  4.3G     0 100% /mnt
tmpfs           199M     0  199M   0% /run/user/0
tmpfs           199M     0  199M   0% /run/user/1011
[root@web ~]# du -sh /etc
166M    /etc
[root@web ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 47.8G  0 part /
sr0     11:0    1  4.3G  0 rom  /mnt

fdisk磁碟分區實踐

適用於磁碟小於2TB的磁碟,分區類型MBR,主分區4或主分區3+擴展分區(邏輯分區+…),分區後需要保存後生效

模擬環境

虛擬機添加一塊10GB的硬碟

一,添加硬碟

img

img

img

img

img

img

img

二,虛擬機添加磁碟分區,添加完成後重啟虛擬機

1,查看

[root@web ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 Jul 16 18:33 /dev/sda
brw-rw----. 1 root disk 8,  1 Jul 16 18:33 /dev/sda1
brw-rw----. 1 root disk 8,  2 Jul 16 18:33 /dev/sda2
brw-rw----. 1 root disk 8,  3 Jul 16 18:33 /dev/sda3
brw-rw----. 1 root disk 8, 16 Jul 16 18:33 /dev/sdb
brw-rw----. 1 root disk 8, 32 Jul 16 18:33 /dev/sdc
[root@web ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 47.8G  0 part /
sdb      8:16   0   20G  0 disk 
sdc      8:32   0    3T  0 disk 
sr0     11:0    1  4.3G  0 rom  

2,fdisk 只支持MBR分區表,適用於2TB以下的分區

fdisk  只支持MBR分區表,適用於2TB以下的分區。
[root@web ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x5b38e62c.

Command (m for help): m
Command action
   a   toggle a bootable flag                   #切換分區啟動標記
   b   edit bsd disklabel                       #編輯sdb磁碟標簽
   c   toggle the dos compatibility flag        #切換dos相容模式
** d   delete a partition                       #刪除分區
   g   create a new empty GPT partition table   #創建新的空白GPT分區表
   G   create an IRIX (SGI) partition table #創建IRIX (SGI)分區表
** l   list known partition types               #顯示分區類型
** m   print this menu                          #顯示幫助菜單
** n   add a new partition                      #新建分區
   o   create a new empty DOS partition table   #創建新的空白分區表
** p   print the partition table                #顯示分區表的信息
** q   quit without saving changes              #不保存退出
   s   create a new empty Sun disklabel         #創建新的Sun磁碟標簽
   t   change a partitions system id            #修改分區ID,可以通過l查看id
   u   change display/entry units               #修改容量單位,磁柱或扇區
   v   verify the partition table               #檢驗分區表
** w   write table to disk and exit             #保存退出
   x   extra functionality (experts only)       #拓展功能

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1G
Partition 1 of type Linux and of size 1 GiB is set

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5b38e62c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
​```
​```
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

2,格式化分區,創建文件系統

[root@web ~]# mkfs.xfs  /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3,創建掛載點

[root@web ~]# mkdir   /data1
[root@web ~]# ll /data1
total 0
[root@web ~]# cp /etc/services   /data1
[root@web ~]# ll /data1
total 656
-rw-r--r--. 1 root root 670293 Jul 16 19:01 services

4,掛載(臨時掛載)

[root@web ~]# mount /dev/sdb1  /data1
[root@web ~]# ll /data1
total 0
[root@web ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        48G  3.0G   45G   7% /
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.7M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M  54% /boot
tmpfs           199M     0  199M   0% /run/user/0
/dev/sdb1      1014M   33M  982M   4% /data1
[root@web ~]# dd if=/dev/zero of=/data1/test.txt  bs=10M count=50
50+0 records in
50+0 records out
524288000 bytes (524 MB) copied, 2.13248 s, 246 MB/s
[root@web ~]# ll /data1/
total 512000
-rw-r--r--. 1 root root 524288000 Jul 16 19:03 test.txt
[root@web ~]# ll /data1/ -h
total 500M
-rw-r--r--. 1 root root 500M Jul 16 19:03 test.txt
[root@web ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        48G  3.0G   45G   7% /
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.7M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M  54% /boot
tmpfs           199M     0  199M   0% /run/user/0
/dev/sdb1      1014M  533M  482M  53% /data1

5,永久掛載

[root@web ~]# vim /etc/fstab
[root@web ~]# tail -1 /etc/fstab
/dev/sdb1               /data1            xfs     defaults        0 0
[root@web ~]# umount /data1/
[root@web ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        48G  3.0G   45G   7% /
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.7M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M  54% /boot
tmpfs           199M     0  199M   0% /run/user/0
[root@web ~]# mount -a #重新載入掛件
echo $?檢查
[root@web ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        48G  3.0G   45G   7% /
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.7M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M  54% /boot
tmpfs           199M     0  199M   0% /run/user/0
/dev/sdb1      1014M  533M  482M  53% /data1

6,重新選擇一個掛載點

[root@web ~]# umount  /data1/
[root@web ~]# 
[root@web ~]# ll /data1/
total 656
-rw-r--r--. 1 root root 670293 Jul 16 19:01 services
[root@web ~]# mkdir  /data2
[root@web ~]# ll /data2
total 0
[root@web ~]# mount  /dev/sdb1  /data2
[root@web ~]# ll /data2
total 512000
-rw-r--r--. 1 root root 524288000 Jul 16 19:03 test.txt

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、項目中一直用到了文字轉語音的功能,需求也比較簡單,就是將一段報警信息通過語音的方式播放出來,之前一直採用CS客戶端,利用微軟自帶的Speech語音播放庫就可以完成, 1.1 封裝winSpedk類代碼如下: namespace Speak { using System; using System ...
  • 當我傻啊,用戶在電商網站購買成功,還在微服務中,那肯定就是有一套微服務架構的電商系統。 設計一套電商系統還不簡單 簡單想象一下,既然是一個電商系統,有用戶去購買,就肯定得有一個用戶模塊,購買什麼東西總不是西北風吧,購買肯定是商品吧,省掉購物車,就得有商品模塊吧,商品總得有庫存吧,庫存就暫時跟商品放一 ...
  • string path = "test.txt"; FileStream mystream = new FileStream(path, FileMode.OpenOrCreate); StreamWriter myWrite = new StreamWriter(mystream); myWrit ...
  • 本項目採用ASP.Net Core微服務技術,搭建博客和Saas平臺。 全文將圍繞(1)設計模式 (2)敏捷開發 目的: 結構足夠合理,代碼足夠優美,擴展性、可讀性、易維護性做到最優。 以下目錄僅為整體思路,後期逐漸完善補充。 1.配置linux環境實現持續集成 2.快速搭建 ASP.net cor ...
  • LinuxShell——正則表達式 摘要:本文主要學習了Shell中的正則表達式。 簡介 含義 正則表達式,也稱作正規表示法,是用於描述字元排列和匹配模式的一種語法規則,它主要用於字元串的模式分割、匹配、査找及替換操作。 正則表達式是用來匹配文件中的字元串的方法,它會先把整個文本分成一行一行的字元串 ...
  • 本文主要介紹了 cgroup 的一些基本概念,包括其在 CentOS 系統中的預設設置和控制工具,以 CPU 為例闡述 cgroup 如何對資源進行控制。 ...
  • 我所使用的Contiki系統是contiki-sensinode。理解該文需要有cc2530里uart的相關知識,具體寄存器的用法不做介紹。 先放上所有代碼,然後再仔細分析。 首先是包含的頭文件,就不多說了。 然後是一個巨集定義,#if UART0_ENABLE,若該巨集未被定義,則uart0_init ...
  • 參考博客: https://blog.csdn.net/lidonghat/article/details/55004280 https://blog.csdn.net/u012247418/article/details/83684052 1.syslog是 Unix 系統的一個常見組件,用於執行 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...