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

linux分頁

發布時間: 2022-08-19 10:25:46

linux裡面,關於分頁顯示

ifconfig | more 分頁顯示
ifconfig | les 翻頁顯示(可page up/page down查看)
這2個試試

㈡ Linux內核:分段和分頁的區別

首先說明內核的保護模式和是模式,在計算機剛剛啟動的時候處於實模式,在該模式下cpu產生20位的地址,然後計算機經過某種變換轉換到保護模式。保護模式下cpu產生32位的地址,也就是說從實模式到保護模式,cpu的定址空間擴大了。

在計算的發展的初期,intel 8086是16位的cpu,它只能運行在實模式下。在該模式下其寄存器是16位的,但是為了可以定址20位的地址空間,所以採用了內存的分段模式。

物理內存地址=段基址×16+偏移 這樣可以定址20位的地址空間。

關於現代計算機內存的分段機制,也是為了向下兼容的需要。單純的向下兼容或許還不夠有說服力,因為在現代cpu中產生的就是32的地址,而由分段機制產生的線性地址也是32位的。32位的地址完全可以訪問4G內存的任何一個地方,看上去分段機制好像完全沒有了作用,其實不然。在多線程,多任務的操作系統中,一個地址能否被一個進程寫入,能被什麼優先順序的進程訪問,是否允許執行這些問題有出來了。而解決這些問題需要在地址上添加一些屬性,也就是說其地址應該還是高於32位的。這時候有體現了分段機制的作用。

關於分頁機制。由分頁機制產生線性地址,加入沒有分頁,這個線性地址就是物理地址。而分頁機制就是把線性地址裝換成物理地址。關於其原因,一方面在進程產生子進程的時候,會復制內存頁,而父子進程無論是代碼數據還是產生的地址都是一樣的,這樣為創建進程提供了便利,可以不必考慮進程在內存中分布的情況而產生地址,至於父子進程的真實物理地址在哪裡,那是mmu(內存控制單元)的問題。另一方面,由於進程不知道真實的物理地址子啊什麼地方,也為操作系統提高了安全性。

㈢ Linux中如何用命令實現:分頁顯示當前目錄所有文件(包括隱含)訪問許可權

在 $ 狀態下,使用:ls -al 命令。其中:-a 是列出所有包括隱含文件的選項,-l 列出每個文件及其目錄的許可權。

㈣ linux分頁機制二級頁表問題

linux下的分段分頁機制將一個邏輯地址轉換到物理地址的問題?????
一個邏輯地址經過分段後得到的是線性地址,我挺郁悶的這個線性地址到底如何得到的???應為linux的線性地址是個32位的地址,高10為保存目錄項,中間10位保存頁表項,然後低12為對應物理頁偏移地址。。。。然而這個邏輯地址是經過選擇子選出來的段基址,加上段內偏移,出來確實是個32位地址。。。似乎這個中間的步驟被屏蔽了是吧???我想知道這裡面是如果把邏輯地址轉換成這個分成三個部分索引的線性地址!前面是段基址然後段偏移就出來個線性地址這叫我無法接受,刨根究底!求助。。。。求助!
【分頁機制對應用程序,操作系統本身的程序都是有作用的。】

這是問題問的比較深入了,弄明白這個問題就要研究操作系統究竟怎麼分配和使用內存。
一般,不管是操作系統還是應用程序都要先分配內存然後才是內存定址和使用,而如何分配不同的系統肯定不同。操作系統種類很多,xp,2000,linux,unix。。。但一般原理還是差不多的。

以linux操作系統為例,
應用程序的內存肯定是由操作系統管的,os按分頁策略給應用程序分配內存。
那麼操作系統呢,這就是你關心的點了?
開機加電的時候linux操作系統內核代碼進入內存,一般這些內存是連續的,但這些內存在後面使用時仍能適用分頁機制去定址,不過是頁面正好是連續的罷了。
而隨著操作系統運行,內核程序也會繼續要求內存,這時候內存管理程序負責分配內存空間,這裡面有不少細節了,暫時就不啰嗦了,但無論怎麼分的,分配後使用這些內存的時候,指令地址都會以分頁機制進行定址找到分配的內存。
所以,分頁機制是整個系統的內存定址機制,對應用程序和操作系統本身都啟作用。

㈤ linux 的ls 命令 如何分頁顯示

ls |more 每按一次空格,就顯示一頁

㈥ 請教各位高手,linux下ls命令怎樣實現分頁顯示

請用如下命令,將ls輸出結果通過管道重定向給more命令來實現分頁:

ls|more

㈦ linux內核參與分頁嗎

