91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 14KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-19
  • 語言: C/C++
  • 標簽: 操作系統??陳向群??

資源簡介

陳向群老師2011-2012學年的操作系統課程的實習之一 可以對對文件系統有一定的了解

資源截圖

代碼片段和文件信息

//?QuickFileSystem.cpp
//
#include?
#include?
#include?
#include?
#include
#include
#include
using?namespace?std;
/**
*?計量結構
*/
struct?LogInfo
{
DWORD?m_TotalTime;?//?讀寫數據總時間
long?m_readCount;?//?讀的次數
long?m_writeCount;?//?寫的次數
long?m_readTotalNumber;?//?讀數據總量
long?m_writeTotalNumber;//?寫數據總量
DWORD?m_f1TotalTime;?//?f1操作總時間
long?m_f1Count;?//?f1操作次數
DWORD?m_f2TotalTime;?//?f2操作總時間
long?m_f2Count;?//?f2操作次數
};
/*?定義變量?*/
//?每秒多少CPU?Performance?Tick
LARGE_INTEGER?m_liPerfFreq={0};
//測試文件名
char*?testFileName?=?“dummy.dat“;
//Q1?Q2值設置文件名
char*?Q1Q2FileName?=?“Q1Q2.conf“;
//大約156M大小文件
long?g_nCount=100*1024*1024;
//Q1為讀寫概率
//概率以100為基準的整數值
int?Q1=70;
//Q2為f1和f2方法的執行概率。
int?Q2=70;
//定義緩沖區的大小,這里設為1024字節
#define?BUFFER_SIZE?1024
//這里的緩沖區被定義成char型
char?*?buffer;
//預置緩沖區,用于模擬無關操作
char?*?pre_buffer;
/*?顯示程序作者信息?*/
void?showAuthorInfo();
/*?初始化相關變量?*/
void?initVar();
/*?初始化計量結構體?*/
void?initLogInfo(LogInfo*?logInfo);
/*?獲取數據文件大小?*/
long?GetFileSize(char?*filename);
/*?創建數據文件?*/
bool?createDataFile(char*?szFileNamelong?g_nCount);
/*?初始化數據文件?*/
void?initDataFile();
/*?設置參數值Q1Q2?*/
void?initQ1Q2();
/*?循環處理?*/
void?BatchRandomAccessFile(DWORD?accessType);
/*?子過程處理?*/
void?RandomAccessFile(DWORD?accessTypeLogInfo*?logInfo);
/*?根據概率q,隨機判斷是否命中?*/
bool?AssertHit(int?q);
/*?f1函數:處理讀取的緩存數據?*/
void?f1(char*?bufDWORD?NumberOfBytesRead);
/*?f2函數:處理與緩存無關數據?*/
void?f2(DWORD?NumberOfBytesRead);
/*?打印計量信息?*/
void?printLogInfo(LogInfo*?logInfo);
/*?精確計算時間?*/
DWORD?CalTime(LARGE_INTEGER?lstartLARGE_INTEGER?lend);
int?main(int?argc?char*?argv[])
{
/*?顯示程序作者信息?*/
showAuthorInfo();
/*?初始化相關變量?*/
initVar();
/*?初始化數據文件?*/
initDataFile();
/*?設置參數值Q1Q2?*/
initQ1Q2();
/*?無緩存模式處理?*/
printf(“\n====?無緩存模式處理?===\n“);
BatchRandomAccessFile(FILE_FLAG_NO_BUFFERING);
printf(“============================\n“);
/*?高速緩存模式處理?*/
printf(“\n====?高速緩存模式處理?===\n“);
BatchRandomAccessFile(FILE_FLAG_SEQUENTIAL_SCAN);
printf(“============================\n“);
/*?異步模式處理?*/
printf(“\n====?異步模式處理?===\n“);
BatchRandomAccessFile(FILE_FLAG_NO_BUFFERING?|?FILE_FLAG_OVERLAPPED);
printf(“============================\n“);
system(“pause“);
return?0;
}
/****************************************/
/*?顯示程序作者信息?*/
/****************************************/
void?showAuthorInfo(){
cout<<“==================================================================“<cout<<“?作業4:快速文件系統?“<cout<<“?學生:XXXXXXX?“<cout<<“?指導教師:XXXXXXX?“<cout<<“==================================================================“<}
/****************************************/
/*?初始化變量?*/
/****************************************/
void?initVar(){
//分配緩沖區
buffer?=?new?char[BUFFER_SIZE];
//分配緩沖區
pre_buffer?=?new?char[BUFFER_SIZE];
//初始化緩沖區里面內容
srand((unsigned?int)time(0));//隨機取種?以當前時間取種
for?(int?i=0;i{
pre_buffer[i]=33+rand()%93;/

評論

共有 條評論