国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知

這篇具有很好參考價值的文章主要介紹了【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在閱讀論文:OrcFS: Orchestrated file system for flash storage是需要補充的基礎(chǔ)知識
這篇論文是為了解決軟件層次之間的信息冗余問題

To minimize the disk traffic, the file system buffers the updates and then flushes them to the disk as a single unit, a segment (e.g.,2Mbyte), either when the buffer is full or when fsync() is called.

【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知,操作系統(tǒng)真象還原,unix,操作系統(tǒng)The metadata area consists of the file system super block (FS-SB), checkpoint, segment information table (SIT), and node address table (NAT). The SIT manages the block
bitmap of each segment in the data area. The NAT manages the block address corresponding to
each node ID.

【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知,操作系統(tǒng)真象還原,unix,操作系統(tǒng)

fsync

一、緩沖#
傳統(tǒng)的UNIX實現(xiàn)的內(nèi)核中都設(shè)置有緩沖區(qū)或者頁面高速緩存,大多數(shù)磁盤IO都是通過緩沖寫的。

當你想將數(shù)據(jù)write進文件時,內(nèi)核通常會將該數(shù)據(jù)復(fù)制到其中一個緩沖區(qū)中,如果該緩沖沒被寫滿的話,內(nèi)核就不會把它放入到輸出隊列中。

當這個緩沖區(qū)被寫滿或者內(nèi)核想重用這個緩沖區(qū)時,才會將其排到輸出隊列中。等它到達等待隊列首部時才會進行實際的IO操作。
【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知,操作系統(tǒng)真象還原,unix,操作系統(tǒng)
這里的輸出方式就是大家耳熟能詳?shù)模?延遲寫

這個緩沖區(qū)就是大家耳熟能詳?shù)模篛S Cache

二、延遲寫的優(yōu)缺點#
很明顯、延遲寫降低了磁盤讀寫的次數(shù),但同時也降低了文件的更新速度。

這樣當OS Crash時由于這種延遲寫的機制可能會造成文件更新內(nèi)容的丟失。而為了保證磁盤上的實際文件和緩沖區(qū)中的內(nèi)容保持一致,UNIX系統(tǒng)提供了三個系統(tǒng)調(diào)用:sync、fsync、fdatasyn

三、sync、fsync、fdatasync

#include<unistd.h>
int fsync(int filedes);
int fdatasync(int filedes);
int sync();

sync系統(tǒng)調(diào)用:將所有修改過的緩沖區(qū)排入寫隊列,然后就返回了,它并不等實際的寫磁盤的操作結(jié)束。所以它的返回并不能保證數(shù)據(jù)的安全性。通常會有一個update系統(tǒng)守護進程每隔30s調(diào)用一次sync。

fsync系統(tǒng)調(diào)用:需要你在入?yún)⒌奈恢蒙蟼鬟f給他一個fd,然后系統(tǒng)調(diào)用就會對這個fd指向的文件起作用。fsync會確保一直到寫磁盤操作結(jié)束才會返回。所以fsync適合數(shù)據(jù)庫這種程序。

fdatasync系統(tǒng)調(diào)用:和fsync類似但是它只會影響文件的一部分,因為除了文件中的數(shù)據(jù)之外,fsync還會同步文件的屬性。

緩存的意義:

系統(tǒng)調(diào)用是一件成本很高的事情,如果沒有緩沖區(qū),寫一個數(shù)據(jù)就要傳輸一下,時間成本很高。緩沖區(qū)可以根據(jù)一定的策略進行數(shù)據(jù)的一次性傳輸,所以意義就是可以節(jié)省調(diào)用者的時間。

OrcFS的架構(gòu)

【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知,操作系統(tǒng)真象還原,unix,操作系統(tǒng)

基礎(chǔ)知識補充

1.磁盤

磁盤是計算機上唯一一個機械設(shè)備,磁盤和我們現(xiàn)在電腦上的固態(tài)硬盤(SSD)不一樣,固態(tài)硬盤是電子的,比起磁盤要快的多,但是價格比磁盤貴。磁盤現(xiàn)在只有一些公司存儲大量數(shù)據(jù)的時候會用,因為成本低。

機械磁盤中主要的部件有:馬達、磁盤、磁頭等,磁盤有一摞,數(shù)據(jù)就記錄在磁盤上面,一個磁盤有兩面,就會有兩個磁頭,一個磁頭負責(zé)一面的數(shù)據(jù)讀寫。磁頭負責(zé)讀寫磁盤上的數(shù)據(jù),馬達負責(zé)轉(zhuǎn)動磁盤。磁頭和磁盤是不接觸的,但是距離非常近,如果磁頭接觸了磁盤,就有可能把磁盤上的數(shù)據(jù)抹掉,造成數(shù)據(jù)丟失。所以磁盤是不能碰撞的,一旦磕碰就有可能會發(fā)生數(shù)據(jù)丟失,這也是被淘汰的原因

