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

文件系統(tǒng)考古:1974-Unix V7 File System

這篇具有很好參考價(jià)值的文章主要介紹了文件系統(tǒng)考古:1974-Unix V7 File System。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

有時(shí),進(jìn)步難以察覺,特別是當(dāng)你正身處其中時(shí)。而對(duì)比新舊資料之間的差異,尋找那些推動(dòng)變革的信息源,我們就可以清晰地看到進(jìn)步的發(fā)生。在Linux(以及大部分Unix系統(tǒng))中,都可以印證這一點(diǎn)。

Unix V7 是 Unix 操作系統(tǒng)的一個(gè)重要的早期版本,于 1979 年發(fā)布,是貝爾實(shí)驗(yàn)室最后一個(gè)廣泛分發(fā)的版本。它是第一個(gè)真正可移植的 Unix 版本,被移植到了多種平臺(tái)上,包括 DEC PDP-11, VAX, x86, Motorola 68000 等。Unix V7 的 VAX 移植版本,叫做 UNIX/32V,是流行的 4BSD 系列 Unix 系統(tǒng)的直接祖先。許多老牌的 Unix 用戶認(rèn)為 Unix V7 是 Unix 發(fā)展的頂峰。

Unix V7 Research Release 的源代碼可以在 unix-history-repo 這個(gè)由 Diomidis Spinellis 維護(hù)的項(xiàng)目中找到。如果你想深入了解 Unix 的設(shè)計(jì)原理,可以參考 Maurice J. Bach 的經(jīng)典著作 The Design of the Unix Operating System,并查看 Research V7 Snapshot 這個(gè)分支的代碼庫。

Machines

1974 年,計(jì)算機(jī)擁有一個(gè)“核心”,即中央處理單元。然而,在某些計(jì)算機(jī)中,這個(gè)“核心”已經(jīng)發(fā)生了變化。不再是由多個(gè)部件(如算術(shù)邏輯單元、寄存器、順序控制器和微碼存儲(chǔ)器)組成的設(shè)備,而是一顆單一的集成芯片,單個(gè)芯片上集成了數(shù)千個(gè)晶體管。它們被叫做“小型計(jì)算機(jī)”。

Kernels

在 Unix 中,我們通過配置頭文件(header file)來處理系統(tǒng)資源。如下圖所示,這里顯示了頭文件中配置的默認(rèn)值,數(shù)據(jù)結(jié)構(gòu)是數(shù)組,所示值是相應(yīng)的數(shù)組大小。如果要更改它們,則需要編輯文件,重新編譯和鏈接內(nèi)核,然后重新啟動(dòng)系統(tǒng)。

它有一個(gè)文件系統(tǒng)緩沖區(qū)緩存(file system buffer cache),使用 NBUF(29)個(gè)磁盤塊,每個(gè)磁盤塊的大小是 512 字節(jié),用來暫時(shí)存儲(chǔ)磁盤上的數(shù)據(jù)塊和 inode,從而加速文件系統(tǒng)訪問。另外還有一個(gè)索引節(jié)點(diǎn)數(shù)組(inode array),它有 NINODE (200)個(gè)條目,每個(gè)條目對(duì)應(yīng)一個(gè)文件的元數(shù)據(jù),還可以同時(shí)掛載 NMOUNT (8)個(gè)文件系統(tǒng)。每個(gè)用戶最多可以運(yùn)行MAXUPRC(25)個(gè)進(jìn)程,總共有 NPROC(150)個(gè)系統(tǒng)進(jìn)程。每個(gè)進(jìn)程最多可以打開 NOFILE(20)個(gè)文件。

閱讀 Bach 的著作和 V7 源代碼是很有趣的,盡管它們已經(jīng)完全過時(shí)。因?yàn)檫@些源代碼中呈現(xiàn)出的許多核心概念更加清晰,結(jié)構(gòu)更簡(jiǎn)潔,有時(shí)甚至帶有古老的風(fēng)格。然而,正是這些概念定義了 Unix 文件系統(tǒng)。V7 Unix 被寫入了 POSIX 標(biāo)準(zhǔn),之后的每個(gè)文件系統(tǒng)都必須遵守它。如果您想了解更多相關(guān)示例,請(qǐng)參考 But Is It Atomic?

核心概念

