1. 程式人生 > >儲存基礎知識:扇區與塊/簇

儲存基礎知識:扇區與塊/簇

 

一直以來,個人對於磁碟的底層技術很少關注,可能更多的是關注磁碟IO效能,讀寫速率,這篇博文就磁碟扇區(Sector)和塊/簇這方面的知識做一些深入性的總結,希望對你有所幫助!如有不足或錯誤的地方,也敬請指正!

 

 

扇區(Sector)的概念

 

什麼是扇區(Sector)呢?我們先看看維基百科關於扇區的定義:

 

In computer disk storage, a sector is a subdivision of a track on a magnetic disk or optical disc. Each sector stores a fixed amount of user-accessible data, traditionally 512 bytes

for hard disk drives (HDDs) and 2048 bytes for CD-ROMs and DVD-ROMs. Newer HDDs use 4096-byte (4 KiB) sectors, which are known as the Advanced Format (AF).

The sector is the minimum storage unit of a hard drive.[1] Most disk partitioning schemes are designed to have files occupy an integral number of sectors regardless of the file's actual size. Files that do not fill a whole sector will have the remainder of their last sector filled with zeroes. In practice, operating systems typically operate on blocks of data

, which may span multiple sectors.[2]

Geometrically, the word sector means a portion of a disk between a center, two radii and a corresponding arc (see Figure 1, item B), which is shaped like a slice of a pie. Thus, the disk sector (Figure 1, item C) refers to the intersection of a track and geometrical sector

.

In modern disk drives, each physical sector is made up of two basic parts, the sector header area (typically called "ID") and the data area. The sector header contains information used by the drive and controller; this information includes sync bytes, address identification, flaw flag and error detection and correction information. The header may also include an alternate address to be used if the data area is undependable. The address identification is used to ensure that the mechanics of the drive have positioned the read/write head over the correct location. The data area contains the sync bytes, user data and an error-correcting code (ECC) that is used to check and possibly correct errors that may have been introduced into the data.

 

在計算機磁碟儲存中,扇區是磁碟或光碟上磁軌的細分。每個扇區儲存固定數量的使用者可訪問資料,傳統上,硬碟(HDD)上的扇區大小為512位元組,CD-ROM和DVD-ROM的扇區大小為2048位元組。較新的硬碟(HDD)使用4096位元組(4 KiB)扇區,這些扇區稱為高階格式(AF)。

扇區是硬碟的最小儲存單元。[1]大多數磁碟分割槽方案旨在使檔案佔據整數個扇區,而不管檔案的實際大小如何。未填充完整個扇區的檔案將最後一個扇區的其餘部分填充零。實際上,作業系統通常使用資料塊操作,資料塊可跨越多個扇區。[2]

從幾何學上講,“扇形”一詞是指圓盤中心,兩個半徑和相應弧之間的一部分(請參見圖1,B項 紫色部分),其形狀像一塊餡餅。因此,磁碟扇區(圖1,C項 玫紅色部分)是指磁軌和幾何扇區的交集。

在現代磁碟驅動器中,每個物理扇區都由兩個基本部分組成,即扇區頭區域(通常稱為“ ID”)和資料區域。扇區頭包含驅動器和控制器使用的資訊。該資訊包括同步位元組,地址標識,缺陷標誌以及錯誤檢測和糾正資訊。如果資料區域不可靠,則標頭還可以包含要使用的備用地址。地址標識用於確保驅動器的機械手已將讀/寫頭定位在正確的位置上。資料區域包含同步位元組,使用者資料和糾錯碼(ECC),用於檢查並可能糾正可能已引入資料中的錯誤。

 

 

我們來看看下面維基百科上的圖,形象的介紹了扇區、磁軌等概念:

 

 

ATrack   磁碟磁軌(粉紅色部分)

BGeometrical sector  幾何學中的扇形(紫色部分)

CTrack sector   磁碟扇區(玫紅色部分)

DCluster  /簇(綠色部分)

 

                                             圖(1)

 

說完扇區,就不得不提一些其他相關概念,因為它們相輔相成,不能孤立開來,這裡也簡單介紹一下,不詳細展開.

 

磁頭(head)

 

    磁頭就是讀寫碟片的裝置。如下所示

 

