當前位置:首頁 » 操作系統 » linuxbio

linuxbio

發布時間: 2022-12-14 07:02:04

A. bio.es是啥意思,什麼作用

幻燈片 24BIO,Before in Office的縮寫形式。
當前面臨那些即將進入職場的人們,特別是應屆學生們來說,如果找到一份適合自己的工作和如何才能在辦公室政治中立於不敗之地是非常重要的課題。
那麼BIO應運而生,BIO主要為即將進入職場的朋友們提供就業前的咨詢和心理輔導。
前綴 pref.
表示"生命","生物"(如:biochemistry)
Biology(生物學)的縮寫
一種不能用語言表示的奇怪的感覺或者生活狀態,或者口頭禪,僅適用與小部分人群,可能你的身邊就有這種人存在,當你告訴他時,他會很吃驚。因為這很surprise,哇哈哈,還有它的變異體。比如阿啦BIO,在這種人群中,本詞語在任何話語或感覺中都適用,因為它全都可以概括
bio(block input output)塊的輸入和輸出
bio是linux內核中通用塊層的一個核心數據結構,它描述了塊設備的I/O操作。它聯系了內存緩沖區與塊設備。

B. 有沒有會在Linux系統安裝Bioperl 的大俠

如果你是Linux系統,隨意打開一個終端;如果用的是Windows系統,那麼打開命令提示符。輸入以下命令: perldoc Bio::SeqIO 以上命令的作用是查看Bio::SeqIO模塊的文檔是否存在,如果存在,則會有相應的文檔輸出,則你安裝Bio::SeqIO模塊;如果沒...

C. 🍓我的生信入門day2 bio-linux簡單操作

僅供自己記錄復習,並不嚴謹。

主要是學習了bio-linux最基本的一些操作。

1.linux命令組成。命令➕選項➕參數。

2.創建共享文件。windows和bio-linux的共享文件。

3.訪問路徑:pwd

訪問下一級:ll 空格 文件名

訪問本級:ll

訪問上一級:ll 空格 ..

進入下一級:cd 空格 文件名或目錄名

進入上一級:cd 空格 ..

注意:訪問只是彈出該目錄下有的所有文件和目錄。進入是進入到下一級中的文件或者目錄。

4.顯示文件ls      ls -a            ls-l  [文件長格式顯示]

5.創建目錄和文件。mkdir 空格 目錄名 ;touch 空格 文件名

6.復制cp、移動mv、刪除rm文件。不能操作目錄。操作目錄:mv -r 、cp -r  、rm -r空格 目錄名,刪除只能刪除本操作目錄下的文件。

7.查看文件內容: cat 空格 文件名。所以不能對目錄cat,可以ll 注意:ll是訪問,是文件的一些基本信息。目錄:cd 空格 目錄名。

8.修改文件:vi 空格 文件名 按下i顯示insert就可以編輯修改了。編輯修改完以後按下Esc後,打冒號: 然後wq保存,退出。q!是退出不保存,按d刪除內容。

D. window10 裝入虛擬機bio-linux後為什麼不顯示桌面

什麼叫裝入虛擬機bio-linux,看不懂。
從圖上看,你的硬碟是mbr格式,但是你用了uefi引導。
如果是實機,進bios,啟用csm support,boot那裡uefi改帶legacy的。
如果是vmware虛擬機,虛擬機關機,編輯虛擬機設置,高級,取消勾選通過 EFI 而非 BIOS 引導

E. linux device mapper中的bio怎麼產生的

賴的device-mapper-libs 版本低了,找個1.02.90以後的版本,安裝完之後,在安裝你的docker-io

F. win8 環境下安裝biolinux雙系統

Step 1
在Windows操作系統下,清空某個硬碟分區,或從已有的分區中分割出新分區。Ubuntu將安裝在這個分區中。可以使用一些知名磁碟工具軟體(分區助手、DiskGenius等)來分割新區。
示例:

如上圖所示,C盤是Win8.1的系統盤,E盤是我從原本的C盤中分割出的新分區(在使用工具進行分割時,可以不把分割出的空間作為新分區,因為我們要獲得的是一塊未被使用的空間)。
Step 2
確定空白分區後,刪除該分區,使其在Windows資源管理器中不可見。
可以通過右鍵點擊「這台電腦」圖標,進入「管理」功能的「磁碟管理」界面,選擇空白分區,右鍵「刪除卷」。

上圖是對E盤執行「刪除卷」操作前的磁碟狀態。
下圖是對E盤執行「刪除卷」操作後的磁碟狀態:

現在,在Windows操作系統下,原先的E盤已不可見,且不可使用。資源管理器中只剩下C盤:

Step 3
在Windows操作系統下安裝EasyBCD這款軟體。安裝成功後,打開軟體,顯示語言選擇「簡體中文」。
在左側工具列表中選擇「添加新條目」,在右側功能區選擇右上角的「NeoGrub」選項卡,點擊「安裝」按鈕。如下圖所示:

安裝後,點擊「配置」按鈕,會打開一個名為「menu.lst」的記事本文件。清空文件內容,寫入下面的文字:
title Install Ububtu
root (hd0,0)
kernel (hd0,0)/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-14.04-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz
如下圖所示,注意空格:

注意1:文件第2、3、4行出現的「(hd0,0)」指向的是當前系統盤的位置,我這里是C盤。但假如C盤並非首個分區,而是第二個,需要修改為「(hd0,1)」,依此類推。
注意2:文件第三行,「ubuntu-14.04-desktop-amd64.iso」是我的Ubuntu系統鏡像的文件名,將其修改為你的。
注意3:文件第三行出現了「vmlinuz.efi」,由於我安裝的Ubuntu是64位操作系統,此處必須是「vmlinuz.efi」,不能缺少擴展名。
Step 4
使用壓縮工具打開Ubuntu鏡像文件,將「.disk」文件夾和casper文件夾內的「initrd.lz」和「vmlinuz.efi」文件復制到C盤根目錄,再將Ubuntu系統鏡像文件復制到C盤根目錄:

Step 5
重啟計算機,在啟動界面看到操作系統選擇項,選擇「NeoGrub引導載入器」:

之後出現Ubuntu選擇界面,選擇「Install Ubuntu」。

注意:此處有可能出現「File not found」錯誤:

原因一般是在之前的「menu.lst」文件內的參數沒有配置好,但不需要重啟計算機進行設置,因為啟動界面已經給我們臨時修改參數的方法:

依然選擇「InstallUbuntu」,按鍵盤e進入修改界面:

對上圖中的三處「(hd0,0)」進行修改,前面的0代表是第幾塊硬碟,「0」代表第一塊;後面的0代表是某塊硬碟內的第幾個分區。此處的修改方法也已經給出,鍵盤e修改,鍵盤d刪除,鍵盤b確認並啟動:

注意:Win7、Win8系統在安裝時,默認會在系統盤之前創建一個幾百兆大小的系統專用分區,所以如果C盤是系統盤,此處參數一般是「hd(0,1)」
Step 6
成功進入Ubuntu試用界面後,桌面上有兩個文件。
按Ctrl+Alt+T打開終端,輸入「sudo umount –l /isodevice」,取消光碟驅動器掛載,否則在後面安裝過程中可能會無限卡進度:

注意:注意空格,而且「-l」中的「l」是大寫字母「L」的小寫形態。不是數字1,也不是字母「i」。
Step 7
雙擊桌面圖標「安裝Ubuntu14.04 LTS」,開始安裝Ubuntu。
如果你連接了網路,可以選擇「安裝中下載更新」,會延長安裝時間,也可以在安裝完Ubuntu系統後再下載安裝更新。
在「安裝類型」界面會有多個安裝選項:

如果選擇第一項,Ubuntu會自動進行分區安裝,之後與Windows操作系統共存為雙系統。對分區沒有細致要求的用戶選擇此項即可,本教程即可直接跳過步驟Step7、Step8。如果要自定義分區,選擇「其它選項」。此處,我選擇「其他選項」。
下圖顯示的是我們整個硬碟的分區狀態:

我們要將Ubuntu安裝在「空閑」分區內。選擇「空閑」分區,再點擊左下方紅線處的加號,進行分區。
關於Linux的分區掛載,很多帶有定勢思維的Windows用戶還在理解的道路上艱難爬行,分區不是本文重點,此事應當閱讀關於Linux分區的專業文章。
根目錄「/」是必須存在的,可以分8G給「/」。
交換分區swap不是必須存在的,可以不給其分配空間,這同樣意味著,你可以將所有空間分給「/」。
「/boot」不是必須存在的,如果你的硬碟是Ubuntu單系統,推薦為其分配空間,一般小於200M,並且將它設置為第一分區;如果你的硬碟不是單系統,而是像本文所述的雙系統,不必分配空間。
「/home」用於保存用戶的文件,如果你要向其中保存大量數據,需要分配較多空間。
「/user」 主要用於保存應用程序文件,如果你要安裝很多程序,需要分配較多空間。可以考慮為其分配最大空間。
分區時需要選擇文件系統類型,選擇「Ext4」即可。
注意:如果你的內存較小,交換分區大小應該超過物理內存大小,但要小於物理內存大小乘以2;如果你的內存足夠大,交換分區分配1G到2G即可,甚至可以不分配。但如果你要安裝一些強制需要交換分區的軟體,則必須進行分配,如果你不確定以後安裝的某款軟體是否強制需要交換分區,最好進行分配,一般1G即可。
Step 8
分區完成後,開始安裝。
如果你沒有分配交換空間,系統會給出提示,跳過即可。
安裝完成後,選擇重啟。如果一切正常,可以看到如下圖所示的Ubuntu樣式的啟動項選擇界面:

上圖可以看出,Win8.1已經成功安裝。
Step 9 收尾工作
在系統啟動界面,Win8.1系統處於最後一項,如果需要讓Win8.1處於第一項,可以這樣設置:
1、進入Ubuntu系統。
2、Ctrl+Alt+T打開終端,輸入「sudo nautilus」,以root許可權打開資源管理器。
3、找到「30_os-prober」文件,將其名稱修改為「06_os-prober」即可:

進入Windows系統,清除C盤下之前復制的文件。
打開EasyBCD,在之前的「添加新條目」功能中,點擊「刪除」按鈕,清除「NeoGrub」引導。

G. bio-infopage是什麼

有核心數據的頁。bio是linux內核中通用塊層的一個核心數據結構,它描述了塊設備的I/O操作,聯系了內存緩沖區與塊設備。bio-infopage是表示直接跳轉到有核心數據的一頁,是直接訪問的,並不是惦記很多鏈接對linux進行訪問。infopage是將所有的內容拆成一個一個的段落,每個段落都有自己獨立的page,不同的page之間用類似於網頁的跳轉的方式進行連接。

H. Linux磁碟I/O子系統

上文學到 不管什麼文件系統類型,都通過VFS(虛擬文件系統層)讀和寫等操作文件,寫文件的元數據和文件的實際數據到磁碟 。但數據是怎麼落地磁碟中的呢?落到磁碟中的都經過什麼組件?

以一個寫數據到磁碟為例,給出Linux I/O子系統的體系結構。

當磁碟執行寫入操作時發生的 基本操作 (假設磁碟上扇區中的文件數據已經被讀取到分頁緩存)。

1) 一個進程通過write()系統調用 VFS虛擬文件系統 請求寫一個文件。

2) 內核更新已映射文件的分頁緩存。

3) 內核線程 pdflush/Per-BDI flush將分頁緩存刷新到磁碟。