Unix 文件系統(tǒng)的基本概念和結(jié)構(gòu)來自這個(gè)系統(tǒng)。其中一些概念甚在現(xiàn)代系統(tǒng)中依然存在。

磁盤由一系列數(shù)據(jù)塊(block)組成,從第 0 塊開始,一直到第 n 塊結(jié)束。在文件系統(tǒng)的開始部分,我們可以找到超級(jí)塊(superblock)。它位于文件系統(tǒng)的第 1 塊。超級(jí)塊存儲(chǔ)了文件系統(tǒng)的一些基本信息,比如文件系統(tǒng)的大小、空閑塊的數(shù)量、空閑索引節(jié)點(diǎn)的數(shù)量等。當(dāng)我們執(zhí)行掛載(mount)系統(tǒng)調(diào)用時(shí),系統(tǒng)會(huì)找到一個(gè)空閑的掛載結(jié)構(gòu)(mount structure),并且從磁盤上讀取超級(jí)塊,把它作為掛載結(jié)構(gòu)的一部分。

Inode

內(nèi)存中的超級(jí)塊(in-memory superblock)是磁盤上超級(jí)塊的副本,用于加快文件系統(tǒng)的訪問速度。它包含一個(gè) short 類型的字段,用于存儲(chǔ)一個(gè)索引節(jié)點(diǎn)數(shù)組(inode array)在磁盤上的位置。

索引節(jié)點(diǎn)(inode)是一個(gè)描述文件內(nèi)容和屬性的結(jié)構(gòu),文件內(nèi)容由一系列數(shù)據(jù)塊(block)組成,每個(gè)數(shù)據(jù)塊的大小是固定的(通常是 512 字節(jié)或 1024 字節(jié)),文件屬性包含文件名、大小、權(quán)限、時(shí)間戳等元數(shù)據(jù)(metadata)。

文件系統(tǒng)中的 inode 數(shù)組是一個(gè) short 類型的計(jì)數(shù)器,它的最大值是 65535,也就是說文件系統(tǒng)中最多只能有 65535 個(gè) inode。由于每個(gè)文件都需要一個(gè) inode,因此每個(gè)文件系統(tǒng)最多只能容納 65535 個(gè)文件。
每個(gè)文件具有一些固定屬性:

  • (2字節(jié))mode,它包含了文件的類型和訪問權(quán)限;
  • (2字節(jié))nlink,它表示這個(gè)文件有多少個(gè)名字;
  • (2字節(jié))uid,文件的所有者;
  • (2字節(jié))gid,文件所有者的組 ID;
  • (4字節(jié))size,文件的長度,以字節(jié)為單位(定義為 off_t,長整型);
  • (40字節(jié))addr 數(shù)組,包含了文件的數(shù)據(jù)塊在磁盤上的地址;
  • (3x 4字節(jié))三個(gè)時(shí)間,atime(訪問時(shí)間),mtime(修改時(shí)間)和 ctime(所謂的創(chuàng)建時(shí)間,但實(shí)際上是最后一個(gè) inode 更改的時(shí)間)。

總大小為 64 字節(jié)。

bmap()

Addr 數(shù)組包含 40 個(gè)字節(jié),但它存儲(chǔ)了 13 個(gè)磁盤塊地址,每個(gè)地址使用 3 個(gè)字節(jié)。這對(duì)于 24 位來說非常適用,或者說對(duì)應(yīng)于 16 個(gè)大小為 512 字節(jié)的兆塊,總文件系統(tǒng)大小為 8M 千字節(jié),即 8GB。

PDP-11 RL02K磁盤盒可容納 10.4 MB,而更新的 RA92 可存儲(chǔ) 1.5 GB。
Addr 數(shù)組在 bmap() 函數(shù)中被使用。該函數(shù)接收一個(gè) inode(ip)和一個(gè)邏輯塊號(hào) bn,并返回一個(gè)物理塊號(hào)。也就是說,它將文件中的一個(gè)塊映射到磁盤上的一個(gè)塊,因此得名。

前 10 個(gè)塊指針直接存儲(chǔ)在 inode 中。例如,要訪問塊 0,bmap() 將在 inode 中查找 di_addr[0] 并返回該塊號(hào)。

額外的塊存儲(chǔ)在一個(gè)間接塊中,而間接塊則存儲(chǔ)在 inode 中。對(duì)于更大的文件,會(huì)分配一個(gè)雙間接塊,并指向更多的間接塊,最終非常大的文件需要甚至三次間接塊。