碟片(platter)

 

    硬碟中一般會有多個碟片組成,這個如果拆解過磁碟的人都會知道,銀白色的碟片像鏡子一樣,曾有同事將其當鏡子用。大多數碟片的材質是鋁合金,上面覆蓋一些磁性塗層。IBM曾經生產過玻璃材質的碟片,不過早已退出了歷史舞臺。每個碟片包含兩個面,每個盤面都對應地有一個讀/寫磁頭。受到硬碟整體體積和生產成本的限制,碟片數量都受到限制,一般都在5片以內。碟片的編號自下向上從0開始,如最下邊的碟片有0面和1面,再上一個碟片就編號為2面和3面。

 

柱面(cylinder)

 

    硬碟通常由重疊的一組碟片構成,每個盤面都被劃分為數目相等的磁軌,並從外緣的“0”開始編號,具有相同編號的磁軌形成一個圓柱,稱之為磁碟的柱面。磁碟的柱面數與一個盤面上的磁軌數是相等的。由於每個盤面都有自己的磁頭,因此,盤面數等於總的磁頭數。

 

    所有盤面上的同一磁軌構成一個圓柱,稱作柱面。資料的讀/寫按柱面從外向內進行,而不是按盤面進行。定位時,首先確定柱面,再確定盤面,然後確定扇區。之後所有磁頭一起定位到指定柱面,再旋轉盤面使指定扇區位於磁頭之下。寫資料時,當前柱面的當前磁軌寫滿後,開始在當前柱面的下一個磁軌寫入,只有當前柱面全部寫滿後,才將磁頭移動到下一個柱面。在對硬碟分割槽時,各個分割槽也是以柱面為單位劃分的,即從什麼柱面到什麼柱面;不存在一個柱面同屬於多個分割槽

 

瞭解完上面概念,你再看一下下面兩張圖【來自維基百科】,基本上就能有個形象的認知了。

 

 

 

 

 

物理扇區(physical sector)與邏輯扇區(logical sector)

 

關於物理扇區(physical setctor)與邏輯扇區,這個還得扯上扇區大小,由於近年來,隨著對硬碟容量的要求不斷增加,為了提高資料記錄密度,硬碟廠商往往採用增大扇區大小的方法,於是出現了扇區大小為4096位元組的硬碟。我們將這樣的扇區稱之為“物理扇區”。但是這樣的大扇區會有相容性問題,有的系統或軟體無法適應。為了解決這個問題,硬碟內部將物理扇區在邏輯上劃分為多個扇區片段並將其作為普通的扇區(一般為512位元組大小)報告給作業系統及應用軟體。這樣的扇區片段我們稱之為“邏輯扇區”。實際讀寫時由硬碟內的程式(韌體)負責在邏輯扇區與物理扇區之間進行轉換,上層程式“感覺”不到物理扇區的存在。

邏輯扇區是硬碟可以接受讀寫指令的最小操作單元,是作業系統及應用程式可以訪問的扇區,多數情況下其大小為512位元組。我們通常所說的扇區一般就是指的邏輯扇區。物理扇區是硬碟底層硬體意義上的扇區,是實際執行讀寫操作的最小單元。是隻能由硬碟直接訪問的扇區,作業系統及應用程式一般無法直接訪問物理扇區。一個物理扇區可以包含一個或多個邏輯扇區(比如多數硬碟的物理扇區包含了8個邏輯扇區)。當要讀寫某個邏輯扇區時,硬碟底層在實際操作時都會讀寫邏輯扇區所在的整個物理扇區。

 

關於扇區的一些疑問

 

回過頭來,我們仔細捋一捋圖(1)這張圖片,基本上就能把扇區的概念理解得七七八八了,那麼還有幾個問題,這個是我學習過程的一些疑問和自我解答(這裡僅僅指傳統硬碟,不涉及SSD磁碟):

 

1:扇區的大小是固定的嗎? 同一塊磁碟上的扇區大小是否可以不一致。

扇區(Sector)大小是固定的,預設情況下,每個扇區(Sector)為512位元組,2009年後,硬碟廠商開始釋出4KB位元組扇區的硬碟了,4KB扇區硬碟已經在消費級市場廣泛應用。但是同一塊硬碟上的扇區大小一定是一致的。不可能存在多種不同大小的扇區。

