freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)課設(存儲版)

2024-11-16 22:27上一頁面

下一頁面
  

【正文】 ags(Qt::Dialog)。QTimer *timer = new QTimer(this)。 具體實現(xiàn)(1)系統(tǒng)調(diào)用的原理用戶進程不能訪問內(nèi)核所占內(nèi)存空間,也不能調(diào)用內(nèi)核函數(shù)。這個系統(tǒng)調(diào)用的參數(shù)是兩個char*型的字符指針SourceFile、GoalFile,分別表示源文件和目標文件的路徑名。//寫入MyDeviceDriver設備的內(nèi)容char goal[BUFFER_SIZE]。printf(“source:n%snn”,source)。 具體實現(xiàn)(1)/proc文件系統(tǒng)的特點Linux的PROC文件系統(tǒng)是進程文件系統(tǒng)和內(nèi)核文件系統(tǒng)的組成的復合體,是將內(nèi)核數(shù)據(jù)對象化為文件形式進行存取的一種內(nèi)存文件系統(tǒng),是監(jiān)控內(nèi)核的一種用戶接口。弄清楚文件中的內(nèi)容的含義之后,開始處理/proc/cpuinfo,從中讀取CPU的型號和頻率。⑦顯示系統(tǒng)所有進程的一些信息,包括pid、ppid、占用內(nèi)存大小、優(yōu)先級等 系統(tǒng)的進程眾多,且進程號從1到幾萬的都有,如果從1開始遍歷訪問,效率就會很低。處理完畢之后,所需要的關于進程c_pid的詳細信息都存儲在全局結構體數(shù)組procInfo的元素中了。pix的背景色設置為藍色,然后定義一個QPainter類painter,painter的畫圖設備就是pix,定義QPen畫筆pen,畫筆顏色設置為紅色,畫筆寬度為2個像素,設置完成后,以yList中存儲的cpuRate為縱坐標,以yList的元素下標為橫坐標,并根據(jù)坐標軸單位長度所占實際像素個數(shù)稍微調(diào)整一下每個點的橫縱坐標,然后調(diào)用painter的drawLine方法畫出這些點并依次連接起來,就得到了2分鐘內(nèi)的CPU使用率歷史記錄曲線,而且歷史記錄曲線可以隨著時間從右向左更新。⑩在狀態(tài)欄顯示當前時間調(diào)用QDateTime的方法currentDateTime獲取當前時間time,time是一個QDateTime類型的變量,然后調(diào)用QDateTime的方法toString把time轉化成格式為yyyyMMdd hh:mm:ss dddd的QString字符串,再在主窗口的狀態(tài)欄顯示輸出即可。unsigned int idle。內(nèi)存使用率的計算公式為:memRate=(total –(free+buffers+cached))*。得到內(nèi)存使用的數(shù)據(jù)信息之后,使用上述內(nèi)存使用率計算公式計算即可。tab_1選項卡用于顯示主機名、系統(tǒng)啟動時間、系統(tǒng)運行時間、系統(tǒng)版本號、CPU型號和主頻等信息,這些內(nèi)容全部用QLabel類的標簽顯示,其中系統(tǒng)運行時間和CPU主頻函數(shù)是槽函數(shù),都和定時器QTimer綁定,隨著時間自動更新。private:Ui::MainWindow *ui。void init_StatusBar()。private slots:void NowTime()。void KillProcess()。fgets(host,sizeof(host),fp)。fgets(time,sizeof(time),fp)。FILE *fp1,*fp2。fclose(fp1)。string priority。華 中 科 技 大 學 課 程 設 計 報 告meminfotemptemptemptemptemp(pidinfopriority)。int i=0。i++。}mem_use。meminfostrmemcachedstr。ptm = localtime(amp。QString sudo。mand=()。uiprocessorlabel3setText(QString(”3: %1“).arg(processor))。Hz2=QString(”%1%2“).arg(Hz2).arg(”MHz“)。QTableWidgetItem *nameItem。headersuitableWidgetsetHorizontalHeaderLabels(headers)。ppidItem=new QTableWidgetItem(QString::fromStdString(procInfo[i].ppid))。華 中 科 技 大 學 課 程 設 計 報 告priorityItemsetTextAlignment(Qt::AlignCenter)。} void MainWindow::QueryProcess(){QString queryitem。QHeaderView* headerView = uitableWidget_2verticalHeader()。headersuitableWidget_2setHorizontalHeaderLabels(headers)。uitableWidget_2setItem(0,2,ppidItem)。uitableWidgetsetEditTriggers(QAbstractItemView::NoEditTriggers)。queryitem=uilineEdittext()。mand=()。default:break。if(size120){()。QPainter painter(amp。}QPen pen。int size=()。}uicpuline_labelsetPixmap(pix)。for(int i=1。} } void MainWindow::UpdateCPULine(){int count=0。int size=()。system(mand)。switch(killtype){case 0:sudo=QString(”pkill %1“).arg(queryitem)。char* mand。uitableWidget_2setItem(0,4,priorityItem)。pidItemsetTextAlignment(Qt::AlignCenter)。}uitableWidget_2setColumnCount(5)。QTableWidgetItem *rssItem。uitableWidgetsetEditTriggers(QAbstractItemView::NoEditTriggers)。priorityItem=new QTableWidgetItem(QString::fromStdString(procInfo[i].priority))。uitableWidgetsetItem(i,1,pidItem)。uitableWidgetsetColumnCount(5)。int i。uiHzlabel1setText(Hz1)。uiprocessorlabel1setText(QString(”1: %1“).arg(processor))。if(OK){sudo=QString(”echo %1 | sudoS shutdownh now“).arg(passWord)。uiostypelabelsetText(os)。華 中 科 技 大 學 課 程 設 計 報 告} float clacu_memRate(mem_use *memStat){float memRate=。meminfostrmemavailablestr。unsigned long buffers。 ptrd_name[0]{read_proc(amp。} int get_pid_info(){DIR *dir。meminfo(pidinfopid)pidnametemp(pidinfoppid)temptemp。string ppid。sscanf(buff2,“%s”,osrelease)。char ostype[6],osrelease[8]。char time[32]。hostname=(char*)malloc(7*sizeof(char))。void QueryProcess()。void add_point_mem(float memRate)。QList yList。} class MainWindow : public QMainWindow {Q_OBJECT華 中 科 技 大 學 課 程 設 計 報 告public:explicit MainWindow(QWidget *parent = 0)。狀態(tài)欄中添加三個標簽和一個按鈕,三個標簽分別用于顯示當前時間、CPU使用率、內(nèi)存使用率,這三華 中 科 技 大 學 課 程 設 計 報 告?zhèn)€信息的顯示函數(shù)都與定時器QTimer綁定,隨時間自動更新,按鈕用于觸發(fā)關機函數(shù)。該結構體中的成員的值都來自文件/proc/meminfo,聲明一個ifstream類性的變量meminfo,用/proc/meminfo初始化meminfo,然后用析取器()從meminfo中輸入數(shù)據(jù)到結構體mem_use 的成員變量中,析取器()會自動忽略空字符。計算之前,調(diào)用get_cpu_use_stat函數(shù)獲取一個CPU狀態(tài),sleep一秒后再調(diào)用該函數(shù)獲取第二個CPU狀態(tài),然后用上述CPU使用率計算公式計算即可。unsigned int nice。先在QPixmap類型的變量pix上畫曲線,pix相當于一塊畫布,然后再把pix添加到label標簽上。得到CPU使用率之后,在函數(shù)UpdateCPULine中畫圖。所需要的進程信息并不是連續(xù)存放在stat文件中的,中間包含有其他不需要顯示的進程信息,解決方法是定義一個string類型的變量temp,根據(jù)stat文件中的信息存放順序,將所有不需要的進程信息全部輸入到temp中。Linux系統(tǒng)提供了kill、pkill等殺死進程的命令,pkill通過pid殺死進程,kill通過進程名稱殺死進程。得到系統(tǒng)類型和系統(tǒng)內(nèi)核版本號之后,調(diào)用QString類的方法arg將兩個字符串連接起來,再輸出顯示即可。} 實驗四實驗四有兩個選做題目,分別是proc文件監(jiān)控系統(tǒng)和小型文件系統(tǒng),本次實驗我選擇的題目是proc文件監(jiān)控系統(tǒng)。if((dev=open(“/dev/MyDeviceDriver”,O_RDWR))==1)//打開MyDeviceDriver設備失敗printf(“FAIL to open MyDeviceDriver!n”)。char c。接著,就調(diào)用函數(shù),等返回后,做一些系統(tǒng)檢查,最后返回到進程(如果這個進程時間用盡,就返回到其他進程)。uilabelCurDatesetText(str)。uitextBrowser_2setText(str)。uisetupUi(this)。QTimer *timer = new QTimer(this)。setWindowFlags(Qt::Dialog)。華 中 科 技 大 學 課 程 設 計 報 告timerstart(1)。char str[128],f_id[128]。waitpid(p2,NULL,0)。close(goal)。src=open(srcFile,O_RDONLY)。用Qt的對象QDateTime獲取系統(tǒng)當前時間,然后將時間轉換成一個字符串寫在一個QLabel類的實例中,然后將該實例添加至窗口;直接把當前進程名稱寫在一個標簽上然后添加至窗口;使用getpid和getppid函數(shù)分別獲取當前進程號和父進程號,然后調(diào)用sprintf把進程號轉換成字符串類型之后寫在標簽上并添加至窗口即可。要求用到Linux下的圖形庫(GTK/Qt)。 實驗一 實驗要求設計與實現(xiàn)掌握Linux操作系統(tǒng)的使用方法,包括鍵盤命令、系統(tǒng)調(diào)用;掌握在Linux下的編程環(huán)境。要求用到Linux下的圖形庫(GTK/Qt)。在以后的學習中一方面我要不斷的鞏固自己所學的理論知識,一方面還要多參加實際操作工作以便提高自己的實際操作能力?!爱斍吧暾埩俊敝高M程都拿過去按運行時需要申請的資源量。各進程是動態(tài)進行資源的申請和釋放。//頁框號int pageId。若就緒隊列不空,則重復上述的步驟(3)和(4)直到所有進程都運行完為止。進程的優(yōu)先數(shù)、要求運行時間和估計運行時間由用戶程序任意設計,且優(yōu)先數(shù)越低,優(yōu)先級越高。int runprocess()。char state。執(zhí)行處理機調(diào)度時,首先選擇隊首的第一個進程運行。//進程結束時間int servicetime。估計運行時間減1,用這個操作來模擬進程的一次運行,而且省去進程的現(xiàn)場保護和現(xiàn)場恢復工作。模擬進程的資源分配算法,了解死鎖的產(chǎn)生和避免的辦法。要求學生設計一個模擬單處理機調(diào)度的算法,以加深對處理機調(diào)度的概念理解。為了了解系統(tǒng)的資源分配情況,假定系統(tǒng)的任何一種資源在 任一時刻只能被一個進程使用。能夠處理以下的情形:(1)可根據(jù)需要輸入當前磁頭的位置,磁頭移動方向;(2)能夠輸入柱面數(shù),磁道訪問序列等參數(shù),并能夠顯示調(diào)度結果(磁盤訪問請求的磁道號以及磁頭移動的總磁道數(shù))。//進程號char name[10]。//帶權周轉時間struct PCB *next。若就緒隊列不空,則重復上述的步驟(4)和(5)直到所有進程都運行完為止。PCB head_input。r39。另外再設一個當前運行進程指針,指向當前正運行的進程。//進程名char state。//最近訪問,訪問清零,未訪問加1 bool replace。當系統(tǒng)不能滿足進程的資源請求時,進程處于等待態(tài)。(2)系統(tǒng)安全性檢查算法。了解Linux系統(tǒng)內(nèi)核代碼結構; 實驗三掌握增加設備驅(qū)動程序的方法。在windows操作系統(tǒng)上實現(xiàn)的文件拷貝功能一般使用fopen、fread、fwrite三個來自標準C函數(shù)庫的函數(shù)執(zhí)行
點擊復制文檔內(nèi)容
合同協(xié)議相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1