1.什麼是os?
好簡單好x的問題,可是如果真的要自己用稍微官方稍微正規的語言或文本來回答,我真的能回答清楚嗎?好吧,我先來用自己的語言來回答。再去找點官方的定義。
我自己的回答:os就是乙個可以管理並且相對合理分配計算機資源的軟體。
官方回答:作業系統(英語:operating system,簡稱os)是管理
計算機硬體與軟體
資源的電腦程式
,同時也是計算機系統的核心與基石。作業系統需要處理如管理與配置
記憶體、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作
網路與管理
檔案系統
我在別的地方的一種解釋:作業系統是計算機上最重要的系統軟體,它負責管理各種物理資源,並向應用程式提供各種抽象介面以便其使用這些物理資源。從應用程式的角度看,作業系統提供了乙個統一的虛擬機器,在該虛擬機器中沒有各種機器的具體細節,只有程序、檔案、位址空間以及程序間通訊等邏輯概念。這種抽象虛擬機器使得應用程式的開發變得相對容易:開發者只需與虛擬機器中的各種邏輯物件互動,而不需要了解各種機器的具體細節。此外,這些抽象的邏輯物件使得作業系統能夠很容易隔離並保護各個應用程式。(我覺得這個回答很棒)
2.應用程式怎麼對儲存裝置上的資料進行i/o操作?
上面說了「作業系統提供乙個統一的虛擬機器...等邏輯概念」。所以應用程式只需要對某個邏輯概念進行i/o操作。這個邏輯概念就是「檔案」。應用程式要對這個資料進行i/o時,只需讀或者寫"檔案"的一維位址空間即可,而這個位址空間與儲存裝置上儲存塊之間的對應關係則由作業系統維護。
在 linux 作業系統中,當應用程式需要讀取檔案中的資料時,作業系統先分配一些記憶體,將資料從儲存裝置讀入到這些記憶體中,然後再將資料分發給應用程式;當需要往檔案中寫資料時,作業系統先分配記憶體接收使用者資料,然後再將資料從記憶體寫到磁碟上。
到了這裡,我不得不再把我在課堂上那本書上看到的「檔案開啟關閉」操作說一下。大致意思如下:
os對檔案的操作大致是如下兩步:
第一步:通過檢索檔案目錄來找到指定檔案屬性以及在外存上的位置;第二部:對檔案實施相應的i/o操作。
為了避免對同一檔案進行多次i/o操作,os引入了「開啟(open)」這一系統呼叫。所謂「開啟」就是指:系統將指定的檔案屬性(包括檔案在外存上的物理位置)從外存拷貝到記憶體開啟檔案表的乙個表目中,並將該錶目的編號(或稱為索引號)返回給使用者。以後,當使用者在要求對該檔案進行相應的操作時,便可以利用系統所返回的索引號向系統提出操作請求。系統這時便可以利用該索引號到開啟檔案表中去查詢。「關閉(close)」當然就是從開啟檔案表中刪除不該項就ok啦。
3.檔案 cache 管理指的是什麼?
首先我們需要明白,檔案cache是指檔案資料在記憶體中的副本。其次我們需要明白兩點。第一:檔案cache作為物理記憶體的一部分,需要參與物理記憶體的分配與**。第二:檔案cache中的資料源於儲存裝置上的資料,需要通過檔案系統與儲存裝置進行讀寫互動。。。。。「從作業系統的角度考慮,檔案 cache 可以看做是記憶體管理系統與檔案系統之間的聯絡紐帶」。這句話貌似很有道理啊
檔案 cache 管理指的就是對由作業系統分配,並用來儲存檔案資料的記憶體的管理。 cache 管理的優劣通過兩個指標衡量:第一是 cache 命中率,cache 命中時資料可以直接從記憶體中獲取,不再需要訪問低速外設,因而可以顯著提高效能;第二是有效 cache 的比率,有效 cache 是指真正會被訪問到的 cache 項,如果有效 cache 的比率偏低,則相當部分磁碟頻寬會被浪費到讀取無用 cache 上,而且無用 cache 會間接導致系統記憶體緊張,最後可能會嚴重影響效能。
C 一些基本概念
建構函式的作用是對物件本身做初始化工作,也就是給使用者提供初始化類中成員變數的一種方式。析構函式是釋放物件執行期間所申請的資源。函式的過載,過載構成的條件 函式的引數型別不同 引數個數不同,才能構成函式的過載 在乙個類中 注意,只有函式的返回型別不同是不能構成函式的過載。在函式過載時,要注意函式帶有...
Thread一些基本概念
1 實現執行緒的三種方式 extends thread implements runnable implements callable new futuretask callable new thread futuretask 2 執行緒讓步yield 讓執行緒由執行狀態變為就緒狀態,不會釋放鎖 3...
elasticsearch的一些基本概念
需要我們注意的是,這些概念理解只是解釋其含義,不推薦強制翻譯成中文。index 這是es儲存資料的地方,類似於關聯式資料庫的database。document type 嗯,類似關聯式資料庫的表,主要功能是將完全不同schema 這個概念以後會講到,不急 的資料分開,乙個index裡面可以有若干個d...