至於為什麼之前的扇區大小為512位元組呢?這是1956年由industry trade organization, International Disk Drive Equipment和Materials Association三家機構確定的行業標準。有時代和技術的限制,因為磁碟技術發展初期,儲存容量非常小。512位元組的扇區也夠用,但是隨著時代的發展,512位元組大小的扇區(Sector)明顯太小了,由於每個扇區(Sector)還要存放很多其他資訊,因此增大sector size可以降低扇區(Sector)的數量,從而提高實際儲存量,同時降低了差錯校驗等很多CPU計算量。但遺憾的是由於這個標準太根深蒂固,要想改變一些底層程式碼或架構勢必非常困難,所以現在4KB扇區硬碟暫時還沒有全部普及。

至於為什麼要採用4KB扇區的硬碟呢?這是因為它可以提高可靠性且增加磁碟容量 — 至少從理論上講是這樣。 更多相關詳細資料,建議參閱下面資料:

https://www.ituring.com.cn/article/22103

https://www.ibm.com/developerworks/cn/linux/l-4kb-sector-disks/index.html

https://www.ibm.com/developerworks/cn/linux/l-linux-on-4kb-sector-disks/index.html

 

2:每個磁軌(Track)上的扇區數量都是一樣的嗎? 還是隻是相同柱面(cylinder)上的扇區數量一致。

 

要回答這個問題,我們首先有必要了解一下CLV、CAV、ZBR等技術,當然這裡僅僅是入門介紹,更多相關知識(例如P-CAV、Z-CLV等技術),自行去搜索查閱。

CLV技術

   一開始的技術叫做CLV,稱為恆定線速度,這個技術要求無論在哪個圈上,線速度都要一樣,所以對馬達的要求非常高,壽命非常短,在低於12倍速的光碟機中使用的技術。光碟片和硬碟不同,光碟片上每個部分的密度都是一樣的,在同樣旋轉一圈的情況下,圓周較長的外圈部分在讀取資料時會比內圈部分快,所謂的恆定線速度是指從內到外都是同樣的讀取速度,而為了保持一開始速度,讀到外圈時會降低光碟片的轉速來配合讀取速度,讀到內圈時會提高轉速。

CAV技術

   CLV因為不停的更改馬達的轉速,會對機器的壽命造成一定的影響,而且磁碟轉速也不能無限制的加快。後來又有了一種磁碟技術叫做CAV,叫做恆定角速度,馬達的轉速恆定,壽命有了很大提高,光碟上的內沿資料比外沿資料傳輸速度要低,越往外越能體現光碟機的速度,倍速指的是最高資料傳輸率。但是也有缺點,浪費會很大,因為磁頭讀碟片的掃描頻率基本是恆定的,外圈的有效磁介質單元會很稀疏。這時候,各個磁軌的扇區數應該是一樣的。

ZBR技術

在計算機儲存中,區域位記錄(ZBR)是磁碟驅動器用來優化磁軌以增加資料容量的一種方法。它通過在外部磁軌上每個區域放置比內部磁軌更多的扇區來實現此目的。這與其他方法相反,例如恆定角速度(CAV)驅動器,其中每個磁軌的扇區數相同。在由大致同心的軌道組成的磁碟上(無論是實現為單獨的圓形軌道還是實現為單個螺旋軌道),物理軌道的長度(周長)隨著距中心輪轂的距離增加而增加。

如下圖片所示,可以看到粉紅色、綠色、灰色部分的扇區數量不一樣。

ZBR區位記錄,也稱為zone-bit recording,zone recording,zone-density recording或者multiple-zone recording,是指為了提高磁碟的儲存容量,充分利用磁碟外面磁軌的儲存能力,現代磁碟不再把內外磁軌劃分為相同數目的扇區。

所有的硬碟驅動器都是由一些磁碟片組成。在每個磁碟片中,資料存放的物理位置呈同心圓狀,這些同心圓稱為磁軌。每個磁軌上包含若干扇區。每個扇區儲存的資料容量是一致的。磁軌的周長與同心圓的直徑成正比。在早期的硬碟驅動器中,所有的磁軌包含的扇區數目都是一樣的,按照固定的圓心角輻射出去,就可以簡單的將各磁軌的扇區數進行統一。這樣,在磁軌邊緣的扇區弧長就要大於內部的扇區弧長,其儲存資料的密度也要比內部磁軌的密度要小。最終,導致外部磁軌的空間浪費。為了有效利用外部磁軌空間,讓所有的磁軌扇區儲存資料密度一致,就需要保證所有扇區的弧長一致。這樣就要根據磁軌的半徑來重新分配扇區數目。Zoned0bit recording 方法通過將磁軌分組(這種磁軌組稱為zone)實現了這一目標。內部磁軌的扇區數目較少,外部磁軌的扇區數目較多。這樣,外部磁軌和內部磁軌的儲存空間利用率都相等,充分利用了整個硬碟的空間。【來自百科】

