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

正文內(nèi)容

關(guān)于linux操作系統(tǒng)設計研究畢業(yè)論文-文庫吧資料

2025-06-28 03:50本頁面
  

【正文】 (amp。 if ((schedule_work(amp。 rtcuie_timer_active = 0。 spin_lock_irqsave(amp。}static void rtc_uie_timer(unsigned long data){ struct rtc_device *rtc = (struct rtc_device *)data。rtcirq_lock)。rtcuie_task) == 0) { rtcuie_task_active = 0。rtcuie_timer)。 rtcuie_task_active = 0。 rtc = jiffies + HZ (HZ/10)。 } else if (rtcoldsecs != ) { num = ( + 60 rtcoldsecs) % 60。rtcirq_lock)。tm)。 int err。 return err。 } clear_bit_unlock(RTC_DEV_BUSY, amp。rtcirq_lock)。 struct rtc_time tm。 rtcirq_data = 0。 if (err == 0) { spin_lock_irq(amp。 fileprivate_data = rtc。 if (test_and_set_bit_lock(RTC_DEV_BUSY, amp。 struct rtc_device *rtc = container_of(inodei_cdev, struct rtc_device, char_dev)。include linux/include linux/include linux/include static dev_t rtc_devt。MODULE_DESCRIPTION(RTC class support)。module_exit(rtc_exit)。rtc_idr)。 class_destroy(rtc_class)。 return 0。 rtc_dev_init()。 } rtc_classsuspend = rtc_suspend。t create class\n, __FILE__)。static int __init rtc_init(void){ rtc_class = class_create(THIS_MODULE, rtc)。rtcdev)。rtcops_lock)。 rtcops = NULL。 device_unregister(amp。 rtc_dev_del_device(rtc)。rtcops_lock)。void rtc_device_unregister(struct rtc_device *rtc){ if (get_device(amp。 return ERR_PTR(err)。idr_lock)。rtc_idr, id)。idr_lock)。exit_kfree: kfree(rtc)。rtcdev))。 rtc_proc_add_device(rtc)。 } rtc_dev_add_device(rtc)。rtcdev)。rtcdev)。 rtc_dev_prepare(rtc)。 dev_set_name(amp。alrm)。 !rtc_valid_tm(amp。 if (!err amp。 err = __rtc_read_alarm(rtc, amp。 rtc = rtc_pie_update_irq。 hrtimer_init(amp。 rtc_timer_init(amp。 rtc_timer_init(amp。 INIT_WORK(amp。 timerqueue_init_head(amp。 init_waitqueue_head(amp。 spin_lock_init(amp。 spin_lock_init(amp。 mutex_init(amp。 rtc = rtc_class。 rtcmax_user_freq = 64。 rtcowner = owner。 } rtcid = id。 if (rtc == NULL) { err = ENOMEM。 MAX_ID_MASK。 if (err 0) goto exit。 mutex_unlock(amp。rtc_idr, NULL, amp。idr_lock)。 goto exit。 if (idr_pre_get(amp。 struct rtc_wkalrm alrm。 return 0。 if ( = 0) timekeeping_inject_sleeptime(amp。 } sleep_time = timespec_sub(new_rtc, old_rtc)。rtcdev))。 = 0。tm, amp。 return 0。tm) != 0) { pr_debug(%s: bogus resume time\n, dev_name(amp。tm)。new_system)。rtcdev), CONFIG_RTC_HCTOSYS_DEVICE) != 0) return 0。 struct timespec sleep_time。 struct rtc_time tm。 } return 0。 if ( 2 || = 2) { old_delta = delta。 delta = timespec_sub(old_system, old_rtc)。 if (strcmp(dev_name(amp。 struct rtc_time tm。 defined(CONFIG_RTC_HCTOSYS_DEVICE)static struct timespec old_rtc, old_system, old_delta。}if defined(CONFIG_PM) amp。idr_lock)。rtc_idr, rtcid)。idr_lock)。static void rtc_device_release(struct device *dev){ struct rtc_device *rtc = to_rtc_device(dev)。static DEFINE_MUTEX(idr_lock)。
最后感謝各位評閱老師在百忙之中抽空評閱我的論文。感謝他們不厭其煩地指導我解決了不少項目上的難題,她們積極向上的學習態(tài)度也是我奮斗下去的動力。趙老師教學作風的和劉老師的治學風格都讓我留下了很深的印象。 謝 辭首先,向我的指導老師趙老師和劉老師表示感謝,感謝老師們一直以來對我的關(guān)懷和悉心指導,并在完成畢業(yè)設計的過程中讓我體會到了也學到了很多。由于時間的原因,本文中RTC字符驅(qū)動的程序設計還是有些簡單,在以后的學習工作中還需要進一步改善。并采用了模塊化的指導設計方法開發(fā)設備驅(qū)動,提高了程序的可讀性和可移植性。圖72 運行過程結(jié)果如圖73:圖73 運行結(jié)果 第8章 結(jié)論本論文中對Linux的發(fā)展跟現(xiàn)狀進行了了解,還在對課題基于Linux操作系統(tǒng)下RTC驅(qū)動開發(fā)的基礎上對Linux內(nèi)核進行了大致的分析,并在課題最后進行了相對于RTC驅(qū)動模塊的應用層測試軟件的編寫。 實際運行及結(jié)果,運行過程如圖72:用insmod裝載模板。 運行步驟,如圖71。= =.releaseopenfile,.openioctl,.unlocked_ioctlpoll, .pollread, .readnull, .llseekTHIS_MODULE,=file_operationsconstrtc_foperations rtc基本的文件操作: 定義操作函數(shù) Init_rtc首先創(chuàng)建了一個類rtc[12]。0。 rtc_dev_init()。 err = alloc_chrdev_region(amp。rtc)。=__initstatic}。intintintintintintintint{int RTC程序?qū)崿F(xiàn) RTC基本數(shù)據(jù)結(jié)構(gòu)struct rtc_time 結(jié)構(gòu)體struct這種方式更快,也節(jié)省了內(nèi)核資源,控制了內(nèi)核的大小,而模塊一旦被插入內(nèi)核,就和其他被直接初始化到內(nèi)核中的模塊一樣了。 case RTC_PIE_ON: ... break。 case RTC_SET_TIME: ... break。圖61 cmd參數(shù)構(gòu)造命令編號的宏:_IO() 給沒有參數(shù)的命令;_IOR() 給從驅(qū)動中讀數(shù)據(jù)的命令;_IOW() 給寫入數(shù)據(jù)的命令;_IOWR() 用于雙向傳輸。 ⑶ file_operations的主要成員:struct module *xxx: 指向模塊本身open: 提供打開設備的函數(shù)接口;release:提供關(guān)閉設備的函數(shù)接口;read: 實現(xiàn)從設備上讀取數(shù)據(jù)的函數(shù)接口;write: 實現(xiàn)向設備上寫入數(shù)據(jù)的函數(shù)接口;ioctl: I/O控制函數(shù);llseek: 定位讀寫指針位置并把他們輸出出來; ⑷ ioctl函數(shù)為設備驅(qū)動程序執(zhí)行用戶空間的“命令”提供了一個特有的接口用來設置或者讀取設備的具體信息。 /*不常用*/ }。 /*不常用*/ dev_t xxx。 /*所屬模塊*/ struct file_operations *xxx。 ⑴ cdev 結(jié)構(gòu)體struct cdev { struct kobject xxx。在該設備號不再使用之后,釋放并刪除它,以節(jié)約內(nèi)核資源。 ⑸ 動態(tài)分配主設備號:include linux/ //這是Linux內(nèi)核中有關(guān)設備號的頭文件int alloc_chrdev_resion(dev_t *,unsigned int ,unsigned int ,char *rtc);這是內(nèi)核自動分配一個設備好給rtc。//獲得主設備號MINOR(dev_t rtc)。 ⑶ 設備編號的內(nèi)部表達? dev_t類型(32位,其中主設備號12位,次設備號20位): 是屬于Linux內(nèi)核編程的專有類型,用來保存設備編號。 ⑵ 次設備號由內(nèi)核使用,用于正確確定設備文件所指的設備。 ⑴ 向內(nèi)核確定主該設備的主次設備號 ⑵ 實現(xiàn)字符驅(qū)動程序:? 填充file_operations結(jié)構(gòu)體? 實現(xiàn)模塊加載函數(shù)用以注冊字符設備? 實現(xiàn)模塊卸載函數(shù)完成模塊的釋放和刪除 ⑶ 創(chuàng)建設備文件節(jié)點、次設備號[11] ⑴ 主設備號是內(nèi)核識別一個設備的標識。 模塊加載函數(shù):static int __init initialization_rtc(void){ /* 初始化代碼 */}module_init(initialization_rtc)。 ⑸ EXPORT_SYMBOL()——模塊導出符號(可選) 這個函數(shù)括號內(nèi)也放置著數(shù)量不等參數(shù),也就是符號(可以是函數(shù)或變量),而在這個模塊結(jié)束之后,其他模塊就可以通過這個符號使用本模塊中這些到處的參數(shù),變量或函數(shù)。 ⑶ MODULE_LICENSE()——模塊許可證聲明(必須) 這一段函數(shù)就是描述內(nèi)核將要加載的模塊的工作權(quán)限,如果在加載模塊時不聲明LICENSE,內(nèi)核就會報警:kernel tainted,意思就是內(nèi)核被污染。insmod 將模塊動態(tài)加載到正在運行內(nèi)核;rmmod 程序移除模塊;Linux內(nèi)核模塊的程序結(jié)構(gòu): ⑴ module_init()——加載模塊函數(shù)(必須) 使用insmod命令加載模塊時,內(nèi)核就會執(zhí)行該模塊的加載函數(shù),也就是說這就是整個模塊函數(shù)的入口,就是通過它來完成模塊的初始化相關(guān)工作。I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是開始信號、結(jié)束信號和應答信號[9]。本文就是介紹基于I2C總線的Linux字符設備驅(qū)動。 I2C總線簡介I2C總線是一種由Philips公司開發(fā)的兩線式串行總線標準,用于鏈接微控制器及其外圍設備。另外一鐘新接口是基于Linux設備驅(qū)動程序的。而在運行期間,內(nèi)核以軟件的形式維護系統(tǒng)的當前時間與日期,并在關(guān)機或必要的時候?qū)r間回寫RTC芯片,由它自主維護。Linux內(nèi)核就把RTC芯片當作“離線”的時間與日期維護器。開發(fā)板的時間系統(tǒng)可以分成兩種,分別是系統(tǒng)時間和硬件時間。 ⑼/modules 該目錄存放了已建好的、可動態(tài)加載的模塊,裁剪內(nèi)核的主要工作目標。⑺ /ipc 該目錄包含了核心進程間的通信代碼,是Linux多任務特性具體實現(xiàn)。 ⑸ /kernel 該內(nèi)核管理的核心代碼放在這里,也就是通常所說的內(nèi)核的具體實現(xiàn),一般除了內(nèi)核裁剪都不需要對它進行操作。⑶ /net 該目錄里不用說就是核心的網(wǎng)絡層代碼。其中又把設備驅(qū)動進一步劃分成幾類,如字符設備驅(qū)動,塊設備驅(qū)動等。Linux的內(nèi)核的目錄包含很多個文件夾,分別用于實現(xiàn)不同的功能(如圖41)[7]。我選擇的Boot Loa
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1