代碼首先確定需要多少層間接尋址,也就是要通過多少個(gè)間接塊才能找到文件內(nèi)容的磁盤塊。然后,獲取相應(yīng)的間接塊。最后,代碼按照適當(dāng)?shù)拇螖?shù)解析間接尋址,也就是根據(jù)層數(shù)依次從間接塊中讀取其他間接塊或直接塊的地址,直到找到文件內(nèi)容的磁盤塊。

對(duì)于越來越大的文件,原始的 Unix 文件結(jié)構(gòu)采用了逐漸增加的間接訪問次數(shù)。這樣形成了一個(gè)壓縮的數(shù)組,其中較短的文件可以直接通過 inode 中的數(shù)據(jù)進(jìn)行訪問,而較大的文件則需要通過越來越多的間接訪問來獲取數(shù)據(jù)。為了提高性能,保持間接塊在文件系統(tǒng)緩沖區(qū)高速緩存中是至關(guān)重要的。

這種擴(kuò)展性取決于塊大?。ㄔ缙跒?512 字節(jié),現(xiàn)在為 4096 字節(jié))和塊號(hào)的字節(jié)大?。ㄗ畛鯙?3 字節(jié),后來為 4 字節(jié)甚至 8 字節(jié))。

Atomic writes

文件的寫入是在加鎖的狀態(tài)下進(jìn)行的,因此它們始終具有原子性。即使是跨越多個(gè)數(shù)據(jù)塊的寫入操作,也是如此。這一點(diǎn)在 But Is It Atomic? 中有詳細(xì)討論。
這也意味著即使有多個(gè)寫入進(jìn)程,在單個(gè)文件上,任何時(shí)刻只能有一個(gè)磁盤寫入操作處于活躍狀態(tài)。這對(duì)數(shù)據(jù)庫系統(tǒng)的開發(fā)者來說非常不便利。

Naming files

目錄是一個(gè)具有特殊類型和固定記錄結(jié)構(gòu)的文件。

一個(gè)目錄條目包含一個(gè)inode號(hào)(一個(gè)無符號(hào)整數(shù))和一個(gè)文件名,文件名的長度最多可以達(dá)到14個(gè)字節(jié)。這使得一個(gè)磁盤塊可以容納32個(gè)目錄條目,而一個(gè)目錄文件的直接塊可以引用的10個(gè)磁盤塊可以容納320個(gè)目錄條目。

下層(lower)的文件系統(tǒng)中充滿了大量的文件。這些文件沒有名稱,只有編號(hào)。
上層 (upper)的文件系統(tǒng)使用一種特殊類型的文件,具有簡(jiǎn)單的16字節(jié)記錄結(jié)構(gòu),用于為文件分配最多14個(gè)字符的名稱。一個(gè)特殊的函數(shù)namei()將文件名轉(zhuǎn)換為inode號(hào)。

傳遞給namei()的路徑名具有層次結(jié)構(gòu):它們可以包含/作為路徑分隔符,并以\0(NUL)作為終止符。路徑名若以/開頭,則遍歷將從文件系統(tǒng)的根目錄開始,形成絕對(duì)路徑名;若不以/開頭,則遍歷將從u.u_cdir,即當(dāng)前目錄開始。
該函數(shù)逐個(gè)消耗路徑名的各個(gè)組成部分,使用當(dāng)前活動(dòng)目錄,并在該目錄中線性搜索當(dāng)前組件的名稱。當(dāng)找到最后一個(gè)路徑名組件或在任何階段找不到組件時(shí),該函數(shù)結(jié)束。如果在路徑中的任何目錄的任何點(diǎn)上,我們沒有 x 權(quán)限,它也會(huì)結(jié)束。

該函數(shù)按順序逐個(gè)處理路徑名的各個(gè)組成部分。它使用當(dāng)前目錄,并在該目錄中線性搜索當(dāng)前組成部分的名稱。函數(shù)的結(jié)束條件有兩種情況:一是找到了路徑名的最后一個(gè)組成部分,二是在路徑的任何目錄中,出現(xiàn)了無法訪問的情況。
掛載點(diǎn)是特殊條目,它會(huì)從當(dāng)前節(jié)點(diǎn)和文件系統(tǒng)的目錄條目切換到掛載文件系統(tǒng)的根inode。這使得Unix中的所有文件系統(tǒng)看起來像是一棵單一的樹,如果要進(jìn)行"硬盤修改"的操作,只需簡(jiǎn)單地切換到不同的目錄。

