新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 文件I/O編程之: 實驗內容

        文件I/O編程之: 實驗內容

        作者: 時間:2013-09-13 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257134.htm

        6.6實驗內容

        6.6.1文件讀寫及上鎖

        1.實驗目的

        通過編寫文件讀寫及上鎖的程序,進一步熟悉中文件I/O相關的應用開發,并且熟練掌握open()、read()、write()、fcntl()等函數的使用。

        2.實驗內容

        中FIFO是一種進程之間的管道通信機制。支持完整的機制。

        本實驗內容比較有趣,通過使用文件操作,仿真FIFO(先進先出)結構以及生產者-消費者運行模型。

        本實驗中需要打開兩個虛擬終端,分別運行生產者程序(producer)和消費者程序(customer)。此時兩個進程同時對同一個文件進行讀寫操作。因為這個文件是臨界資源,所以可以使用文件鎖機制來保證兩個進程對文件的訪問都是原子操作。

        先啟動生產者進程,它負責創建仿真FIFO結構的文件(其實是一個普通文件)并投入生產,就是按照給定的時間間隔,向FIFO文件寫入自動生成的字符(在程序中用宏定義選擇使用數字還是使用英文字符),生產周期以及要生產的資源數通過參數傳遞給進程(默認生產周期為1s,要生產的資源數為10個字符)。

        后啟動的消費者進程按照給定的數目進行消費,首先從文件中讀取相應數目的字符并在屏幕上顯示,然后從文件中刪除剛才消費過的數據。為了仿真FIFO結構,此時需要使用兩次復制來實現文件內容的偏移。每次消費的資源數通過參數傳遞給進程,默認值為10個字符。

        3.實驗步驟

        (1)畫出實驗流程圖。

        本實驗的兩個程序的流程圖如圖6.4所示。

        圖6.4節流程圖

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 4 下一頁

        關鍵詞: I/O編程 Linux FIFO通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定日县| 香河县| 马公市| 庆阳市| 新闻| 金寨县| 白城市| 平南县| 大埔区| 桦南县| 平潭县| 高州市| 衡阳市| 施秉县| 广南县| 彝良县| 杂多县| 日喀则市| 五大连池市| 济宁市| 定南县| 南乐县| 柏乡县| 邮箱| 汕尾市| 克东县| 富民县| 绍兴县| 高陵县| 镇康县| 寿阳县| 阳江市| 伽师县| 涟水县| 新田县| 新龙县| 定兴县| 平山县| 彰武县| 阜阳市| 绥棱县|