計算機是只能識別0和1的,那么在磁盤上怎么區(qū)分0和1呢?不同的設(shè)備區(qū)分0和1的方法不同,在磁盤上就是以南極北極區(qū)分0和1,磁盤的盤片上有無數(shù)的基本單元,每一個基本單元就是一個磁鐵,磁鐵就有南極和北極。所以寫入數(shù)據(jù)的過程就是把N編程S,刪除數(shù)據(jù)的本質(zhì)就是S編程N。所以磁頭讀取數(shù)據(jù)就是讀取南北極,寫入數(shù)據(jù)就是更改南北極。

【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知,操作系統(tǒng)真象還原,unix,操作系統(tǒng)

2.具體存儲:

數(shù)據(jù)在盤面上存儲的,而盤面是一個同心圓,那么根據(jù)什么規(guī)則來找到數(shù)據(jù)所在的區(qū)域呢?

把盤面分為多個扇面,每個扇面都有磁道劃分扇區(qū),數(shù)據(jù)就是存儲在無數(shù)個扇區(qū)里面,每個扇區(qū)大小不同,但是存儲的bit位是相同的,都是512字節(jié),那么怎么找到對應(yīng)的扇區(qū)呢? 一個磁盤有多個盤面,一個盤面對應(yīng)一個磁頭,所以可以給磁頭定一個編號,根據(jù)磁頭能找到盤面,而盤面相對位置都是一樣的,所以就會有一個柱面,這個柱面就是磁道,然后根據(jù)扇面的編號就可以確定一個扇區(qū)。磁頭(head)、柱面(cylinder)、扇區(qū)(sector)這種就是一種CHS定位法。根據(jù)這種方法可以定位任意一個扇區(qū),把文件寫入磁盤的本質(zhì)就是給一個或者多個扇區(qū)寫入二進制,或者讀取多個扇區(qū)的二進制。
【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知,操作系統(tǒng)真象還原,unix,操作系統(tǒng)

對磁盤物理結(jié)構(gòu)的邏輯抽象

? 一個磁盤通過CHS地址能夠訪問到任何一個扇區(qū),那么OS內(nèi)不能是不是通過CHS地址訪問磁盤中的數(shù)據(jù)呢?并不是。一旦磁盤物理結(jié)構(gòu)發(fā)生改變,OS就不能訪問數(shù)據(jù)了,這樣是為了OS和磁盤之間解耦。

一個扇區(qū)也就是512字節(jié),但是OS讀取數(shù)據(jù)的時候基本單位是4kb,哪怕OS只修改一個bit位OS也會把這一個bit位所在4kb全部讀取,然后修改完成后再把4kb整體放回到原來的地方。所以操作系統(tǒng)需要有一套新的地址進行IO操作。
那么操作系統(tǒng)想要一次讀取4kb(也就是8個扇區(qū)),怎么讀取的呢?
把一個盤面抽象成一個數(shù)組。LBA方式讀取數(shù)據(jù)

? 磁盤的數(shù)據(jù)存儲再盤面上,而盤面是一個同心圓,從最外圈到最內(nèi)圈有無數(shù)個磁道,一圈磁道有許多扇區(qū),如果把磁道拉伸成一個線性的,就像磁帶一樣,最開始讀取數(shù)據(jù)是在最外圈,最后讀取的數(shù)據(jù)是在最內(nèi)圈。一個磁道拉伸出來就像一個長條,然后這個長條內(nèi)有無數(shù)個扇區(qū)就像數(shù)組的空間,這樣一圈磁道就被拉伸成了一個數(shù)組,內(nèi)側(cè)磁道拉伸成數(shù)組頭部跟在外側(cè)磁道尾部的后面,這樣就可以把一個同心圓抽象成一個數(shù)組。
? 計算機要讀取一個內(nèi)置類型或者自定義類型時,通常是起始地址+偏移量(數(shù)據(jù)類型)。OS讀取4kb也就是8個扇區(qū)就是讀取8個扇區(qū)空間的首地址。這4kb大小的類型,被稱為塊。把這個數(shù)據(jù)塊看做一種數(shù)據(jù)類型。塊的地址就是一個下標。這種讀取數(shù)據(jù)的方式被稱為LBA。

LBA轉(zhuǎn)換成CHS方法,簡單的轉(zhuǎn)換,實際的轉(zhuǎn)換方法一定要復(fù)雜得多。

//假設(shè)一個盤面有10圈磁道,一圈有500個扇區(qū),一個盤面有5000個扇區(qū)。讀取6500號數(shù)組下標
C:1500/500 = 3
H:6500/5000 = 1
S: 1500%500 = 0
到現(xiàn)在操作系統(tǒng)對磁盤的管理就變成了對數(shù)組的管理。