參與吧!(答案非常不準確,僅供參考)
頁式管理用以將線性地址轉化成物理地址,並對訪問許可權進行檢查。每個頁面都是一個大小為4KB的連續空間,並按4KB對齊。從80386開始,Intel處理器開始支持頁式管理,CR0寄存器的PG標志位用來表示是否支持分頁。
1、標准分頁
i386採用二級分頁,其線性地址的結構如下:
Dir
Page
Offset
其中,Dir有10位,表示頁表目錄項的下標,指向一個頁表;Page有10位,表示一個具體頁表中的目錄項的下標,指向一個物理頁面;Offset有12位,表示在物理頁面中的偏移量(單位為位元組)。
i386中,從線性地址到物理地址的映射過程為:
(1)從CR3寄存器中取得頁目錄(頁目錄中包含1024條記錄,每個記錄4位元組,正好為4KB,佔用一個頁面)的基地址;
(2)以線性地址中的Dir為下標,從目錄中取出相應頁表的基地址;
(3)以線性地址中的Page為下標,從頁表中取出相應的頁面描述結構;
(4)將頁面描述符中的基地址與線性地址中的Offset偏移量相加,獲得實際的物理地址。
2、頁描述表項
在i386中,頁目錄和頁表的結構相同,頁描述表項的結構如下:
Address
Avail
G
PS
D
A
PCD
PWT
U/S
R/W
P
其中,Address有20位,表示對應頁表或頁的物理地址的高20位(由於頁總是按4KB對其,故低12位恆為0);Avail有3位,供系統程序員使用;G只有1位,在頁目錄項中表示該頁是否為全局頁,在頁表項中忽略;PS只有1位,在頁表目錄項中為1表示為4MB的頁,為0表示為4KB的頁;D只有1位,在頁表目錄項中未使用,在頁表項中表示該頁是否已被更改;A只有1位,表示該頁是否已被訪問過;PCD只有一位,表示該項是否禁止被緩存;PWT只有一位,為1表示使用write-through緩存策略,0表示使用write-back緩存策略;U/S只有一位,為1表示訪問該頁是否可以在用戶態下訪問;R/W只有一位,表示該項是否可寫;P只有1位,表示該項是否在內存中。
如果要使用4MB的擴展分頁,則要求CR4寄存器中的PSE標志被置1。此時,系統僅採用一級分頁策略,線性地址前10位為頁表項,後22位為偏移量,且頁按4MB對齊,頁描述表項中Address僅有高10位有效。
3、物理地址擴展(PAE)分頁機制
從Pentium Pro開始,Intel處理器的地址匯流排寬度增加到了36位,共支持訪問64GB的內存。同時,Intel提供了PAE和頁大小擴展(PSE-36)兩種機制用以將32位的線性地址轉化成36位的物理地址。其中,後者從Pentium III開始提供,且未在Linux內核中使用。
要啟用PAE機制必須將CR4寄存器中的PAE標志置位。PAE啟用後,處理器會對分頁機製做如下更改:
(1)將64GB的內存空間劃分成2^24個不同頁面,頁表項的體積擴展為64位,物理地址域擴展為24位;
(2)引入新的最高一級頁表,稱為頁目錄指針表(PDPT),其中包含4個64位的項;
(3)CR3寄存器中包含27位的PDPT的高位地址(其低5位地址為0);
(4)當將線性地址映射到4KB的頁面時,CR3由高位到低位依次為2位PDPT索引,Array位頁目錄索引,Array位頁表索引,12位頁內偏移;當將線性地址映射到4KB的頁面時,CR3由高位到低位依次為2位PDPT索引,Array位頁目錄索引,21位頁內偏移。
但是,PAE機制並未增大單個進程能夠訪問的地址空間,僅僅將內核能夠訪問的地址空間增加到了64GB。
4、Linux內核中的分頁
Linux內核對分頁機制的依賴性很強,其使用一種適合32位和64位結構的通用分頁模型,該模型使用四級分頁,即頁全局目錄、頁上層目錄、頁中層目錄和頁表。
對於不同的體系結構,Linux採用的四級頁表目錄的大小有所不同:對於i386而言,僅採用二級頁表,即頁上層目錄和頁中層目錄長度為0;對於啟用PAE的i386,採用了三級頁表,即頁上層目錄長度為0;對於64位體系結構,可以採用三級或四級頁表,具體選擇由硬體決定。
linux內核中沒有分頁內存嗎?是的,沒有,那麼windows的內核為何就有呢?畢竟不是一個家族不好做全方位的評判,我的結論就是linux上的任何的程序只將內核作為一個平台而不依賴內核。這個事實的結果就是在linux內核中不能分配過大的內存,linux內核中唯一可以分配大內存的地方就是vmalloc區域,僅僅放鬆了對物理內存連續的限制,在vmalloc中分配內存只要求虛擬內存連續,並且事實上最多隻能分配128M的內存,這是linux內核中最寬松的限制了。