ZDR(Zone Data Recording),即區域資料記錄技術。主要工作方式還是CAV,但是採取了分割槽方式,是每個區域內為恆定角速度,各個區域內選取的角速度不一樣。從磁碟的最外圈到內圈劃分出若干個區域。每個區域內的每磁軌扇區一致,但靠內的區域比外側的區域的每磁軌扇區數要少,從而可以根據不同的磁軌長度來合理設定扇區的數量,以達到充分利用磁碟儲存空間的目的。但設定多少個區域,每個區域的扇區數設定也都是有講究的。否則會在向內跨區域讀寫時造成傳輸率下降過大而影響整體效能。大多數產品劃分了16個區域,最外圈的每磁軌扇區數正好是最內圈的一倍,與最大的持續傳輸率的引數基本成比例。比如0到100磁軌採用每小時120碼的速度,101到200磁軌採用每小時100碼的速度,201到300採用每小時80碼的速度。

所以要回答這個問題,要根據磁碟的資料記錄方式:

    1.舊式——非ZBR區位記錄(不同磁軌扇區數相同)

        所有磁軌(Track)上的扇區數量一致。以前的硬碟技術(CAV),內圈外圈每個磁軌的扇區數是相同的,所以速度都是一樣的。舊的磁碟驅動器中,外軌道和內軌道具有相同的扇區數,因此外磁軌資料密度低。這是低效率的對可用空間的利用

    2.新式——ZBR區位記錄(不同磁軌扇區數不同)

        不同磁軌(Track)上的扇區數量不一致,離圓心越遠的磁軌的扇區數量越多(外層環帶的磁軌擁有較內層環帶的磁軌更多的扇區)。

 

3:扇區在磁軌上的面積大小是固定嗎

 

對於舊式磁碟(非ZBR區位記錄)。如上,圖(1)所示,扇區在不同的磁軌,扇區的面積大小不一樣。這個圖只是為了形象的說明扇區的邏輯概念,實際情況呢? 準確答案是:扇區的大小在不同的磁軌確實不一樣。因為所有的磁軌(Track)的扇區數量是一樣的,那麼離圓心越遠的磁軌的面積就越大,如果全部扇區的大小都一樣的話,那麼離圓心越遠的磁軌(Track)的扇區數量就應該越多,顯然不是這樣的。硬碟的每個磁軌具有相同數量的扇區,並且扇區大小一致。這意味著,內部磁軌中的位密度遠高於外部扇區中的位密度。也就是說不同磁軌的位密度(bit density)有差別

顯然,對於新式磁碟(ZBR區位記錄),所有的磁軌扇區儲存資料密度一致,所有扇區的弧長一致。

 

4:磁碟介質中儲存的密度是否不一樣?

其實問題3已經順帶回答了。

 

 

 

我們再來聊聊塊(Block)/簇(cluster)跟扇區(sector)的關係吧,關於扇區,經過上面的介紹,相信我們已經全面瞭解了扇區的基本概念。其實磁碟讀寫的基本單位是扇區,而塊(Block)/簇(cluster)是一個邏輯概念,或者說是作業系統中的概念,其實對於實際物理磁碟,並沒有所謂的塊(Block)這樣的東東。作業系統為什麼要虛擬個這樣的概念出來呢?這樣又有什麼好處呢?相信你也有不少這類疑問!

 

 

塊/簇

 

塊(Block)/簇(Cluster)是邏輯上的概念,或者說是虛擬出來的概念。 分別對應Linux與Windows作業系統中的概念。注意:有些文章或資料叫做磁碟塊/磁碟簇。這裡統一用塊(Block)/簇稱呼,這篇文章你看到的塊(Block)指磁碟塊。後面不再做宣告。

 

    Unix與Linux系統中,塊(Block)是作業系統中最小的邏輯儲存單位。作業系統與磁碟打交道的最小單位是塊(Block)。

 

    在Windows下如NTFS等檔案系統中叫做簇;

 

    每個簇或者塊可以包括2、4、8、16、32、64…2的n次方個扇區

 

 

如下所示,Windows下E盤的Cluster的大小為4Kb大小,如下所示:

 

 

 

Linux下檢視Block大小的語句如下:

 

 