最終,該函數(shù)將返回給定路徑名的inode指針,根據(jù)需要和需求創(chuàng)建(或刪除)inode(和目錄條目)。它是目錄遍歷和訪問權(quán)限檢查的集中點(diǎn)。

一些創(chuàng)新的想法以及限制

這個(gè)早期的Unix文件系統(tǒng)具有許多很好的特性

  • 它將多個(gè)文件系統(tǒng)呈現(xiàn)為一個(gè)統(tǒng)一的樹形結(jié)構(gòu);

  • 文件是無結(jié)構(gòu)的字節(jié)數(shù)組;

  • 這些數(shù)組以可動(dòng)態(tài)增加深度的動(dòng)態(tài)數(shù)組的形式存儲(chǔ)。它們內(nèi)部使用一種逐漸嵌套的間接塊系統(tǒng),其中數(shù)組的元素可以是指向其他數(shù)組或數(shù)據(jù)的指針,從而形成層次嵌套的結(jié)構(gòu)。這使得磁盤搜索的復(fù)雜度為O(1);

  • 下層文件系統(tǒng)創(chuàng)建文件和上層的文件系統(tǒng)組織文件互相隔離,分工明確。獲取inode的唯一方式是路徑名遍歷,并且在此過程中始終檢查權(quán)限;

  • 文件名中只有很少的特殊字符,即/和\0(空字符)。

但也有明顯的限制

  • 文件只能有16M個(gè)塊;

  • 文件系統(tǒng)只能有非常有限的65535個(gè)inode。

還有一些令人討厭的限制

  • 文件只能有一個(gè)正在寫入的進(jìn)程,這會(huì)導(dǎo)致并發(fā)性受限;

  • 目錄查找是線性掃描,因此對(duì)于大型目錄(超過320個(gè)條目),速度變得非常慢;

  • 沒有強(qiáng)制文件鎖定系統(tǒng)。但存在幾種用于咨詢式文件鎖定的系統(tǒng)。

還有一些特殊情況

  • 在 Unix V7 系統(tǒng)中,沒有 delete() 系統(tǒng)調(diào)用,而是 unlink() 系統(tǒng)調(diào)用,它可以刪除一個(gè)文件的名字,并且那些沒有任何文件名和打開文件句柄的文件會(huì)被自動(dòng)清理。這會(huì)導(dǎo)致一些不符合預(yù)期的結(jié)果,例如,只有當(dāng)一個(gè)完全沒有文件名的文件被完全關(guān)閉時(shí),它占用的磁盤空間才會(huì)被釋放。許多 Unix 系統(tǒng)管理員都曾經(jīng)問過他們的磁盤空間去哪了,當(dāng)他們刪除了 /var/log 目錄下的日志文件,卻忘記了有一些進(jìn)程還在使用它;

  • 最初沒有 mkdir() 和 rmdir() 系統(tǒng)調(diào)用,這導(dǎo)致了存在可被利用的競(jìng)態(tài)條件。競(jìng)態(tài)條件是指在多線程或多進(jìn)程環(huán)境中,由于操作的順序和時(shí)機(jī)不確定性,可能導(dǎo)致安全漏洞或錯(cuò)誤行為的情況。這在 Unix 的后續(xù)版本中得到了修復(fù);

  • 有一些操作在特定條件下具有原子性(例如write(2)系統(tǒng)調(diào)用),或者經(jīng)過修改后具有原子性(mknod(2)和mkdir(2))。

在結(jié)構(gòu)上,inode表和塊和inode的空閑映射位于文件系統(tǒng)的開頭,磁盤空間也是從磁盤的前端線性分配的。這導(dǎo)致了頻繁的尋址操作,并且可能導(dǎo)致文件系統(tǒng)的碎片化(即文件存儲(chǔ)在非相鄰的塊中)。

