do_execve() ----- 系統呼叫(int 0x80)功能號_nr_execve()呼叫的c處理函式
1.確定原cs值是使用者**段。因為核心**段不能被替換的
2.初始化128kb的引數和環境空間
3.取出執行檔案的i結點
4.計算命令列引數和環境字串的個數:argc和argv
5.計算當前程序的許可權,判斷當前程序是否有許可權執行這個檔案
6.取出執行檔案頭部,並分析
(1)取出解釋程式的程式名和引數
(2)把原命令列引數放入128kb空間中
(3)把新引數和環境放入128kb空間中
(4)獲取解釋程式的i結點,
(5)go to step 5
若執行檔案太大或不全,則:出錯
若要執行的不是指令碼程式的解釋程式,則:
(1)將引數與環境複製到128kb空間
(2)釋放當前程序所佔的資源
(3)修改當前程序的ldt
(4)重置**段與資料段的限長
(5)設定tss
(6)把執行本次系統呼叫程式的的返回位址eip指向執行檔案中**的起始位置處
問題:需要同時使用多個檔案描述符來訪問資料流會間歇傳輸的i/o裝置
解決方法:讓核心同時檢測使用者提供的多個檔案描述符,如果檔案描述符的狀態沒有發生變化,就讓呼叫程序進入睡眠狀態。如果有乙個描述符已準備好可被訪問,該函式就返回程序,並告訴程序哪個描述符已準備好
問題:系統呼叫最多隻帶3個引數,select()有5個引數
Linux0 12 檔案系統 系統呼叫介面
do execve 系統呼叫 int 0x80 功能號 nr execve 呼叫的c處理函式 1.確定原cs值是使用者 段。因為核心 段不能被替換的 2.初始化128kb的引數和環境空間 3.取出執行檔案的i結點 4.計算命令列引數和環境字串的個數 argc和ar 5.計算當前程序的許可權,判斷當前...
linux檔案系統 ext2檔案系統
如何快速高效的尋到在硬碟儲存的資料,於是檔案系統就誕生了。檔案系統是邏輯層面的,那麼檔案系統是如何管理 件層提供的磁碟空間的?現在,大部分檔案系統採用索引分配方案 優點 1.能夠保持好大部分檔案的區域性性 2.滿足檔案插入,刪除的高效 3.隨機讀寫不需要沿著指標前行 缺點1.會有較多的磁碟尋道次數 ...
6 檔案系統
root edaserver1 ls bin boot dev etc home lib lib64 lost found media misc mnt net opt proc root sbin selinux srv sys tftpboot tmp usr var bin所有賬號命令,二進位...