4) 同時 VFS虛擬文件系統層 在一個bio(block input output)結構中放置每個塊緩沖,並向塊設備層提交寫請求。

5) 塊設備層 從上層得到請求,並執行一個 I/O電梯操作,將請求放置到I/O 請求隊列。

6) 設備驅動器 (比如SCSI 或 其他設備特定的驅動器)將執行寫操作。

7) 磁碟設備 固件執行硬體操作,如在碟片扇區上定位磁頭,旋轉,數據傳輸。

過去的20年中,處理器性能的改進要超過計算機系統中的其他組件,如處理器緩存、物理內存及磁碟等等。 訪問內存和磁碟的速度較慢會限制整個系統的性能 ,怎麼解決這個問題呢?引入 磁碟緩存機制 ,在較快的存儲器中緩存頻繁使用的數據,減少了訪問較慢的存儲器的次數。

磁碟緩存機制有以下3個地方解決:

引入存儲層次結構 ,在CPU和磁碟之間放置L1緩存、L2緩存、物理內存和一些其他緩存減少這種不匹配,從而讓進程減少訪問較慢的內存和磁碟的次數,避免CPU花費更多的時間等待來自較慢磁碟驅動器的數據。

另外一種解決思路: 在更快的存儲器上實現更高的緩存命中率,就可能更快地訪問數據 。怎麼提高緩存命中率呢?引入 參考局部性(locality of reference) 的技術。這項技術基於以下2個原則:

1) 大多數最近使用過的數據,在不久的將來有較高的幾率被再次使用(時間局部性)。

2) 駐留在數據附近的數據有較高的幾率被再次使用(空間局部性)。

Linux在許多組件中使用這些原則,比如分頁緩存、文件對象緩存(索引節點緩存、目錄條目緩存等等)、預讀緩沖等。

以進程從磁碟讀取數據並將數據復制到內存的過程為例。進程可以從緩存在內存中的數據副本中檢索相同的數據,用於讀和寫。

1) 進程寫入新數據

當一個進程試圖改變數據時,進程首先在內存中改變數據。此時磁碟上的數據和內存中的數據是不相同的,並且內存中的數據被稱為 臟頁(dirty page) 。臟頁中的數據應該盡快被同步到磁碟上,因為如果系統突然發生崩潰(電源故障)則內存中的數據會丟失。

2) 將內存中的數據刷新到磁碟

同步臟數據緩沖的過程被稱為 刷新 。在Linux 2.6.32內核之前(Red Hat Enterprise  Linux 5),通過內核線程pdflush將臟頁數據刷新到磁碟。在Linux 2.6.32內核中(Red Hat Enterprise Linux 6.x)pdflush被Per-BDI flush線程(BDI=Backing Device Interface)取代,Per-BDI flush線程以flush-MAJOR:MINOR的形式出現在進程列表中。當內存中臟頁比例超過閥值時,就會發生刷新(flush)。

塊層處理所有與塊設備操作相關的活動。塊層中的關鍵數據結構是bio(block input output)結構,bio結構是在虛擬文件系統層和塊層之間的一個介面。

當執行寫的時候,虛擬文件系統層試圖寫入由塊緩沖區構成的頁緩存,將連續的塊放置在一起構成bio結構,然後將其發送到塊層。

塊層處理bio請求,並鏈接這些請求進入一個被稱為I/O請求的隊列。這個鏈接的操作被稱為 I/O電梯調度(I/O elevator)。問個問題:為啥叫電梯調度呢?

Linux 2.4內核使用的是一種單一的通用I/O電梯調度方法,2.6內核提供4種電梯調度演算法供用戶自己選擇。因為Linux操作系統適用的場合很廣泛,所以I/O設備和工作負載特性都會有明顯的變化。

1)CFQ(Complete Fair Queuing,完全公平隊列)

