作業系統的設計與實現(筆記1)

2021-09-23 14:02:19 字數 1002 閱讀 6526

1、檔案:

程序和檔案都可以組織成樹狀結構,但有許多不同之處。程序樹的層次一般都不會很深(很少超過三層),而檔案層次常多達四層、五層或更多。程序樹的層次結構是暫時性的,通常最多存在幾分鐘,而目錄層次則可能長達數年之久。程序和檔案在屬主及保護方面也是有區別的。典型地,只有父程序可以控制和訪問子程序,而對於檔案和目錄則通常存在一種機制使屬主以外的其他使用者也可以訪問該檔案。

目錄層次結構中的每乙個檔案都可以用乙個從根目錄開始的路徑名來確定,這種絕對路徑名中包含了從根目錄到該檔案的所有中間目錄,相互之間由正斜槓隔開。在圖1-6中,檔案cs101的路徑名是/facaulty/prof.brown/courses/cs101。起始的正斜槓表示這是乙個從根目錄起始的絕對路徑。

程序在任一時刻都有乙個當前工作目錄,非正斜槓起始的路徑名均在此目錄開始搜尋。程序可以通過系統呼叫改變當前工作目錄。

minix中的檔案和目錄通過乙個9位元的保護碼來進行保護。 保護碼分成三個3位元的域,分別對應著檔案主、同組使用者和其他使用者。每個域有一位標識讀許可權,一位標識寫許可權,一位標識執行許可權。如保護碼rwxr-x--x表示:檔案主可以讀、寫、執行;同組使用者可以讀和執行,不能寫;其他使用者只能執行,不能讀寫。對目錄來說,x表示搜尋許可權,短橫表示不具備相應許可權。

在檔案讀寫之前,首先要將其開啟,執行開啟操作時將檢查其訪問許可權, 若訪問許可權許可,系統將返回乙個小的整數,稱作檔案描述符,供後續操作使用; 若訪問許可權不夠則返回乙個錯誤碼。

程序和檔案都相關的管道(pipe)。 管道是一種用來連線兩個程序的虛擬檔案,如圖1-8所示。當程序a欲向程序b傳送資料時,它把管道檔案視作輸出檔案,向其中寫資料,程序b則可將管道檔案視作輸入檔案,從中讀資料。於是,minix中的程序間通訊很象普通檔案的讀寫。乙個程序判斷其輸出是普通檔案還是管道的唯一方法是呼叫一條特殊的系統呼叫。

2、外殼:

shell

作業系統設計與實現 1

想重新學習一下作業系統,在這裡記錄一下 介紹作業系統是乙個用來控制計算機資源和提供上層呼叫的基礎軟體。作業系統的兩個基本功能是擴充套件機器 虛擬機器 和資源管理。計算機的資料操作是由硬體或者微程式來完成的。作業系統概念 1.程序 process 整合是乙個程式執行的基礎。它和位址空間緊密相連。這些位...

作業系統設計與實現 讀書筆記1

rel file list href file c 5cdocume 7e1 5czhangx 7e1.sdh 5clocals 7e1 5ctemp 5cmsohtml1 5c01 5cclip filelist.xml 最近對作業系統的原理頗感興趣,上學期間學習作業系統課程時沒有珍惜,只是為了拿...

作業系統 作業系統的設計與實現

系統設計的首要問題是定義目標和規範。從高層來說,系統設計取決於所選硬體和系統型別 批處理 分時 單使用者 多使用者 分布式 實時或通用。除了最高設計層外,需求可能很難說清,但需求可以分為兩類 使用者目標和系統目標。使用者要求系統具有一定的優良效能 系統應該易於學習和使用 可靠 安全和快速。研發人員為...