# stat /home | grep "IO Block"
  Size: 47              Blocks: 0          IO Block: 4096   directory
 
# tune2fs -l /dev/mapper/VolGroup03-LogVol00 | grep Block
Block count:              47177728
Block size:               4096
Blocks per group:         32768
 
#dumpe2fs /dev/sda1|grep -i "block size"

 

 

為什麼要用磁碟塊/簇?

 

我們知道磁碟的最小單位就是扇區,那麼為什麼作業系統不用扇區作為IO的基本單位呢? 為什麼作業系統一定要整出塊(Block)/簇(Cluster)這樣的概念呢?主要是因為下面兩個原因:

 

    讀取方便:由於扇區的Size比較小,數目眾多時定址時比較困難,所以作業系統就將相鄰的扇區組合在一起,形成一個塊,再對塊進行整體的操作。

 

    分離對底層的依賴:作業系統忽略對底層物理儲存結構的設計。通過虛擬出來磁碟塊的概念,在系統中認為塊是最小的單位。

 

其實我們生活中也有類似的例子,例如我們生活中,現在見到最小幣值是角了,小時候的一分錢、兩分錢現在已經很難見到了,因為隨著經濟發展和生活水平提高,如果還有分或角的話,非常不方便,你能想象你用一大袋幣值

為1分的錢去買個幾千塊的商品嗎? 想想都覺得這畫面很滑稽。既不方便攜帶,也不方便計算。而且扇區是對硬碟而言,塊是對檔案系統而言。出於不同的需要。

 

 

塊/簇是越大越好嗎?

 

Linux系統

 

塊(Block),也稱為邏輯塊,是檔案系統層面的概念。檔案系統不是一個扇區一個扇區的來讀資料,太慢了,另外由於扇區的Size比較小,數目眾多時定址時比較困難。所以它是一個塊一個塊的讀取資料,就是說塊(Block)是檔案系統存取資料的最小單位,一般大小是4KB(這個值可以修改,在格式化分割槽的時候修改)。

讀取一個塊,實際上是從硬體裝置讀取一個或多個扇區,一個塊只能存放一個檔案的內容,無論這個檔案有多小。一個檔案可能會佔用一個或多個Block,每讀取一個block就會消耗一次磁碟IO。如果要提升磁碟IO效能,那麼儘可能一次IO讀取更多的資料,但是Block也不是越大越好,需要結合業務來設定。

 

試想,如果塊的大小為8KB,但是很多小檔案都是1KB大小,我們知道一個塊只能存放一個檔案的內容,那麼就會造成很大的浪費。

 

 

Windows系統

 

磁碟簇:扇區是磁碟最小的物理儲存單元,但由於作業系統無法對數目眾多的扇區進行定址,所以作業系統就將相鄰的扇區組合在一起,形成一個簇,然後再對簇進行管理。每個簇可以包括2、4、8、16、32或64個扇區。顯然,簇是作業系統所使用的邏輯概念,而非磁碟的物理特性。為了更好地管理磁碟空間和更高效地從硬碟讀取資料,作業系統規定一個簇中只能放置一個檔案的內容,因此檔案所佔用的空間,只能是簇的整數倍;而如果檔案實際大小小於一簇,它也要佔一簇的空間。所以,一般情況下檔案所佔空間要略大於檔案的實際大小,只有在少數情況下,即檔案的實際大小恰好是簇的整數倍時,檔案的實際大小才會與所佔空間完全一致

 

這種以簇為最小分配單位的機制,使硬碟對資料的管理變得相對容易,但也造成了磁碟空間的浪費,尤其是小檔案數目較多的情況下,一個上千兆的大硬碟,其浪費的磁碟空間可達上百兆位元組。

 

所以塊/簇的大小不是越大越好,而是對讀寫效能與節省空間的多方權衡考慮。塊和簇的大小都是可以調整的。Windows在格式磁碟時,可以通過"Allocation unit size"來調整簇的大小。如下所示,

 

 

 

如果我選擇"Allocation unit size"為8192, 也就是簇大小為8KB重新格式化,那麼你會看到”Bytes Per Cluster"值為8192了。

 

當然, Linux也可以在格式化時調整。如下所示:

 

#mkfs.ext4 -b 4096 /dev/sda

 

 

 

磁碟塊大小必須是扇區大小的整數倍呢?

 

 