CFQ電梯調度為每個進程維護一個I/O隊列,從而 對進程實現一個QoS(服務質量)策略 。CFQ電梯調度能夠很好地適應存在很多競爭進程的大型多用戶系統。它積極地避免進程餓死並具有低延遲特徵。從2.6.18內核發行版開始,CFQ電梯調度成為默認I/O調度器。

CFQ為每個進程/線程單獨創建一個隊列來管理產生的請求,各隊列之間用時間片來調度,以保證每個進程都能分配到合適的I/O帶寬。I/O調度器每次執行一個進程的4個請求。

2)Deadline

Deadline是一種循環的電梯調度(round  robin)方法,Deadline 演算法實現了一個近似於實時的I/O子系統。在保持良好的磁碟吞吐量的同時,Deadline電梯調度既提供了出色的塊設備扇區的順序訪問,又確保一個進程不會在隊列中等待太久導致餓死。

Deadline調度器為了兼顧這兩個方面,引入了4個隊列,這4個隊列可分為兩類,每一類都由讀和寫兩種隊列組成。一類隊列用來對 請求 按 起始扇區序號 進行排序(通過紅黑樹來組織),稱為sort_list;另一類對 請求 按 生成時間進行排序 (由鏈表來組織),稱為fifo_list。每當確定了一個傳輸方向(讀或寫),系統都將會從相應的sort_list中將一批連續請求調度到請求隊列里,具體的數目由fifo_batch來確定。 只有遇到三種情況才會導致一次批量傳輸的結束 :1.對應的sort_list中已經沒有請求了;2.下一個請求的扇區不滿足遞增的要求;3.上一個請求已經是批量傳輸的最後一個請求了。

所有的請求在生成時都會被賦上一個期限值,並且按期限值將它們排序在fifo_list中, 讀請求的期限時長默認為500ms,寫請求的期限時長默認為5s。 在Deadline調度器定義了一個writes_starved默認值為2,寫請求的飢餓線。 內核總是優先處理讀請求,當餓死進程的次數超過了writes_starved後,才會去考慮寫請求 。 為什麼內核會偏袒讀請求呢? 這是從整體性能上進行考慮的。讀請求和應用程序的關系是同步的,因為應用程序要等待讀取完畢,方能進行下一步工作所以讀請求會阻塞進程,而寫請求則不一樣。應用程序發出寫請求後,內存的內容何時被寫入塊設備對程序的影響並不大,所以調度器會優先處理讀請求。

3) NOOP

一個簡單的FIFO 隊列,不執行任何數據排序。NOOP 演算法簡單地合並相鄰的數據請求,所以增加了少量的到磁碟I/O的處理器開銷。NOOP電梯調度假設一個塊設備擁有它自己的電梯演算法。當後台存儲設備能重新排序和合並請求,並能更好地了解真實的磁碟布局時,通常選擇NOOP調度,

4)Anticipatory

Anticipatory本質上與Deadline一樣,但Anticipatory電梯調度在處理最後一個請求之後會等待一段很短的時間,約6ms(可調整antic_expire改變該值),如果在此期間產生了新的I/O請求,它會在每個6ms中插入新的I/O操作,這樣可以將一些小的I/O請求合並成一個大的I/O請求,從而用I/O延時換取最大的I/O吞吐量。

Linux內核使用設備驅動程序得到設備的控制權。 設備驅動程序 通常是一個獨立的內核模塊,通常針對每個設備(或是設備組)而提供,以便這些設備在Linux操作系統上可用。一旦載入了設備驅動程序,將被當作Linux內核的一部分運行,並能控制設備的運行。

SCSI (Small Computer System Interface,小型計算機系統介面)是最常使用的I/O設備技術,尤其在企業級伺服器環境中。SCSI在 Linux 內核中實現,可通過設備驅動模塊來控制SCSI設備。 SCSI包括以下模塊類型 :

1) Upper IeveI drivers(上層驅動程序)。 sd_mod、sr_mod(SCSI-CDROM)、st(SCSI Tape)和sq(SCSI通用設備)等。

