原创 Linux文件操作,目錄結構,文件模型,操作函數

文件操作 學習本章要達到的目標: o1 .瞭解Linux 文件系統的目錄結構; o2 .理解Linux 的文件模型; o3 .掌握Linux 關於文件操作的函數的功能; o4 .熟練應用Linux系統中文件操作的函數進行程序設計。 11.

原创 帶頭節點的雙向循環鏈表數據結構

用C++和Java實現帶頭節點的雙向循環鏈表,要繼承linearList類,並實現它的所有功能,另外,必須實現雙向迭代器。 實現帶頭節點的雙向循環鏈表,要具有以下的功能: 判斷表是否爲空,如果爲空則返回true,不空返回false. 給出

原创 Linux內存管理之slab算法簡述

slab 分配機制。 slab 緩存 Linux 所使用的 slab 分配器的基礎是 Jeff Bonwick 爲 SunOS 操作系統首次引入的一種算法。Jeff 的分配器是圍繞對象緩存進行的。在內核中,會爲有限的對象集(例如文件描述符

原创 操作系統最短尋道時間優先(SSTF)和掃描(SCAN)算法

山東建築大學操作系統實驗三、磁盤調度算法的設計 實驗目的: 通過對磁盤調度算法的設計,深入理解提高磁盤訪問速度的原理。 實驗內容: 模擬實現磁盤調度算法:最短尋道時間優先(SSTF)和掃描(SCAN)算法。 實驗步驟: 理解各調度算法的工

原创 LRU算法操作系統山東建築大學

山東建築大學操作系統存儲器管理 實驗目的: 理解各類置換算法的原理和虛擬存儲器管理的方法。 實驗內容: 編程實現LRU算法或CLOCK/改進算法等置換算法(二選一) 實驗步驟: 理解LRU或CLOCK改進算法等置換算法; 設計與算法相關

原创 Linux內存管理

一 爲什麼需要使用虛擬內存     大家都知道,進程需要使用的代碼和數據都放在內存中,比放在外存中要快很多。問題是內存空間太小了,不能滿足進程的需求,而且現在都是多進程,情況更加糟糕。所以提出了虛擬內存,使得每個進程用於3G的獨立用戶內存

原创 求正整數的平方根,不使用算法庫

  輸入一個正整數,輸出其平方根,不可用使用數學類算法庫 輸入數據的平方根,只取整數部分 #include <iostream> #include<cstdio> using namespace std; int main() {

原创 找出數字中唯一一個出現奇數次數的數字,異或

輸入一行數字,其中有且只有一個數字出現了奇數次,其餘數字均出現偶數次,找出該數字並輸出 運算關鍵:異或 從頭到尾異或一遍,最後得到的那個數就是出現了奇數次的數。 因爲,兩次異或同一個數,結果不變,且異或運算滿足交換律。 #include

原创 算法複習題

The O-notation provides an asymptotic upper bound. The W-notation provides an asymptotic lower bound. The Θ-notation as

原创 linux 有效用戶和實際用戶以及用戶權限設置

linux 有效用戶和實際用戶的區別 進程在運行的時候,有一些屬性,其中包括實際用戶ID,實際組ID,有效用戶ID,有效組ID等。 實際用戶ID和實際組ID標識我們是誰,誰在運行這個程序,一般這2個字段在登陸時決定,在一個登陸會話期間,

原创 Linux文件系統的註冊、安裝與拆卸

8.4.1 文件系統的註冊  當內核被編譯時,就已經確定了可以支持哪些文件系統,這些文件系統在系統引導時,在 VFS 中進行註冊。如果文件系統是作爲內核可裝載的模塊,則在實際安裝時進行註冊,並在模塊卸載時註銷。每個文件系統都有一個初始化例

原创 實驗五 動態規劃(2)熟悉矩陣連乘的算法,設計一個動態規劃算法解決

一、 實驗目的及任務 掌握動態規劃算法的基本步驟:找出最優解的性質,並刻畫其結構特徵;遞歸地定義最優值;以自底向上的方式計算出最優值;根據計算最優值時得到的信息,構造最優解。 熟悉矩陣連乘的算法,設計一個動態規劃算法解決。 二、 實驗環境

原创 FIFO文件 命名管道

命名管道 即FIFO文件,通過命名管道可以在不相關的進程之間交換數據。FIFO有路徑名與之相關聯,以一種特殊設備文件形式存在於文件系統中FIFO有兩種用途:   (1)FIFO由shell使用以便數據從一條管道線傳輸到另一條,爲此無需創建

原创 Linux文件描述符(file descriptor)和文件指針

文件描述符(file descriptor):       在linux系統中,設備也是以文件的形式存在,要對該設備進行操作就必須先打開這個文件,打開這個文件就會獲得這個文件描述符,它是個很小的正整數,它是一個索引值,指向內核爲每一個進程