文件系統(tǒng)

? OS對磁盤抽象為數(shù)組管理,每個數(shù)組空間為4kb,但是磁盤有著很大的空間,是以GB甚至是TB為單位的。用一個簡單數(shù)組直接管理難度太大。所以會對磁盤進行分區(qū),類似分C盤D盤,而每個區(qū)還是很大,所以每個區(qū)會分組(group)管理。
【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知,操作系統(tǒng)真象還原,unix,操作系統(tǒng)
每個組內(nèi)又分了各種區(qū)域存儲不同的信息,把一個組管理模式可以復(fù)刻到每一個分組,這樣就能管理好整個分區(qū)。

super block

這個分區(qū)內(nèi)存放的是:
1.文件系統(tǒng)的類型
2.整個分組的情況
super block在每個分組里都存在,而且都存了文件系統(tǒng)的類型,是同時更新的同樣的數(shù)據(jù)。主要是為了做多個備份,如果super block這個區(qū)域的數(shù)據(jù)沒有備份而且損壞,直接導(dǎo)致整個分區(qū)的數(shù)據(jù)不能被使用。

Group Descriptor Table

簡稱GDT:組描述符,主要是記錄組內(nèi)詳細統(tǒng)計等信息。例如每個區(qū)域的大小等等

inode table

linux系統(tǒng)中,內(nèi)容和屬性是分開存儲的,一個文件的所有屬性集合就是一個inode(128kb)節(jié)點,一個分組內(nèi)也有大量的文件也就有大量的inode節(jié)點,這些inode節(jié)點都存儲在inode
table表中,每一個inode節(jié)點都有自己的indoe編號,也屬于對應(yīng)文件的屬性id。

Linux中查看inode編號ls -il

Date block

主要存儲文件的內(nèi)容數(shù)據(jù),所有的文件的內(nèi)容都被存儲在Date block這個區(qū)域內(nèi)。Linux查找一個文件必須先找到這個文件對應(yīng)的inode節(jié)點的編號,通過indoe節(jié)點映射關(guān)系找到文件的內(nèi)容。

inode bitmap

這個區(qū)域內(nèi)的一個bit位表示一個inode的使用情況,0表示空可以使用,1表示被占用。

Linux系統(tǒng)只認識inode編號,并不存在文件名,文件名是給用戶看的。

ref: https://blog.csdn.net/weixin_48344647/article/details/129925872文章來源地址http://www.zghlxwxcb.cn/news/detail-789180.html

