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

正文內(nèi)容

計(jì)算機(jī)操作系統(tǒng)-課設(shè)(2)-全文預(yù)覽

  

【正文】 tebook),3)。 gtk_widget_set_size_request(capability,200,320)。 label = gtk_label_new (bufferl)。 gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 5)。 clist2=gtk_clist_new(3)。 vbox = gtk_vbox_new(FALSE,0)。 //按鈕回調(diào),刷新屏幕 gtk_box_pack_start(GTK_BOX(vbox), button2, FALSE, FALSE, 10)。 g_signal_connect (G_OBJECT (button1), clicked,G_CALLBACK (kill_proc), 結(jié)束進(jìn)程)。 label = gtk_label_new (bufferf1)。 //回調(diào)函數(shù),響應(yīng)行選擇 gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window),clist)。q,amp。//滾屏 gtk_widget_set_size_request (scrolled_window, 300, 300)。 //之后填入相應(yīng)的值gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, label)。(2)設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)監(jiān)控器——ManagerCat ①: 監(jiān)控器結(jié)構(gòu) ②系統(tǒng)信息頁(yè): 系統(tǒng)信息頁(yè)效果 核心代碼結(jié)構(gòu)如下: vbox = gtk_vbox_new(FALSE,0)。 設(shè)計(jì)過(guò)程及實(shí)現(xiàn)(1)/proc 文件特點(diǎn): ①Linux的proc文件系統(tǒng)是進(jìn)程文件系統(tǒng)和內(nèi)核文件系統(tǒng)的組成的復(fù)合體,是將內(nèi)核數(shù)據(jù)對(duì)象化為文件形式進(jìn)行存取的一種內(nèi)存文件系統(tǒng),是監(jiān)控內(nèi)核的一種用戶接口。
(4)設(shè)備加載,安裝過(guò)程如下: ①,清除make產(chǎn)生的殘留文件。 //注銷(xiāo)設(shè)備 printk(...Good Bye!\n)。 //失敗返回錯(cuò)誤 return 1。}
int zcydriver_release(struct inode *inode, struct file *filp) //釋放設(shè)備struct file_operations zcydriver_fops = { // .owner = THIS_MODULE, .open = zcydriver_open, .read = zcydriver_read, .write = zcydriver_write, .release = zcydriver_release,}。}ssize_t zcydriver_write(struct file *filp, char __user *buf, size_t count, loff_t *f_pos) //寫(xiě)數(shù)據(jù){ if (count 0) return EINVAL。(3)編寫(xiě)設(shè)備功能函數(shù):() 函數(shù)框架如下所示:define MY_MAJOR 240 //定義設(shè)備號(hào)
int zcydriver_open(struct inode *inode, struct file *filp) //打開(kāi)設(shè)備ssize_t zcydriver_read(struct file *filp, char __user *buf, size_t count, loff_t *f_pos ) //讀數(shù)據(jù){
sprintf(s2,%s,s1)。 (2)編寫(xiě)Makefile文件如下:ifneq ($(KERNELRELEASE),) objm := //elsePWD :=$(shell pwd) //PWD為當(dāng)前目錄KVER :=$(shell uname r) //KVER為當(dāng)前系統(tǒng)內(nèi)核版本KDIR :=/lib/modules/$(KVER)/buildall: $(MAKE) C $(KDIR) M=$(PWD) //調(diào)用內(nèi)核模塊編譯clean: rm f *.cmd *.o *.mod *.ko rm rf .*.cmd *.o *. *.ko .tmp_versions $(MAKE) C $(KDIR) M=$(PWD) cleanendif 調(diào)用Makefile文件之后,其具體過(guò)程如下: ①KERNELRELEASE是在內(nèi)核源碼的頂層Makefile中定義的一個(gè)變量,在第一次讀取執(zhí)行此Makefile時(shí),KERNELRELEASE沒(méi)有被定義,所以make將讀取執(zhí)行else之后的內(nèi)容; ②如果make的目標(biāo)是clean,直接執(zhí)行clean操作,然后結(jié)束。 一個(gè)典型的驅(qū)動(dòng)程序,大體上可以分為這么幾個(gè)部分: ①注冊(cè)設(shè)備: 在系統(tǒng)初啟,或者模塊加載時(shí)候,必須將設(shè)備登記到相應(yīng)的設(shè)備數(shù)組,并返回設(shè)備的主設(shè)備號(hào); ②定義功能函數(shù): 對(duì)于每一個(gè)驅(qū)動(dòng)函數(shù)來(lái)說(shuō),都有一些和此設(shè)備密切相關(guān)的功能函數(shù)。 Linux支持3種設(shè)備:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。 執(zhí)行程序 程序執(zhí)行顯示結(jié)果 設(shè)計(jì)三:掌握增加設(shè)備驅(qū)動(dòng)程序的方法 內(nèi)容要求(1)采用模塊方法,添加一個(gè)新的設(shè)備驅(qū)動(dòng)程序。(10)重啟,進(jìn)入新系統(tǒng):: 系統(tǒng)啟動(dòng)項(xiàng) (11) 進(jìn)入新系統(tǒng)之后,輸入命令uname –a / r查看系統(tǒng)新版本:。(6)編譯內(nèi)核: ①編譯內(nèi)核文件bzImage: make bzImage –j9這一步耗費(fèi)的時(shí)間比較長(zhǎng),所以加了一個(gè) j9,這種方法使用多線程編程,實(shí)際使用時(shí)發(fā)現(xiàn)能很大的提高效率。(5)配置內(nèi)核:(先cd到下載的新的內(nèi)核包) ①凈化解壓后的源代碼 make mrproper ②安裝ncurses環(huán)境: aptget install libncurses5dev ncurses是一個(gè)能提供基于文本終端窗口功能的動(dòng)態(tài)庫(kù), 提供字符終端處理庫(kù),包括面板和菜單。 } } set_fs(fs)。 } /* 系統(tǒng)調(diào)用創(chuàng)建并打開(kāi)目標(biāo)文件,若失敗,返回2 */ if ((fout = sys_open(t_file,O_RDWR | O_CREAT | O_TRUNC,S_IRUSR | S_IWUSR)) == 1) { return 2。 //段操作的初始化 fs = get_fs()。 int fin,fout。 設(shè)計(jì)過(guò)程及實(shí)現(xiàn) linux內(nèi)核版本的不同,內(nèi)核文件也有變化。 //準(zhǔn)備將窗口和所有的組件顯示在屏幕上,函數(shù)必須在GTK程序的最后調(diào)用. gtk_main ()。 GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT)。 //當(dāng)窗口clicked時(shí), gtk_widget_destroy 就會(huì)被調(diào)用。 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 10)。 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 10)。 gtk_widget_show (vbox)。 vbox = gtk_vbox_new (FALSE, 10)。 gtk_container_set_border_width (GTK_CONTAINER (window), 20)。 //監(jiān)聽(tīng)窗口的destroy事件。 window = gtk_window_new (GTK_WINDOW_TOPLEVEL)。 //父進(jìn)程 Parent //由于父進(jìn)程需要顯示全部子進(jìn)程PID,所以這里直接用參數(shù)畫(huà)窗口 } }②調(diào)用GTK顯示窗體函數(shù)模塊的結(jié)構(gòu):void show(int argc,char *argv[ ],char *title ) { gtk_init (amp。 //第一個(gè)子進(jìn)程 Child 1 show(argc,argv,This is Child 1)。 //判斷目的文件時(shí)候能創(chuàng)建和寫(xiě)入 return 0。 return 0。在這個(gè)基本功能之外,需要增加程序的健壯性,具體有以下幾個(gè)方面: ②安裝 等開(kāi)發(fā)相關(guān)的庫(kù)文件: aptget install gnomecoredevel ③安裝GTK核心組件: aptget install 3 設(shè)計(jì)過(guò)程 設(shè)計(jì)一:掌握Linux操作系統(tǒng)的使用方法 內(nèi)容要求(1)編一個(gè)C程序,其內(nèi)容為實(shí)現(xiàn)文件拷貝的功能;(2)編一個(gè)C程序,其內(nèi)容為分窗口同時(shí)顯示三個(gè)并發(fā)進(jìn)程的運(yùn)行結(jié)果。2 環(huán)境搭建 (1)在Windows10上,利用虛擬機(jī)軟件VMware軟件搭建的Linux平臺(tái): ◎Ubuntu LTS ◎內(nèi)核:Linux ubuntu 圖 (2)在添加系統(tǒng)調(diào)用中用到的其他內(nèi)核包: ①下載和當(dāng)前實(shí)驗(yàn)環(huán)境最為接近的系統(tǒng)版本(這點(diǎn)很重要) 使用aptget install 命令, ② ③解壓命令:tar –xjvf –C /usr/src ④解壓后,在/usr/(3)在調(diào)用linux圖形庫(kù)時(shí)需要安裝GTK環(huán)境: ①安裝gcc/g++/gdb/make 等基本編程工具 aptget install buildessential Tip:如果提示由于依賴項(xiàng)不能安裝,需要使用apt的強(qiáng)化版aptitude,這個(gè)工具可以自動(dòng)分析軟件包依賴,系統(tǒng)一般不自帶,需要先安裝,具體過(guò)程是: aptget install aptitude aptitude install buildessential aptitude這個(gè)工具很強(qiáng)大,對(duì)于解決軟件包安裝時(shí)的依賴問(wèn)題很有幫助。從而完成整個(gè)文件的拷貝操作。程序需要的argc參數(shù)個(gè)數(shù)是否滿足要求; ②基于以上幾點(diǎn)和內(nèi)容要求,主要的程序段如下:if(argc!=3) //判斷參數(shù)個(gè)數(shù)是否為3 ,否則返回{ printf(Error in argc!\n)。}if( (ftarget=fopen(argv[2],wb))==NULL ){ printf(Error in open target file!\n)。 ①基本fork()程序,調(diào)用顯示一個(gè)父進(jìn)程和兩個(gè)子進(jìn)程的結(jié)構(gòu)如下: if((pid_1=fork())==0) { printf(Child 1 is running......\n)。 //調(diào)用函數(shù)顯示窗口 } else { printf(Parent is running......\n)。 //初始化工具包并且獲取命令行參數(shù)。 gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER)。//用來(lái)設(shè)定更改窗口標(biāo)題。 //為了顯示構(gòu)件,必須將構(gòu)件放入組裝盒中,并將組裝盒放在窗口內(nèi)。 gtk_container_add (GTK_CONTAINER (window), vbox)。 //顯示PID號(hào) label = gtk_label_new (id_char)。 //顯示PPID號(hào) label = gtk_label_new (id_char)。 //關(guān)閉窗口按鈕 //信號(hào)登記函數(shù),監(jiān)聽(tīng)按鈕的clicked事件。 gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 10)。 gtk_widget_show (window)。(3)系統(tǒng)調(diào)用的功能:文件拷貝。如下所示:asmlinkage int sys_zcycopyfile(const char* s_file, const char* t_file) { const int BUF_SIZE = 512。 mm_segment_t fs。 printk(Error in oen source file!)。 printk(Error in copy file!)。 添加系統(tǒng)調(diào)用號(hào)(4)添加聲明到頭文件 : 填寫(xiě)系統(tǒng)調(diào)用入口表 ③當(dāng)用戶程序需要系統(tǒng)提供服務(wù)的時(shí)候,比如347號(hào)調(diào)用sys_zcycopyfile,就會(huì)通過(guò)系統(tǒng)調(diào)用產(chǎn)生一個(gè)int 0x80的軟中斷,就會(huì)進(jìn)入到系統(tǒng)調(diào)用的入口函數(shù),找到這個(gè)調(diào)用函數(shù)表查找入口函數(shù), sys_zcycopyfile, int sys_zcycopyfile(const char* s_file, const char* t_file) ,從而實(shí)現(xiàn)系統(tǒng)調(diào)用。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1