遍歷目錄結(jié)構(gòu)意味著從磁盤開頭讀取目錄的inode,然后向后移動(dòng)到更遠(yuǎn)的數(shù)據(jù)塊,再從磁盤開頭讀取下一個(gè)路徑名組成部分的下一個(gè)inode,并向后移動(dòng)到相應(yīng)的數(shù)據(jù)塊。這個(gè)過程在每個(gè)路徑名組成部分上來回進(jìn)行,速度并不快。

改進(jìn)

在之后的發(fā)展中,minix文件系統(tǒng)忠實(shí)繼承了PDP-11 V7 Unix文件系統(tǒng),保留了它的特性包括局限。然而,隨著時(shí)間的推移,在現(xiàn)代的Linux系統(tǒng)中,由于其不再具備實(shí)用性,它已經(jīng)從內(nèi)核源代碼中移除。

在稍后的一篇文章中,我們將會(huì)了解到關(guān)于BSD快速文件系統(tǒng),如何更好地布局磁盤上的數(shù)據(jù),如何實(shí)現(xiàn)更長的文件名、更多的inode,以及如何通過考慮磁盤的物理特性來加快速度。

要解決目錄查找時(shí)間線性增長、單個(gè)寫入者或有限的文件元數(shù)據(jù)這些問題需要更新的文件系統(tǒng)。

翻譯自:《50 years in filesystems》 由 KRISTIAN K?HNTOPP 撰寫。

如有幫助的話歡迎關(guān)注我們項(xiàng)目?Juicedata/JuiceFS?喲! (0?0?)文章來源地址http://www.zghlxwxcb.cn/news/detail-459897.html