到了這里,關(guān)于【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時需要補充的基礎(chǔ)知的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 操作系統(tǒng)——操作系統(tǒng)用戶界面

    操作系統(tǒng)——操作系統(tǒng)用戶界面

    操作系統(tǒng)入門知識合集 目錄 3.1操作系統(tǒng)啟動過程 3.1.1BIOS和主引導(dǎo)記錄MBR 思考題: ?3.1.2操作系統(tǒng)的啟動過程 思考題: 3.2用戶界面 3.2.1用戶界面概念 ?思考題: 3.2.2系統(tǒng)調(diào)用 計算機有兩種模式: 1.實模式:當計算機剛開機、剛上電、還沒有加載操作系統(tǒng)的時候,計算器處于

    2024年02月02日
    瀏覽(20)
  • 操作系統(tǒng)-筆記-第一章-操作系統(tǒng)的概念

    操作系統(tǒng)-筆記-第一章-操作系統(tǒng)的概念

    一、第一章——操作系統(tǒng)的概念 二、第二章——【進程】 二、第二章——【線程】?編輯 二、第二章——【進程調(diào)度】 二、第二章——【進程同步與互斥】 二、第二章——【鎖】 三、第三章——內(nèi)存管理 四、第四章——文件管理 五、第五章——輸入輸出管理 ???學(xué)習(xí)心

    2024年02月12日
    瀏覽(32)
  • 【操作系統(tǒng)基礎(chǔ)】操作系統(tǒng)的分類與發(fā)展

    【操作系統(tǒng)基礎(chǔ)】操作系統(tǒng)的分類與發(fā)展

    這篇文章是操作系統(tǒng)基礎(chǔ)的開始,收錄于我是沐風(fēng)曉月的《操作系統(tǒng)原理》專欄 操作系統(tǒng)是指控制和管理整個計算機系統(tǒng)的硬件和軟件資源,并合理地組織調(diào)度計算機的工作和資源的分配,以提供給用戶和其它軟件方便的接口和環(huán)境,它是計算機系統(tǒng)中最基本的系統(tǒng)軟件。 操

    2023年04月19日
    瀏覽(17)
  • 操作系統(tǒng)學(xué)習(xí)第5天(操作系統(tǒng)引導(dǎo))

    操作系統(tǒng)學(xué)習(xí)第5天(操作系統(tǒng)引導(dǎo))

    操作系統(tǒng)(如Windows、Linux等)是一種程序,程序以數(shù)據(jù)的形式存放在硬盤中,而硬盤通常分為多個分區(qū),一臺計算機中又有多個或多種外部存儲設(shè)備。操作系統(tǒng)引導(dǎo)是指計算機利用CPU運行特定程序,通過程序識別硬盤,識別硬盤分區(qū),識別硬盤分區(qū)上的操作系統(tǒng),最后通過程

    2023年04月11日
    瀏覽(22)
  • linux操作系統(tǒng)與Windows操作系統(tǒng)

    【1】Windows 操作系統(tǒng)和Linux操作系統(tǒng)有什么不同? 1、首先是他們的開放性不同 所謂的開放性就是linux操作系統(tǒng)是開放源du碼系統(tǒng),可以對其程序進行編輯修改。而微軟的daoWindows系統(tǒng)是受微軟版權(quán)保護,只能微軟內(nèi)部進行開發(fā)及修改。 2、其次是它們的價格不同 linux系統(tǒng)是免費

    2024年02月04日
    瀏覽(26)
  • 王道操作系統(tǒng)學(xué)習(xí)筆記(1)——操作系統(tǒng)基本概念

    王道操作系統(tǒng)學(xué)習(xí)筆記(1)——操作系統(tǒng)基本概念

    本文介紹了操作系統(tǒng)的基本概念,文章中的內(nèi)容來自B站王道考研操作系統(tǒng)課程,想要完整學(xué)習(xí)的可以到B站官方看完整版。 操作系統(tǒng):系統(tǒng)資源的管理者(處理機管理、存儲器管理、文件管理、設(shè)備管理) 交互式命令(在終端中輸命令)和批處理命令(Shell腳本) 并發(fā): 宏

    2024年02月10日
    瀏覽(25)
  • Linux操作系統(tǒng)(二):操作系統(tǒng)結(jié)構(gòu)與內(nèi)核設(shè)計

    Linux操作系統(tǒng)(二):操作系統(tǒng)結(jié)構(gòu)與內(nèi)核設(shè)計

    ?在(一)詳解CPU中介紹了操作系統(tǒng)所基于的硬件CPU后,本部分學(xué)習(xí)操作系統(tǒng)的架構(gòu)。在計算機系統(tǒng)中,操作系統(tǒng)的架構(gòu)通常包括以下幾個主要組件: 內(nèi)核(Kernel) 進程管理(Process Management) 內(nèi)存管理(Memory Management) 文件系統(tǒng)管理(File System Management) 設(shè)備管理(Device

    2024年02月13日
    瀏覽(37)
  • 【湯4操作系統(tǒng)】深入掌握操作系統(tǒng)-文件管理篇

    【湯4操作系統(tǒng)】深入掌握操作系統(tǒng)-文件管理篇

    數(shù)據(jù)項記錄文件 數(shù)據(jù)項分為: 基本數(shù)據(jù)項:描述對象的某些屬性,例如學(xué)生的年齡,姓名學(xué)號等 組合數(shù)據(jù)項:由若干個基本數(shù)據(jù)項組合而成 記錄:一組相關(guān)數(shù)據(jù)項的集合,用于描述一個對象在某方面的屬性 文件:文件是指由創(chuàng)建者所定義的、 具有文件名的一組 相關(guān)元素的

    2024年02月09日
    瀏覽(30)
  • 【第一章 | 操作系統(tǒng)概述】《操作系統(tǒng) 慕課版》課后答案 + 復(fù)習(xí)

    【第一章 | 操作系統(tǒng)概述】《操作系統(tǒng) 慕課版》課后答案 + 復(fù)習(xí)

    目錄 | 本章概念 | 本章算法 單道批與多道批的圖像繪制 利用率的計算與分析? | 課后簡答題 1.OS的作用 作為用戶與計算機硬件系統(tǒng)之間的接口 | 計算機系統(tǒng)資源的管理者 | 對計算機資源的抽象。OS的目標是: 方便性 有效性 可擴充性 開放性 2.虛擬機 覆蓋了I/O軟件的設(shè)備稱為

    2024年02月02日
    瀏覽(21)
  • 分布式操作系統(tǒng)會不會是操作系統(tǒng)的終端形態(tài)?

    分布式操作系統(tǒng)會不會是操作系統(tǒng)的終端形態(tài)?

    ????????昨天一位網(wǎng)友私信我,提出一個問題:“Laxcus分布式操作系統(tǒng)會不會是操作系統(tǒng)發(fā)展的終極形態(tài)?”。今天覺得有必要把這件事說一說,所以就忙里偷閑寫下這篇文章。 ????????咱們先說結(jié)論: 是也不是,需要具體情況具體分析 。 ????????操作系統(tǒng)發(fā)展到

    2024年02月15日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包