1樓:垢朋有
程序號是標識乙個程序,檔案描述符是標識乙個檔案控制代碼,兩者都是整數。
linux檔案描述符表和檔案的關係
2樓:良玉小帝
linux中的檔案型別。
linux系統中把一切都看做檔案,包括普通檔案-、目錄檔案d、字元裝置檔案c、塊裝置檔案b、符號鏈結檔案l。檔案描述符是核心為了高效管理已被開啟的檔案所建立的索引(乙個非負整數),用於指代已被開啟的檔案,linux下所有的的i/o操作的系統呼叫都是通過檔案描述符執行。例如0表示標準輸入、1表示標準輸出、3表示標準錯誤。
檔案描述符會在這個基礎上遞增。
檔案描述符、檔案、程序之間的關係。
每個檔案描述符都指向乙個開啟的檔案相對應。
不同的檔案描述符可能指向同乙個開啟的檔案。
相同的檔案可能被不同的程序開啟,也可以在被同乙個程序開啟多次。
檔案描述符表: 程序級的列表,也就是使用者區的一部分,程序每開啟乙個檔案就會新建乙個檔案描述符,同時只能通過檔案描述符的函式訪問,否則程序無法直接對其進行訪問。
系統檔案表: 系統級的列表,對當前系統的所有程序都共享,每條條目包含檔案偏移量、訪問模式以及指向它的檔案描述符的條目計數。
檔案系統索引節點表: inode索引節點表(uid、gid、ctime、mtime、atime、讀寫執行許可權、鏈結數、block位置)
linux檢視程序開啟多少檔案描述符命令
3樓:可靠的夢想之星
可用lsof命令,可以列出被程序所開啟的檔案的資訊。被開啟的檔案可以是:
1普通的檔案,2.目錄 3.網路檔案系統的檔案,4.
字元裝置檔案 5.(函式)共享庫 6.管道,命名管道 7.
符號鏈結 8.底層的socket字流,網路socket,unix網域名稱socket 各個命令的詳細介紹可看下「linux命令大全」
linux下面有沒有辦法讓不同的程序共享檔案描述符
4樓:網友
linux系統下檢視程序開啟檔案在/proc下,對應每個程序有乙個以程序號命名的目錄,該目錄下有乙個fd目錄,該目錄下面的每個檔案是乙個符號連線,其檔名對應該程序佔用的乙個檔案描述符,而連線指向的內容表示檔案描述符對應的實際檔案。
linux下的檔案描述符一共有多少?
5樓:網友
人們常說linux最大有65536個檔案描述符,是由於常用linux核心的預設值決定的,實際上是可以通過修改核心突破的。
瞭解下檔案描述符,核心(kernel)利用檔案描述符(file descriptor)來訪問檔案。檔案描述符是非負整數。開啟現存檔案或新建檔案時,核心會返回乙個檔案描述符。
讀寫檔案也需要使用檔案描述符來指定待讀寫的檔案。
檔案描述符的有效範圍是 0 到 open_max。一般來說,每個程序最多可以開啟 64 個檔案(0 — 63)。對於 freebsd os x 和 solaris 9 來說,每個程序最多可以開啟檔案的多少取決於系統記憶體的大小,int 的大小,以及系統管理員設定的限制。
linux 強制規定最多不能超過 1,048,576 。
程序和執行緒有什麼區別?
6樓:網友
1、功能不同
程序是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。
執行緒是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。
2、工作原理不同
在早期面向程序設計的計算機結構中,程序是程式的基本執行實體;在當代面向執行緒設計的計算機結構中,程序是執行緒的容器。程式是指令、資料及其組織形式的描述,程序是程式的實體。
執行緒是獨立排程和分派的基本單位。執行緒可以為作業系統核心排程的核心執行緒,如win32執行緒;由使用者程序自行排程的使用者執行緒,如linux平臺的posix thread;或者由核心與使用者程序,如windows 7的執行緒,進行混合排程。
3、作用不同
程序是作業系統中最基本、重要的概念。是多道程式系統出現後,為了刻畫系統內部出現的動態情況,描述系統內部各道程式的活動規律引進的乙個概念,所有多道程式設計作業系統都建立在程序的基礎上。
通常在乙個程序中可以包含若干個執行緒,它們可以利用程序所擁有的資源。在引入執行緒的作業系統中,通常都是把程序作為分配資源的基本單位,而把執行緒作為獨立執行和獨立排程的基本單位。
7樓:xxp閃電的力量
1、性質不同。
程序(process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。
執行緒(英語:thread)是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。
2、適用範圍不同。
使用程序目的在於清晰地刻畫動態系統的內在規律,有效管理和排程進入計算機系統主儲存器執行的程式。
執行緒為作業系統核心排程的核心執行緒,如win32執行緒;由使用者程序自行排程的使用者執行緒,如linux平臺的posix thread;或者由核心與使用者程序,如windows 7的執行緒,進行混合排程。
8樓:網友
暈死,又是長篇累櫝。
看到就暈。看作業系統的書去吧,有簡單的解釋。
一般來講執行緒是最小的單位,程序是由執行緒組成的。
9樓:尚學堂j**a學院
程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的乙個獨立單位。
執行緒是程序的乙個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位。執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬乙個程序的其他的執行緒共享程序所擁有的全部資源。
10樓:雁子
乙個程式至少有乙個程序, 乙個程序至少有乙個執行緒程序:獨立功能的程式,系統級排程和分配資源,有獨立的位址空間,多程序的程式要比多執行緒的的程式健壯,但在程式切換時,耗費資源較大,效率要差一些。
執行緒:是程序的乙個實體,不擁有系統資源,cpu級排程和分派(更小),沒有單獨的位址空間,對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。
多執行緒多執行緒:軟體或者硬體上實現多個程序併發執行的技術。
同意時間執行多於乙個執行緒,進而提公升整體處理效能。
執行緒同步。同步:– 1、a執行到一定程度時要依靠b的某個結果,於是停下來,示意b執行;
2、b按照**邏輯依次執行後,將結果給a;
3、a再繼續操作。
所謂同步,就是在發出乙個功能呼叫時,在沒有得到結果之前,該呼叫就不返回,同時其它執行緒也不能呼叫這個方法。
死鎖(資料庫)
死鎖:– 1、a執行到一定程度時要依靠b的某個結果,於是停下來,示意b執行;
2、b按照**邏輯依次執行中需要a的某個結果,示意a執行,等到a執行後再執行b後面的**,並將結果給a;
3、a必須等到b的結果才能繼續執行。
n 於是問題出來了:a執行不下去,因為沒有b的結果;
b執行不下去,因為沒有a的返回結果,於是死鎖。
linux下查詢哪個檔案中有要找的關鍵字
grep rl 關鍵字 目錄。例如 查詢 home下所有內容含有hello的檔案。grep rl hello home r 遞迴目錄與子目錄查詢。l 只列出檔案全名。當然還有其它選項,根據自己的需求而調配。這裡不列出了。linux是一套免費使用和自由傳播的類unix作業系統,是乙個基於posix和u...
linux與windows傳送檔案需要安裝ftp還是tftp
ftp可靠些,速度也快些,但是設定要複雜一些。如何在虛擬機器上的linux系統配置ftp服務,跟windows建立連線傳輸檔案 在虛擬機器上的linux系統bai配置ftp服務,跟duwindows建立連線zhi傳輸檔案的具體操作步dao驟如下 小型ftp伺服器 quick easy ftp ser...
linux下怎麼設定資料夾為隱藏檔案
方法 步驟。首先展示如何隱藏資料夾。檔案和資料夾的操作方法完全一致,後面就略掉了。假如在你的home目錄下有個pythonar目錄,裡面有個資料夾叫 看不見 然後單擊一下它,用f2 或者是fn f2 重新命名,然後按下home鍵,輸入乙個小數點 在最前面。然後,點選home,再點選 pythonar...