到了這里,關(guān)于文件系統(tǒng)考古:1974-Unix V7 File System的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 解決Mac中使用rm -rf刪除文件時(shí)遇到“Read-only file system“的問題

    在Mac上,rm -rf命令被廣泛用于刪除文件和目錄。然而,有時(shí)你可能會(huì)遇到一個(gè)錯(cuò)誤信息:“Read-only file system”。這意味著你無法刪除文件,因?yàn)槲募到y(tǒng)被設(shè)置為只讀模式。 接下來,我將向你展示如何處理這個(gè)問題。 請(qǐng)注意,在進(jìn)行任何更改之前,請(qǐng)仔細(xì)考慮。刪除文件是永

    2024年02月14日
    瀏覽(22)
  • Unix System V BSD POSIX 究竟是什么?

    學(xué)習(xí)Linux系統(tǒng),很多同學(xué)對(duì)這些單詞概念很模糊、一臉懵逼! 黃老師覺得,了解了歷史,才會(huì)真正明白這些單詞的含義,坐穩(wěn)、黃老師發(fā)車了?。?! 首先介紹一下什么是 Unix ? UNIX (非復(fù)用信息和計(jì)算機(jī)服務(wù),英語:Uniplexed Information and Computing Service,UnICS)取“ UNICS ”諧音

    2024年02月10日
    瀏覽(17)
  • 【操作系統(tǒng)】在閱讀論文:OrcFS: Orchestrated file system for flash storage時(shí)需要補(bǔ)充的基礎(chǔ)知

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

    在閱讀論文:OrcFS: Orchestrated file system for flash storage是需要補(bǔ)充的基礎(chǔ)知識(shí) 這篇論文是為了解決軟件層次之間的信息冗余問題 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 ca

    2024年02月01日
    瀏覽(22)
  • GParted給ubuntu系統(tǒng)磁盤resize大小時(shí)候出現(xiàn)cannot resize read-only file system解決辦法

    GParted給ubuntu系統(tǒng)磁盤resize大小時(shí)候出現(xiàn)cannot resize read-only file system解決辦法

    →右鍵需要被resize磁盤,點(diǎn)擊“信息” →記錄該磁盤掛載文件夾目錄,我這里系統(tǒng)掛載到兩個(gè)位置,分別是 / 和 /var/snap/firefox/common/host-hunspell →打開終端,進(jìn)入root權(quán)限,重新掛載文件夾目錄的讀寫權(quán)限,我這里系統(tǒng)掛載了兩個(gè)目錄,那么這兩個(gè)目錄都要重新掛載讀寫權(quán)限

    2024年02月16日
    瀏覽(23)
  • 【supervisor】unix:///tmp/supervisor.sock no such file

    supervisor在正常安裝完時(shí)運(yùn)行正常,但隔一段時(shí)間后出現(xiàn)了故障,重啟后報(bào): unix:///tmp/supervisor.sock no such file 原因是 supervisor 默認(rèn)配置會(huì)把 socket 文件和 pid 守護(hù)進(jìn)程生成在Linux的/tmp/目錄下,/tmp/目錄是緩存臨時(shí)文件的目錄,Linux會(huì)根據(jù)不同情況自動(dòng)刪除其下面的文件。比如緩存

    2024年01月25日
    瀏覽(18)
  • UNIX基礎(chǔ)知識(shí):UNIX體系結(jié)構(gòu)、登錄、文件和目錄、輸入和輸出、程序和進(jìn)程、出錯(cuò)處理、用戶標(biāo)識(shí)、信號(hào)、時(shí)間值、系統(tǒng)調(diào)用和庫函數(shù)

    UNIX基礎(chǔ)知識(shí):UNIX體系結(jié)構(gòu)、登錄、文件和目錄、輸入和輸出、程序和進(jìn)程、出錯(cuò)處理、用戶標(biāo)識(shí)、信號(hào)、時(shí)間值、系統(tǒng)調(diào)用和庫函數(shù)

    ? ? ? ? 所有的操作系統(tǒng)都為運(yùn)行在其上的程序提供服務(wù),比如:執(zhí)行新程序、打開文件、讀寫文件、分配存儲(chǔ)區(qū)、獲得系統(tǒng)當(dāng)前時(shí)間等等 ? ? ? ? 從嚴(yán)格意義上來說,操作系統(tǒng)可被定義為一種軟件,它控制計(jì)算機(jī)硬件資源,提供程序運(yùn)行的環(huán)境。我們通常將這種軟件稱為

    2024年02月13日
    瀏覽(21)
  • VMware虛擬機(jī)裝系統(tǒng)時(shí)識(shí)別不出系統(tǒng)鏡像文件(system not found / vmtool)

    1:先排除IOS鏡像是否有問題 我一開始是在阿里云鏡像下載的,出現(xiàn)找不到鏡像,因?yàn)樾掳鎂Mware已經(jīng)不能使用從其他地方下載的鏡像文件,之后在官網(wǎng)下的問題解決了(官網(wǎng): 獲取Ubuntu服務(wù)器版 | Ubuntu )。 2:先創(chuàng)建一個(gè)空白磁盤 1:創(chuàng)建虛擬機(jī)的時(shí)候先創(chuàng)建一個(gè)空白磁盤,

    2024年02月12日
    瀏覽(26)
  • adb操作提示Read-only file system問題

    Android adb調(diào)試時(shí),經(jīng)常會(huì)遇到權(quán)限問題(failed for /system/lib/libmm-test.so, Read-only file system),即使Root設(shè)備,在向/system等系統(tǒng)文件夾操作時(shí)(比如push、rm等),依然可能會(huì)提示“Read-only file system”。 使用場(chǎng)景是:在替換手機(jī)的內(nèi)置文件的時(shí)候,提示這個(gè),按照以往的經(jīng)驗(yàn), 手機(jī)開發(fā)者

    2024年02月07日
    瀏覽(16)
  • 安卓ROM定制 修改必備常識(shí)-----初步了解system系統(tǒng)分區(qū)文件夾的基本含義 【二】

    安卓ROM定制 修改必備常識(shí)-----初步了解system系統(tǒng)分區(qū)文件夾的基本含義 【二】

    安卓修改rom 固件 修改GSI 移植rom 必備常識(shí) lib--**so文件基本解析 一起來了解system目錄相應(yīng)文件的用途吧。(rom版本不同里面的app也會(huì)不一樣) 給大家說下最簡(jiǎn)單的方法提取img里面的文件,對(duì)于后綴img格式的文件可以使用7zip.選擇***.img使用7zip打開壓縮包方式,可以用于簡(jiǎn)單提

    2024年02月07日
    瀏覽(21)
  • Halcon Error 8000 Help file for package ‘system‘ 錯(cuò)誤分析

    Halcon Error 8000 Help file for package ‘system‘ 錯(cuò)誤分析

    變量設(shè)置(根據(jù)自己版本對(duì)應(yīng)) HALCONARCH HALCONEXAMPLES HALCONIMAGES HALCONROOT 路徑設(shè)置(根據(jù)自己版本對(duì)應(yīng)) 重啟系統(tǒng)才能有效

    2024年02月13日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包