磁碟讀取資料的基本單位就是一個扇區的大小,一個塊的大小對於磁碟來說就是一次獲取資料讀取的扇區數*扇區大小,如果是整數倍的扇區數對於磁碟的IO更好,速度更快,也會更合理的利用資源。否則會對扇區進行分割。

一個扇區是512位元組。有些硬碟廠商會提供4k大小扇區。這是物理結構。磁碟定下來的結構就是沒法修改的。所以必須要將塊設定為磁碟的大小。

 

如何對映磁碟塊?

 

 

磁碟控制器,其作用除了讀取資料、控制磁頭等作用外,還有的功能就是對映扇區和磁碟塊的關係

 

 

如何檢視磁碟的扇區大小呢?

 

在Linux系統下面,我們可以下面命令檢視作業系統邏輯塊與物理塊的大小,如下所示:

 

You can display what physical/logical sector sizes your disk reports via the /sys pseudo filesystem, for instance:

# cat /sys/block/sda/queue/physical_block_size

4096

# cat /sys/block/sda/queue/logical_block_size

512

 

我們可以檢視具體磁碟的扇區大小(物理扇區大小與邏輯扇區大小)

 

 

[root@KerryDB ~]# fdisk -l /dev/sda
 
Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x8de02bd4
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      208844      104391   83  Linux
Partition 1 does not start on physical sector boundary.
/dev/sda2          208896     2306047     1048576   83  Linux
            
           

相關推薦