在linux中,一切功能都可以由用戶空間應用程序來解決,就連殺毒程序也不例外,這是因為linux有強大的安全機制,單點驗證機制,只要linux保證任何用戶不能隨意su到root許可權就可以了,這事實上就是一個消除一切漏洞的行為,只要操作系統安全機制沒有漏洞,只要內核沒有漏洞,那麼一切惡意程序的得逞完全歸結於該惡意程序所利用的用戶空間應用程序設計的不足,而且這件事在linux看來,內核完全沒有必要過問,正如一個國家的機關只認百姓的請求以及該請求的代理許可權,只要認證通過就給與服務而不再對別的情況加以過問,linux只是一個服務者罷了,它不喜歡任何額外的機制要靠內核來完成,也就是說任何用戶都不要隨意動不動就用內核實現一個機制,只要在用戶空間實現就好了。

看看windows下的殺毒程序這一簡單的使用內核來完成的程序,正是由於windows不能保證復雜但是薄弱的用戶空間機制都是安全的,才會動用內核來實現更高級別的安全管理,它沒有linux的那種簡單但是可以信賴的單點驗證機制。正如微軟建議的那樣,在沒有別的辦法的時候請實現一個驅動程序,在DriverEntry中完成一切。既然微軟會建議程序員編寫內核驅動,那麼微軟的操作系統當然也把內核空間的開發開放給了程序員,於是DDK成了很大一部分人最後的救命稻草,既然將內核驅動的開發開放給了程序員,那麼如何使用內存就不應該有任何限制,再者windows希望用一種簡單一致的機制管理所有的不管是用戶空間還是內核空間的內存,於是內核空間的內存管理和用戶空間的內存管理大體上沒有區別,都可以使用分頁內存,說一句可能讓windows的粉絲不願意聽的話:我們windows實現的不是很安全,所以你們可以用內核這個最高級別的執行緒以權勢壓人。反觀linux,開源的linux難道沒有將內核開放給程序員嗎?不,絕對的開放,看看lkml的熱鬧程度吧!但是不同的是,linux下開發內核是完全為了內核本身的機制擴展而不涉及任何用戶策略,linux的內核和用戶應用分得比較開,不信你去內核郵件列表去問一個應用的問題,看看有沒有人罵。

㈧ linux中把執行完結果分頁顯示用什麼命令

可以通過管道將結果與more或者less命令聯系起來使用,如ls | more,其中|即為管道的意思。
說明:
管道:使用管道意味著第一個命令的輸出會作為第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推。利用Linux所提供的管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。
more:分頁查看文件內容
less:分頁可控制查看文件內容
more和less的區別是more不支持後退,less支持前後翻滾。

㈨ 在linux下如何分頁顯示幫助信息

給你個例子,例如你要顯示當前文件夾下面的文件,通常的命令是使用ls,如果太多,則你想分頁顯示,那麼你就用著格式:
ls | more
其他命令用法相同。
ls可替換為其他命令

㈩ LINUX中,查看文件內容及分頁顯示的辦法有什麼

linux中查看文件內容的指令很多,下面分別介紹一下:
cat
file1
[file2]
……
cat的本來的意思是連接,就把所有文件的內容全部顯示在一起,縱向排列
paste
file1
[file2]
……
與cat的用法一致,但是是把所有文件的內容橫向的連接在一起
tail
-n
file1
表示顯示文件的最後n行,如果不加默認是最後10行
head
-n
file1
表示顯示文件的最前面n生,如果不加默認是最開始10行
less,more
是分頁查看文件
當然也可以把這些指令組合起來使用。

熱點內容
入門c語言設計 發布:2025-05-17 12:08:31 瀏覽:40
c3演算法 發布:2025-05-17 12:04:19 瀏覽:364
phprecv 發布:2025-05-17 11:55:00 瀏覽:610
福建時鍾監控網關伺服器雲主機 發布:2025-05-17 11:54:28 瀏覽:248
c資料庫壓縮 發布:2025-05-17 11:39:22 瀏覽:960
安卓手機如何連接音響功放 發布:2025-05-17 11:37:48 瀏覽:958
破解exe加密視頻 發布:2025-05-17 11:23:41 瀏覽:976
我的世界伺服器圈太大了怎麼辦 發布:2025-05-17 11:15:21 瀏覽:614
便宜的免費雲伺服器 發布:2025-05-17 11:08:50 瀏覽:779
中國頂級dhcp解析伺服器地址 發布:2025-05-17 11:06:27 瀏覽:36