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

正文內(nèi)容

計算機(jī)操作系統(tǒng)-課設(shè)-文庫吧資料

2024-09-05 15:53本頁面
  

【正文】 t *notebook。/*獲得系統(tǒng)時間*/void GetSysTime(char *runtime)。mem_info memft。 char SwapFree[20]。 char SwapCached[20]。 char Buffers[20]。typedef struct _mem{ char MemTotal[20]。GdkPixmap *swap_graph。GtkWidget *window_swap。gdouble memUseRatio, swapUseRatio。static gfloat mm_rate = 。static gint mmPoints[100]。GtkWidget *mminfolabel。GtkWidget *window。gint refresh_swap()。void DrawingSWAP()。void GetMmInfo()。/************* 3 *************/void CreatePageThree(GtkWidget *notebook)。static GtkWidget *entry。void ProcessRun(gpointer data)。 //讀取線程void SearchProcByPID(gpointer data)。 //顯示進(jìn)程信息void ReadProc(proc_info *ft, const char* path)。/*進(jìn)程信息*/void CreatePageTwo(GtkWidget *notebook)。 char ppid[20]。 char vmsize[20]。 char pid[20]。char cpuBuffer[2000]。static gfloat cpu_rate = 。 //cpu infomationGdkPixmap *cpu_graph。GtkWidget *labelofcpu。GtkWidget *draw_cpu。void GetCpuInfo()。static gboolean cpu_configure_event(GtkWidget *widget, GdkEventConfigure *event, gpointer data)。gint refresh_cpu(gpointer data)。/************* 1 *************/void CreatePageFour(GtkWidget *notebook)。void ShutDown(void)。(2) myExplor結(jié)構(gòu)/************* main *************//*菜單欄*/void Menu_bar(GtkWidget *vbox)。 ②/proc/cpuinfo 保存CPU信息,包括名稱、型號、數(shù)目、主頻、Cache等; ③/proc/version 保存操作系統(tǒng)信息,包括系統(tǒng)版本、內(nèi)核型號、GCC版本等; ④/proc/stat 保存CPU活動信息數(shù)據(jù),用來測算CPU使用率; ⑤/proc/meminfo 保存內(nèi)存空間和交換空間實(shí)時大小,可用來計算內(nèi)存和交換分區(qū)使用率,MemTotal表示內(nèi)存空間總大小,MemFree表示內(nèi)存剩余空間大小,SwapTotal表示交換分區(qū)總大小,SwapFree表示交換分區(qū)剩余空間大小。 實(shí)驗分析(1) /proc 文件特點(diǎn): ①Linux的proc文件系統(tǒng)是進(jìn)程文件系統(tǒng)和內(nèi)核文件系統(tǒng)的組成的復(fù)合體,是將內(nèi)核數(shù)據(jù)對象化為文件形式進(jìn)行存取的一種內(nèi)存文件系統(tǒng),是監(jiān)控內(nèi)核的一種用戶接口。 close(fd)。 //將輸入寫入設(shè)備 read(fd,out,sizeof(out))。 fgets(in,34,stdin)。 memset(out,0,sizeof(out))。 read(fd,out,sizeof(out))。 } memset(out,0,sizeof(out))。//打開設(shè)備 if(fd == 1) { printf(!\n)。 char in[34]。命令為: make clean b) 刪除先前可能加載過的模塊,命令為: rmmod /dev/zcydriver c) 卸載設(shè)備: rm /dev/zcydriverd) 編譯設(shè)備文件,產(chǎn)生模塊文件 makee) 加載模塊 insmod f) 加載設(shè)備,分配設(shè)別號 mknod /dev/zcydriver c 240 0g) 更改用戶對設(shè)備的操作權(quán)限為可讀、可寫 chmod 666 /dev/zcydriver4) 編寫測試程序()include include include sys/include sys/include define DEVICE /dev/fzdriver int main(void){ int fd。module_exit(fzdriver_exit)。}MODULE_LICENSE(GPL)。}static void fzdriver_exit(void){ unregister_chrdev(MY_MAJOR, fzdriver)。 } printk(...register fzdriver dev OK\n)。 //注冊設(shè)備 if(rc 0) { printk(...register %s dev error\n, fzdriver)。 rc = register_chrdev(MY_MAJOR, fzdriver, amp。 s2 = (char *)kmalloc(64,GFP_KERNEL)。//設(shè)備初始化static int fzdriver_init(void){ int rc。 return 0。 else return count。 else if (s1==NULL) return ENOMEM。 else return 1。(!copy_to_user(buf,s2,count))) return 0。 if((count12)amp。 return 0。char *s2。e) else之前的內(nèi)容為kbuild語法的語句,指明模塊源碼中各文件的依賴關(guān)系,以及要生成的目標(biāo)模塊名。c) 當(dāng)make的目標(biāo)為all時,C $(KDIR)指明跳轉(zhuǎn)到內(nèi)核源碼目錄下讀取那里的Makefile;M=$(PWD) 表明然后返回到當(dāng)前目錄繼續(xù)讀入、執(zhí)行當(dāng)前的Makefile。來實(shí)現(xiàn)具體的操作;3) 卸載設(shè)備: 在不用這個設(shè)備時,可以將它卸載,主要是從/proc 中取消這個設(shè)備的特殊文件。以最常用的塊設(shè)備或者字符設(shè)備來說,都存在著諸如 open()、read()這一類的操作。次設(shè)備號僅由設(shè)備驅(qū)動程序解釋,一般用于識別在若干可能的硬件設(shè)備中,I/O請求所涉及到的那個設(shè)備。 設(shè)備由一個主設(shè)備號和一個次設(shè)備號標(biāo)識。對用戶程序而言,設(shè)備驅(qū)動程序隱藏了設(shè)備的具體細(xì)節(jié),對各種不同設(shè)備提供了一致的接口,一般來說是把設(shè)備映射為一個特殊的設(shè)備文件,用戶程序可以象對其它文件一樣對此設(shè)備文件進(jìn)行操作。通過模塊方法,增加一個新的設(shè)備驅(qū)動程序,其功能可以簡單。 return 1。 if( i == 0 ) printf(Successful!\n)。 } int i = syscall(351,argv[1],argv[2])。13) ,如所示:include include int main(int argc,char*argv[]){ if(argc!=3) { printf(You need to input the file you want to copy!)。6) 編譯內(nèi)核:a) 編譯內(nèi)核文件bzImage: make bzImage –j9這一步耗費(fèi)的時間比較長,所以加了一個 j9,這種方法使用多線程編程,實(shí)際使用時發(fā)現(xiàn)能很大的提高效率。這次用不到變化內(nèi)核模塊,直接用鍵盤方向鍵選EXIT項就行了。Tips:內(nèi)核編譯過程由于實(shí)驗中未截圖,引用參考教程截圖,鏈接:、5) 配置內(nèi)核:(先進(jìn)入解壓的內(nèi)核包文件夾)a) :make mrproper圖 44 make mrproperb) 安裝ncurses環(huán)境: aptget install libncurses5dev ncurses是一個能提供基于文本終端窗口功能的動態(tài)庫, 提供字符終端處理庫,包括面板和菜單。} 3) 添加系統(tǒng)調(diào)用號,修改文件:/arch/x86/syscalls/,在最后加入自定義的系統(tǒng)調(diào)用號。 } } set_fs(fs)。 } while(copy_count=sys_read(fin,buf,BUF_SIZE)) { /* 拷貝文件,若失敗,返回3 */ if (copy_count == 1 || sys_write(fout,buf,copy_count) == 1) { return 3。 } /* 系統(tǒng)調(diào)用創(chuàng)建并打開目標(biāo)文件,若失敗,返回2 */ if ((fout = sys_open(t_file,O_RDWR | O_CREAT | O_TRUNC,S_IRUSR | S_IWUSR)) == 1) { return 2。 /* 系統(tǒng)調(diào)用打開源文件,若失敗,返回1 */ if ((fin = sys_open(s_file,O_RDONLY,S_IRUSR)) == 1) { return 1。 //段操作的初始化 fs = get_fs()。 int copy_count。 int fin,fout。圖 412) 添加系統(tǒng)調(diào)用函數(shù),修改文件:/kernel/,在最后加入新的系統(tǒng)調(diào)用函數(shù),拷貝函數(shù)實(shí)現(xiàn)。經(jīng)過自己的實(shí)際工作,下面是在運(yùn)行成功之后,總結(jié)的一個過程。 相關(guān)資料的步驟和方法不盡相同,甚至還有互斥的步驟,這就使得這個推進(jìn)比較漫長。 linux內(nèi)核版本的不同,內(nèi)核文件也有變化。 實(shí)驗分析 在這一個部分,因為編譯內(nèi)核的原因,投入了比較多的時間。 //準(zhǔn)備將窗口和所有的組件顯示在屏幕上,函數(shù)必須在GTK程序的最后調(diào)用. gtk_main ()。 //函數(shù)顯示窗口中的組件 gtk_widget_show (button)。 GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT)。 g_signal_connect_swapped (G_OBJECT (button), clicked, G_CALLBACK (gtk_widget_destroy), window)。 //當(dāng)窗口clicked時, gtk_widget_destroy 就會被調(diào)用。 button = gtk_button_new_with_label (close)。 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 10)。 sprintf (id_char, 父進(jìn)程ID:%d, getppid ())。 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 10)。 sprintf (id_char, %s ,My ID:%d, title,getpid ())。 gtk_widget_show (vbox)。//設(shè)定寬度。 vbox = gtk_vbox_new (FALSE, 10)。 //使用gtk_vbox_new函數(shù)建立縱向組裝盒。 gtk_container_set_border_width (GTK_CONTAINER (window), 20)。 gtk_window_set_title (GTK_WINDOW (window), title)。 //監(jiān)聽窗口的destroy事件。 //設(shè)定窗口的位置。 window = gtk_window_new (GTK_WINDOW_TOPLEVEL)。argv)。 //父進(jìn)程 Parent //由于父進(jìn)程需要顯示全部子進(jìn)程PID,所以這里直接用參數(shù)畫窗口 } }②調(diào)用GTK顯示窗體函數(shù)模塊的結(jié)構(gòu):void show(int argc,char *argv[ ],char *title )
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1