作業系統練習 緩衝區的寫入 加工 輸出

2021-08-28 18:55:20 字數 557 閱讀 5093

假設有輸入、加工和輸出3個併發程序共享乙個緩衝區b,輸入程序負責從輸入裝置讀入一條記錄,每讀一條記錄後把它存放在緩衝區b中,加工程序在緩衝區b中加工輸入程序存入的記錄。輸出程序負責把加工後的記錄列印輸出。緩衝區b中每次只能存放一條記錄,當記錄被加工輸出後,緩衝區b中才可存放下—條新記錄。請用p、v操作來描述它們併發執行時能正確工作的程式。

解:

設4個變數。

mutex 代表是否有程序在使用b   empty代表b是否為空,

full代表b是否有記錄,   handle代表記錄是否被處理

semaphore  mutex = 1,  empty = 1,  full = 0,  handle = 0;

//讀入程序

void input () while( true )

}// 加工程序

void process () while( true )

}// 輸出程序

void process () while( true )

}

作業系統 緩衝區問題

資料處理的總體過程 磁碟將資料輸入到緩衝區 t 緩衝區將資料傳送到使用者區 m cpu對資料進行處理 c 雙緩衝 在雙緩衝結構中,系統處理一塊資料的時間可以粗略地認為是 max c,t 如果考慮m,則處理一塊資料的時間為 max c m,t 更準確的 max c,t m m 1.檔案佔34個磁碟塊,...

python 作業系統(練習)

京東二面筆試題 1 生成乙個大檔案ips.txt,要求1200行,每行隨機為172.25.254.0 24段的ip 2.讀取ips.txt檔案統計這個檔案中ip出現頻率排前10的ip import random def create ip file filename ip 172.25.254.st...

UNIX作業系統系統呼叫和緩衝區

unix作業系統也是一種程式。由作業系統核心管理著作業系統的各種資源,如cpu 記憶體,網路 裝置 定時器 程序管理 程序間通訊等 socket也是一種系統資源,提供了多系統之間程序的通訊機制 作業系統和核心執行在系統空間,每個普通的使用者會單獨的給其分配對應的使用者空間,但使用者沒有許可權去直接呼...