2) MiddIe IeveI driver(中層驅動程序) 。如scsi_mod實現了 SCSI 協議和通用SCSI功能。

3) Low IeveI drivers(底層驅動程序) 。提供對每個設備的較低級別訪問。底層驅動程序基本上是特定於某一個硬體設備的,可提供給某個設備。

4) Pseudo drive(偽驅動程序) 。如ide-scsi,用於 IDE-SCSI模擬。

通常一個較大的性能影響是文件系統元數據怎樣在磁碟上存放 。引入 磁碟條帶陣列 (RAID 0、RAID 5和RAID 6)解決這個問題。在一個條帶陣列上,磁頭在移動到陣列中下一個磁碟之前,單個磁碟上寫入的數據稱為 CHUNKSIZE ,所有磁碟使用一次它後返回到第一個磁碟。 如果文件系統的布局沒有匹配RAID的設計,則有可能會發生一個文件系統元數據塊被分散到2個磁碟上,導致對2個磁碟發起請求 。或者 將所有的元數據在一個單獨的磁碟上存儲,如果該磁碟發生故障則可能導致該磁碟變成熱點 。

設計RAID陣列需要考慮以下內容:

1) 文件系統使用的塊大小。

2) RAID 陣列使用的CHUNK大小。

3) RAID 陣列中同等磁碟的數量。

塊大小 指可以讀取/寫入到驅動器的最小數據量,對伺服器的性能有直接的影響。塊的大小由文件系統決定,在聯機狀態下不能更改,只有重新格式化才能修改。可以使用的塊大小有1024B、2048B、4096B,默認為 4096 B。

stride條帶 是在一個chunk中文件系統塊的數量。如果文件系統塊大小為4KB,則chunk大小為64KB,那麼stride是64KB/4KB=16塊。

stripe-width 是RAID陣列上一個條帶中文件系統塊的數量。比如 一個3塊磁碟的RAID5陣列 。按照定義,在RAID5陣列每個條帶中有1個磁碟包含奇偶校驗內容。想要得到stripe-width,首先需要知道每個條帶中有多少磁碟實際攜帶了數據塊,即3磁碟-1校驗磁碟=2數據磁碟。2個磁碟中的stride是chunk中文件系統塊的數量。因此能計算 2(磁碟)*16(stride)=32(stripe)。

創建文件系統時可以使用mkfs給定數量:mk2fs -t ext4 -b 4096 -E stripe=16,stripe_width=64 /dev/vda

I. linux上輸入命令就出現下面的東東,是因為缺少Bio::AlignIO模塊嗎

關於Perl模塊。建議你使用CPAN來安裝。簡單說,CPAN就如Centos下面Yum,Ubuntu中的apt-get

CPAN有強大的庫,供你安裝相應的模塊:

相應的命令參考:出現的Yes,不斷回車就可以

#yum-yinstallperl-CPAN
#perl-MCPAN-e"installBio::AlignIO"

或者

#yum-yinstallperl-CPAN
#cpan-iAlignIO
熱點內容
台電安卓平板系統太低怎麼辦 發布:2025-05-15 05:20:00 瀏覽:507
安裝了zlib編譯報錯 發布:2025-05-15 05:19:56 瀏覽:166
二分演算法無序 發布:2025-05-15 05:18:22 瀏覽:28
網易我的世界伺服器組件怎麼安裝 發布:2025-05-15 05:16:58 瀏覽:311
如何復制密碼狗 發布:2025-05-15 05:15:28 瀏覽:737
c語言報告三 發布:2025-05-15 05:10:37 瀏覽:844
09壓縮餅干 發布:2025-05-15 05:05:58 瀏覽:279
迭代法編程c 發布:2025-05-15 04:58:01 瀏覽:815
用什麼dns伺服器地址快 發布:2025-05-15 04:52:59 瀏覽:27
手機端so反編譯 發布:2025-05-15 04:50:55 瀏覽:610