儲存基礎知識/

  一直以來,個人對於磁碟的底層技術很少關注,可能更多的是關注磁碟IO效能,讀寫速率,這篇博文就磁碟扇區(Sector)和塊/簇這方面的知識做一些深入性的總結,希望對你有所幫助!如有不足或錯誤的地方,也敬請指正!     扇區(Sector)的概念   什麼是扇區(Se

磁盤第一有關的開機流程

font bsp 整合 inux 不同 對待 兩個 bytes 能夠 引入: 在linux系統中,每個設備都被當成一個文件來對待。 幾乎所有硬件設備都在/dev這個目錄下。 需要掌握的是磁盤的設備文件名:IDE接口的為/dev/hd[a-d],SATA的為/dev/

PHP基礎知識語法、變量數據類型

PHP1.PHP語法 PHP 腳本以 <?php 開始,以 ?> 結束,每個代碼行都必須以分號結束。 PHP 文件通常包含 HTML 標簽和一些 PHP 腳本代碼,默認文件擴展名是".php"。 將PHP文件保存在項目文件夾下,在瀏覽器的地址欄中輸入“localhost/項目

PHP面試(二)程序設計、框架基礎知識、算法數據結構、高並發解決方案類

表設計 工作原理 結構 單一入口 php 能力 高並發解決方案 數據表 缺點 一、程序設計 1、設計功能系統——數據表設計、數據表創建語句、連接數據庫的方式、編碼能力 二、框架基礎知識 1、MVC框架基本原理——原理、常見框架、單一入口的工作原理、模板引擎的理解 2、常見框

儲存基礎知識(三)儲存,檔案儲存,物件儲存

1、塊儲存 典型裝置:磁碟陣列,硬碟 塊儲存主要是將裸磁碟空間整個對映給主機使用的,就是說例如磁碟陣列裡面有5塊硬碟(為方便說明,假設每個硬碟1G),然後可以通過劃邏輯盤、做Raid、或者LVM(邏輯卷)等種種方式邏輯劃分出N個邏輯的硬碟。(假設劃分完的邏輯盤也是5個,每個也是1G,但是

mysql刪庫跑路必會姿勢(基礎MySql架構儲存引擎)

  基礎篇:MySql架構與儲存引擎 邏輯架構圖:      連線層: mysql啟動後(可以把mysql類比為一個後臺的伺服器),等待客戶端請求,當請求到來後,mysql建立一個一個執行緒處理(執行緒池則分配一個空執行緒,當然也可使用nio執行緒模

java基礎知識集合陣列的變換

一 集合變為陣列 為了限定對元素的操作,不需要進行增刪除的時候。 1.集合的擷取: List<String> list=new ArrayList<String>(); list.add("beijing"); list.add("shanghai"); li

物理 邏輯 flash 基礎概念

    sector:硬體(磁碟)上的最小的操作單位,是作業系統和塊裝置(硬體、磁碟)之間傳送資料的單位block由一個或多個sector組成,是軟體(OS、檔案系統)中最小的操作單位;作業系統的虛擬檔案系統從硬體裝置上讀取一個block,實際為從硬體裝置讀取一個或多個sec

MVC時代基礎知識Page的ResolveClientUrlResolveUrl讀取路徑,Razor @Href 解決相對路徑

一、ResolveClientUrl與ResolveUrl Page.ResolveClientUrl():返回相對於當前頁面的一個相對地址 Page.ResolveUrl():返回相對於當前應用程式的一個相對地址 但是兩個方法的地址通過Server.MapPath()獲取

學習《Java核心技術卷1基礎知識》中物件類一章中遇到的問題

P101 4.3使用者自定義類 ①Employee類的程式碼要注意內部類問題; ②同一個包中類的重名問題,尤其是寫在同一個檔案中的類; package class20110906; import java.util.Date; import java.util.Greg

數據庫基礎知識數據庫中的約束和三大範式

設計 一個 生效 訂單 詳細介紹 求長 山東 英文名稱 相關 一.數據庫中的範式:   範式, 英文名稱是 Normal Form,它是英國人 E.F.Codd(關系數據庫的老祖宗)在上個世紀70年代提出關系數據庫模型後總結出來的,範式是關系數據庫理論的基礎,也是我們在設計

Java基礎知識Java知識簡介

構造方法 sign () 結束 字母 信息 set 需要 double 一、java基礎語法:   一個Java程序可以認為是一系列對象的集合,而這些對象通過調用彼此的方法來協同工作。下面簡要介紹下類、對象、方法和實例變量的概念。 對象:對象是類的一個實例,有狀態和行為。例

癌癥免疫細胞治療知識CAR-TTCR-T的區別在哪裏?--轉載

aws 挑戰 特殊性 三種 證明 ret post 生產 ive 腫瘤免疫治療,實際上分為兩大類。一種把腫瘤的特征“告訴”免疫細胞,讓它們去定位,並造成殺傷;另一種是解除腫瘤對免疫的耐受/屏蔽作用,讓免疫細胞重新認識腫瘤細胞,對腫瘤產生攻擊(一般來說,腫瘤細胞會巧妙偽裝,逃

基礎知識數據類型優先級

pos eight cast rar 溢出 .com microsoft title html 原文:基礎知識:數據類型優先級太忙好久沒更新博客了,今天隨便寫個吧,當做個筆記。 SQL Server在處理數值型的數據中,默認為INT型,以下的問題,可能你會遇到。 -

liunx自學基礎知識筆記 Linux使用者群組

情況 信息 roo 人物 自己 年齡 liunx /etc 理解 Linux使用者與群組擁有者、群組、其他人 1、擁有者 owner文件的擁有者,理解成相當於你自己(我是這麽理解的)。自己的一些私人物品,不給其他人分享。2、群組和我一組的人,好比同一個小隊,小組,可以共享一

Linux中硬盤物理文件系統文件對應關系(轉)

通過命令 wid lsp www sta fdisk -l echo net 我們 1 概述 系統讀寫文件過程中,如下面內核打印信息,報告讀寫某個扇區錯誤。那麽我們如何能夠通過sector找到讀寫哪個文件錯誤? kernel: end_reque

PHP基礎知識面向對象的編程

PHP1.類的定義 class關鍵字+類名+{},大括號內定義變量和方法。 類的變量使用 var 來聲明, 也可以初始化值。 類創建後可以使用 new 運算符來實例化該類的對象。 註:變量 $this 代表自身的對象。 2.成員函數 構造函數:用來在創建對象時初始化對象, 即為對象成員變量賦初始值,在創

》》HTTP 方法GET 對比 POST《《JavaSpringMVC基礎知識Http協議()

ipa .com 常用 code 有關 strong 註意 part html_ http://www.w3school.com.cn/tags/html_ref_httpmethods.asp 兩種最常用的 HTTP 方法是:GET 和 POST。 —————————

python基礎知識數據結構的學習

字符串 [1] script uid nim value operation 字符 index python的數據結構有:列表、元組、字典 列表:作用:處理 有序 項目的數據結構list=["a",‘b‘,‘v‘,‘d‘]# 打印長度print(len(list))# 循環

Python基礎知識列表list

基礎知識 沒有 sort 一個 技術分享 img 列表方法 ted 知識點 知識點:   1、列表是可變數據類型--可以改變元素的值   2、sort沒有返回值,sorted有返回值   3、更新數據項       索引賦值:不能超過索引範圍       分片賦值:可以同