前言
第1章 Linux設備驅動程序模型 1
1.1 設備驅動程序基礎 1
1.1.1 驅動程序的概念 1
1.1.2 驅動程序的載入方式 2
1.1.3 編寫可載入模塊 3
1.1.4 帶參數的可載入模塊 5
1.1.5 設備驅動程序的分類 6
1.2 字元設備驅動程序原理 7
1.2.1 file_operations結構 7
1.2.2 使用register_chrdev注冊字元
設備 9
1.2.3 使用cdev_add注冊字元設備 11
1.2.4 字元設備的讀寫 13
1.2.5 ioctl介面 14
1.2.6 seek介面 16
1.2.7 poll介面 18
1.2.8 非同步通知 22
1.3 proc文件系統 24
1.3.1 proc文件系統概述 24
1.3.2 seq_file機制 25
1.3.3 使用proc文件系統 27
1.4 塊設備驅動程序 32
1.4.1 Linux塊設備驅動程序原理 32
1.4.2 簡單的塊設備驅動程序實例 35
1.5 網路設備驅動程序 39
1.5.1 網路設備的特殊性 39
1.5.2 sk_buff結構 40
1.5.3 Linux網路設備驅動程序架構 42
1.5.4 虛擬網路設備驅動程序實例 46
1.6 Linux 2.6設備管理機制 50
1.6.1 kobject和kset 50
1.6.2 sysfs文件系統 51
1.6.3 設備模型層次 52
1.6.4 platform的概念 54
第2章 Linux內核同步機制 58
2.1 鎖機制 58
2.1.1 自旋鎖 58
2.1.2 讀寫鎖 60
2.1.3 RCU 61
2.2 互斥 64
2.2.1 原子操作 64
2.2.2 信號量 65
2.2.3 讀寫信號量 67
2.3 等待隊列 68
2.3.1 等待隊列原理 68
2.3.2 阻塞式I/O實例 68
2.3.3 完成事件 70
2.4 關閉中斷 71
第3章 內存管理與鏈表 72
3.1 物理地址和虛擬地址 72
3.2 內存分配與釋放 72
3.3 IO埠到虛擬地址的映射 73
3.3.1 靜態映射 73
3.3.2 動態映射 75
3.4 內核空間到用戶空間的映射 76
3.4.1 內核空間到用戶空間的地址
映射原理 76
3.4.2 mmap地址映射實例 78
3.5 內核鏈表 80
3.5.1 Linux內核中的鏈表 80
3.5.2 內核鏈表實例 81
第4章 延遲處理 83
4.1 內核線程 83
4.2 軟中斷機制 85
4.2.1 軟中斷原理 85
4.2.2 tasklet 87
4.3 工作隊列 89
4.3.1 工作隊列原理 89
4.3.2 工作隊列實例 91
4.4 內核時間 92
4.4.1 Linux中的時間概念 92
4.4.2 Linux中的延遲 93
4.4.3 內核定時器 93
第5章 簡單設備驅動程序 96
5.1 寄存器訪問 96
5.1.1 S3C6410地址映射 96
5.1.2 S3C6410看門狗驅動程序實例 98
5.1.3 S3C6410蜂鳴器驅動程序實例 102
5.2 電平控制 107
5.2.1 S3C6410 LED驅動程序實例 107
5.2.2 掃描型S3C6410按鍵驅動
程序實例 109
5.3 時序產生 112
5.3.1 時序圖原理 112
5.3.2 AT24C02晶元原理 112
5.3.3 AT24C02驅動程序開發實例 115
5.4 硬中斷處理 123
5.4.1 硬中斷處理原理 123
5.4.2 中斷型S3C6410按鍵驅動
程序實例 127
5.5 Linux I/O埠控制 132
5.5.1 Linux I/O埠讀寫 132
5.5.2 在應用層訪問Linux I/O
埠 133
5.5.3 /dev/port設備 134
第6章 深入Linux內核 135
6.1 嵌入式Linux系統構成 135
6.2 Linux內核導讀 136
6.2.1 Linux內核組成 136
6.2.2 Linux的代碼結構 137
6.2.3 內核Makefile 138
6.2.4 S3C6410硬體初始化 139
6.3 Linux文件系統 141
6.3.1 虛擬文件系統 141
6.3.2 根文件系統 143
6.3.3 文件系統載入 143
6.3.4 ext3文件系統 145
6.4 Flash文件系統 145
6.4.1 MTD設備 145
6.4.2 MTD字元設備 148
6.4.3 MTD塊設備 150
6.4.4 cramfs文件系統 153
6.4.5 JFFS2文件系統 153
6.4.6 YAFFS文件系統 155
6.4.7 文件系統總結 156
6.5 Linux內核移植 156
6.5.1 體系配置 156
6.5.2 添加yaffs2 157
6.5.3 Nand flash驅動程序移植 157
6.5.4 配置啟動參數 159
6.5.5 移植RTC驅動程序 160
6.6 根文件系統製作 162
6.6.1 Busybox 162
6.6.2 shell基礎 165
6.6.3 根文件系統構建實例 166
6.7 udev模型 167
6.7.1 udev模型原理 167
6.7.2 mdev的使用 167
第7章 I2C匯流排驅動程序 169
7.1 Linux的I2C驅動程序架構 169
7.1.1 I2C適配器 169
7.1.2 I2C演算法 170
7.1.3 I2C驅動程序結構 170
7.1.4 I2C從設備 171
7.1.5 i2c-dev設備層 171
7.2 Linux I2C驅動程序開發 174
7.2.1 S3C2410X的I2C控制器 174
7.2.2 S3C2410X的I2C驅動程序
分析 175
7.3 S3C2410的I2C訪問實例 182
7.4 I2C客戶端驅動程序 185
第8章 TTY與串口驅動程序 190
8.1 TTY概念 190
8.2 Linux TTY驅動程序體系 190
8.2.1 TTY驅動程序調用關系 190
8.2.2 TTY驅動程序原理 191
8.3 線路規程 194
8.4 串口驅動程序與TTY 196
8.4.1 串口設備驅動程序原理 196
8.4.2 S3C6410的串口驅動程序
實例 199
8.5 TTY應用層 202
第9章 網路設備驅動程序 205
9.1 DM9000網卡驅動程序
開發 205
9.1.1 DM9000原理 205
9.1.2 DM9000X驅動程序分析 207
9.1.3 DM9000網口驅動程序移植 215
9.2 NFS根文件系統搭建 219
9.2.1 主機配置 219
9.2.2 NFS根文件系統搭建實例 220
9.3 netlink Socket 224
9.3.1 netlink機制 224
9.3.2 netlink應用層編程 228
9.3.3 netlink驅動程序實例 229
第10章 framebuffer驅動程序 232
10.1 Linux framebuffer驅動
程序原理 232
10.1.1 framebuffer核心數據結構 232
10.1.2 framebuffer操作介面 234
10.1.3 framebuffer驅動程序的文件
介面 236
10.1.4 framebuffer驅動程序框架 236
10.2 S3C6410 顯示控制器 238
10.3 S3C6410 LCD驅動程序實例 243
10.4 framebuffer應用層 250
10.5 Qt4界面系統移植 251
第11章 輸入子系統驅動程序 253
11.1 Linux輸入子系統概述 253
11.1.1 input_dev結構 253
11.1.2 輸入事件 255
11.2 input_handler 256
11.2.1 Input Handler層 256
11.2.2 常用的Input Handler 259
11.3 輸入設備應用層 261
11.4 鍵盤輸入設備驅動程序
實例 262
11.5 event介面 267
11.6 觸摸屏驅動程序實例 270
11.6.1 S3C6410觸摸屏控制器 270
11.6.2 S3C6410觸摸屏驅動程序
設計 273
11.7 觸摸屏校準 282
11.7.1 觸摸屏校準原理 282
11.7.2 利用TSLIB庫校準觸摸屏 282
第12章 USB驅動程序 284
12.1 USB體系概述 284
12.1.1 USB系統組成 284
12.1.2 USB主機 284
12.1.3 USB設備邏輯層次 285
12.2 Linux USB驅動程序體系 287
12.2.1 USB總體結構 287
12.2.2 USB設備驅動程序 287
12.2.3 主機控制器驅動程序 288
12.2.4 USB請求塊urb 289
12.2.5 USB請求塊的填充 291
12.3 S3C6410 USB主機控制器
驅動程序 292
12.3.1 USB主機控制器驅動程序
分析 292
12.3.2 S3C6410 USB驅動程序
載入 294
12.4 USB鍵盤設備驅動程序
分析 296
12.5 USB Gadget驅動程序 301
12.5.1 Linux USB Gadget驅動程序 301
12.5.2 Linux USB Gadget驅動程序
實例 302
第13章 音頻設備驅動程序 303
13.1 ALSA音頻體系 303
13.2 ALSA驅動層API 304
13.2.1 音效卡和設備管理 304
13.2.2 PCM API 304
13.2.3 控制與混音API 305
13.2.4 AC97 API 306
13.2.5 SOC層驅動 307
13.3 ALSA驅動程序實例 308
13.3.1 S3C6410的AC97控制
單元 308
13.3.2 S3C6410音效卡電路原理 309
13.3.3 S3C6410的數字音頻介面 310
13.3.4 wm9713的數字音頻介面 313
13.4 ALSA音頻編程介面 316
13.4.1 ALSA PCM介面實例 316
13.4.2 ALSA MIDI介面實例 320
13.4.3 ALSA mixer介面實例 321
13.4.4 ALSA timer介面實例 322
第14章 video4linux2視頻
驅動程序 327
14.1 video4linux2驅動程序
架構 327
14.1.1 video4linux2驅動程序的
注冊 327
14.1.2 v4l2_fops介面 331
14.1.3 常用的結構 332
14.1.4 video4linux2的ioctl函數 333
14.2 S3C6410攝像頭驅動程序
分析 333
14.2.1 電路原理 333
14.2.2 驅動程序分析 334
14.3 video4linux2應用層實例 339
第15章 SD卡驅動程序 346
15.1 Linux SD卡驅動程序體系 346
15.1.1 SD卡電路原理 346
15.1.2 MMC卡驅動程序架構 347
15.1.3 MMC卡驅動程序相關
結構 347
15.1.4 MMC卡塊設備驅動程序 350
15.1.5 SD卡主機控制器介面驅動
程序 356
15.2 S3C6410 SD卡控制器驅動
程序分析 360
15.2.1 電路原理 360
15.2.2 S3C6410 SDHCI驅動
程序原理 360
15.2.3 SD卡的載入實例 364
參考文獻 366
❷ 計算機操作系統練習題,求解急啊!!!!!! 有加分!!!
計算機與計算機思維
人工智慧的主要目的是用計算機來代替人的大腦。 選:B
特洛伊木馬程序是偽裝成合法軟體的非感染型病毒 選:A
第二代計算機的主要特徵為:全部使用晶體管,運算速度達到每秒幾十萬次。選:B
計算思維最根本的內容,即其本質是抽象和自動化。 選:A
感測與識別技術包括對信息的編碼、壓縮、加密等。 選:B
計算機軟體的體現形式是程序和文件,它們是受著作權法保護的。但在軟體中體現的
思想不受著作權法保護。 選:A
信息是人類的一切生存活動和自然存在所傳達出來的信號和消息。 選:A
網格計算(Grid Computing)是一種分布式計算。 選:A
第三代計算機的硬體特徵是用中、小規模集成電路代替了分立的晶體管元件。選:A
第一代計算機的程序設計語言是用二進制碼表示的機器語言和匯編語言。 選:A
計算思維說到底就是計算機編程。 選:B
計算思維是一種思想,不是人造物。 選:A
雲計算是傳統計算機和網路技術發展融合的產物,它意味著計算能力也可作為一種商品通過互聯網進行流通。 選:A
計算思維是人象計算機一樣的思維方式。 選:B
小型機的特徵有兩類:一類是採用多處理機結構和多級存儲系統,另一類是採用精減
指令系統。 選:A
大規模集成電路的應用是第四代計算機的基本特徵。 選:A
惡意軟體是故意在計算機系統上執行惡意任務的特洛伊木馬、蠕蟲和病毒。 選:A
信息處理與再生技術包括文字識別、語音識別和圖像識別等。 選:B
對計算機病毒的認定工作,由公安部公共信息網路安全監察部門承擔。 選:A
信息技術(Information Technology, IT)是指一切能擴展人的信息功能的技術。 選:A
計算機系統及計算原理
為了提高計算機的運行速度和執行效率,在現代計算機系統中,引入了流水線控制技術,使負責取指令、分析指令、執行指令的部件串列工作。 選:B
一台計算機能夠識別的所有指令的集合稱為該計算機的指令系統。 選:A
操作系統是系統軟體中最重要的一種,其功能是對計算機系統所有資源進行管理、調度和分配。
選:A
刷新頻率是CRT顯示器的技術指標,指的是屏幕更新的速度。刷新頻率越高,屏幕閃爍就越少。
選:A
ASCII碼用7位二進制編碼,可以表示26個英文字母(大小寫)及42個常用符號,34個控制字元。
選:A
匯編語言的特點是由二進制組成,CPU可以直接解釋和執行。選:B
主頻是指CPU和晶元組的時鍾頻率或工作頻率。選:B
外存和內存相比,具有容量大,速度慢,成本高,持久存儲等特點。 選:B
微型計算機的台式兼容機是自己根據需要選擇各個部件,配置出自己的計算機。選:A
計算的復雜度指的是隨著問題規模的增長,求解所需存儲空間的變化情況。選:B
目前微型計算機中常用的硬碟介面主要有IDE和SATA兩種。其中,IDE是一種串列介面,SATA是一種並行介面。選:B
構成計算機系統的電子元件、機械裝置和線路等可見實體稱為計算機系統的硬體。選:A
聲音信號和視頻信號的數字化處理過程都是采樣→量化→編碼。選:B
Cache主要是解決CPU的高速度和RAM的低速度的匹配問題。選:A
微型計算機外存儲器是指軟盤、硬碟、光碟、移動存儲設備等輔助存儲器。選:A
判斷操作系統及XP操作盤系統使用
LINUX是一個分時操作系統。選:A
格式化U盤是右擊桌面「我的電腦」圖標並選擇格式化命令。選:B
重啟計算機意味著清除內存所有信息,重新把Windows操作系統調入內存。
選:A
剪貼板是內存中開辟的臨時存儲區,可實現 Windows 環境下應用程序之間數據的傳遞和共享。
選:A
文件名中不可以使用「/」這個符號。選:A
打開一個對話框就是啟動一個應用程序。選:B
從回收站清除的文件不藉助其他軟體無法再恢復。選:A
使用DEL鍵刪除文件是進行物理刪除而不是邏輯刪除。選:B
隱藏任務欄右邊的揚聲器是打開控制面板中的「聲音和音頻設備」對話框,去掉「將音量圖標放入任務欄」復選框的勾。選:A
搜索文件時可以按擴展名分類搜索。選:A
我們無法知道CPU使用的情況。選:A
Windows XP 操作系統是單用戶、單任務操作系統。選:B
安裝列印機不僅要把列印機的數據線連接到計算機上,還要加裝該列印機的驅動程序。
選:A
注銷計算機和重新啟動計算機的作用完全相同。選:B
計算機網路及INTERNET應用
分組交換網也叫X.25網。選:A
搜索引擎是一個應用程序。選:B
廣域網是一種廣播網。 選:B
分布式處理是計算機網路的特點之一。選:A
網卡是網路通信的基本硬體,計算機通過它與網路通信線路相連接。 選:A
網路安全的基本需求是信息機密性、完整性、可用性、可控性和不可抵賴性。選:A
Google就是典型的目錄搜索引擎選:B
非對稱密鑰密碼體系也成為公開密鑰密碼體系,即加密解密採用兩個不同的密鑰。選:A
人們通常把體系結構標准化的計算機網路稱為第三代計算機網路。選:A
Yahoo是典型的目錄搜索引擎。選:A
網關又稱協議轉換器,不同類型的區域網相連接的設備。選:A
WWW中的超文本文件是用超文本標識語言寫的。 選:A
數字簽名(Digital Signature)又稱為電子簽名,是對網路上傳輸的信息進行簽名確認的一種方式。
選:A
Internet是計算機網路的網路。選:A
對稱密鑰密碼體系也稱為常規密鑰密碼體系,即加密解密採用兩個不同的密鑰。選:B
辦公信息處理
多種段落或字體格式的集合稱為樣式,Word中內置了多種文字或段落的樣式。用戶只能使用內置的樣式,不能自己創建新樣式。確答案:B
佔位符標示插入對象位置信息的一個特定區域,是版式中預先設定的圖文框。選:B
查找和替換不僅能查找和替換文本中多處相同的文字,而且能查找和替換帶格式的文本,能用非列印字元和通配符等進行復雜的搜索,還能進行智能查找和替換等。選:A
首字下沉的本質是將段落中已選擇的首字轉化為圖形。選:A
在Excel中,對數據列表進行分類匯總以前,必須先對作為分類依據的欄位進行排序
操作。選:A
插入菜單中「新幻燈片」命令的功能是在當前幻燈片之後插入一張新的幻燈片;插入菜單中 「幻燈片副本」命令的功能是在當前幻燈片之前插入一張與當前幻燈片完全一致的幻燈片。
選:B
在Word2003中,調節字元間距時,可以調節中英文之間、中文和數字之間、英文和數字之間的間距。選:A
節是Word的一種排版單位,可以給各節設置不同的頁面格式、文字格式等,並分節進行排版。默認情況下整個文檔就是一個節,可以按需要將文檔分為若干節。選:A
辦公信息通常以文字、聲音、圖形、圖像、視頻等多種形式來表現。選:A
絕對引用在公式移動或復制時,會根據引用單元格的相對位置而變化。選:A
在向Excel工作表的單元格中輸入數據前,可以設置輸入數據的有效性,以防止輸入不合法的數據。
選:A
郵件合並需要有兩個文件,一個是主文件,另一個是數據源文件。選:A
篩選是指集中顯示工作表中滿足條件的記錄,而將不滿足條件的記錄刪除,目的是減少查找范圍,提高操作速度。選:B
可以通過設置版式、使用母版、選擇配色方案和應用設計模板等方法來改變和設置幻燈片的外觀。
選:A
使用自動檢查功能,Word會在輸入文本時將拼寫錯誤用綠色的波浪線標示出來,將語法錯誤用紅色的波浪線標示,很方便地就可以修改輸入中的錯誤。選:B
多媒體技術基礎
語音的頻率范圍主要集中在100Hz~10kHz范圍內。選:A
聲音由頻率和振幅兩個基本參數決定,頻率越高聲音越響亮。選:B
MP3數據壓縮比可以達到20:1以上。選:B
音頻特效常常通過對音頻波形的功率強度、時間上的延時、左右聲道的混疊平衡等進行調整,達到特殊音響效果。選:A
MIDI文件保存的是MIDI設備演奏的樂曲波形數據。選:B
CMYK顏色模型是通過4種基本顏色按不同比例混合來表示各種顏色。選:B
用Photoshop編輯圖片時,避免色彩損失的最佳方法是用Lab模式編輯圖像,再轉換成CMYK模式列印。選:A
數字音頻的特點是動態范圍大,便於編輯和特效處理,但抗干擾能力差。選:B
基於內容的檢索技術研究是多媒體技術研究的重要領域。選:A
模擬信號數字化時,采樣頻率超過信號本身頻率的兩倍以上即可。選:A
視頻是一種動態圖像,動畫也是由動態圖像構成,二者並無本質的區別。選:B
Flash由於使用了矢量方式保存動畫文件,並採用了流式技術,特別適合於網路動畫
製作。選:A
多媒體數據壓縮和解壓縮技術一直是多媒體技術中必須解決的關鍵技術。選:A
音頻、視頻的數字化過程中,量化過程實質上是一個有損壓縮編碼過程,必然帶來
信息的損失。選:A
多媒體技術的集成性是指構成多媒體應用系統的硬體設備由多種產品集成而來。選:B
網頁設計基礎
〈FONT〉...〈/FONT〉是用於設置所包含的文本的字體、大小、顏色等的標記。選:A
CSS技術可以對網頁中的布局元素(如表格)、字體、顏色、背景、鏈接效果和其他
圖文效果實現更加精確的控制。選:A
在Dreamweaver 8.0中不可以直接上傳網站,因此,必須用FTP軟體上傳。選:B
CSS樣式只允許在一個頁面中使用,不可以用於其他多個頁面。選:B
使用布局模式布局頁面實際上是在添加內容前創建布局表格和布局單元格。選:A
單擊導航條上的鏈接,就可以跳轉到相應的頁面進行瀏覽。選:A
框架結構可以實現一個瀏覽器窗口顯示多個網頁的目的。選:A
在網頁中,HTML的<embed>標簽用於製作滾動字幕。 選:B
HTML語言的標記碼是由Web瀏覽器解釋的。選:A
在一對<CAPTION>標記中是定義表格標題。選:A
Web瀏覽器自身能解釋聲音和視頻文件。選:B
在使用框架設計網頁時,含有n個框架的結構將產生n個網頁文件。選:B
HTML語言中的<HEAD>...</HEAD>標記碼的作用是通知瀏覽器該文件含有HTML標記碼。
選:B
在 Web 上常用的圖像格式只包括GIF、JPEG和DWG三種。選:B
將一個網站包含的多個頁面文件、圖片等信息關聯起來的集合叫做站點。選:A
❸ 初學編程,大家幫忙看下這道c語言題怎麼做萬分感謝
第一題審題關鍵:題目中的轉換規則就是字母在數組中第一次出現的順序(順序是從0開始自增)。
(注意數字是自增數(重復字母不自增,不同字母才自增),不是第一次出現的下標,因為題目有條件:使用數字的最大值等於轉換規則的數目-1)
因此代碼需要實現以下功能:
一、數組輸入,需要有驗證(驗證輸入的是否是小寫,可嵌套循環判斷)。
二、遍歷數組,生成規則列表,可用數組char B[10]和int C[10]來記錄規則,B數組是字母,C是該字母對應的順序(順序用變數自增)。比如數組char A[10]={a,b,a,d,e,f,d,g,j,k};循環每個元素,和數組B中對比,存在就跳過,不存在就將該字母記錄到B中,並將順序變數自增後記錄到C數組對應的下標元素。
三、循環AB兩個數組,通過對比,把數組A中元素替換成對應C中數字(或用新數組a來保存替換結果,原因見下)。
(注意:A是字元數組,c是整型數組,把數字直接存放到A,列印輸出的時候按整型列印,實際就是把數字當成ASCII碼保存了,列印數字就列印ASCII碼。或者一開始就把A定義成字元串數組,最後把數字用ltoa()轉換成字元串再存放到A中,列印用%s格式列印)。
如要接第二題整型a數組,這里可直接把對比結果保存在int a[10]數組中(和原數組A分開)。這樣a可直接用於第二題。
第二題審題:根據上題的a內容定義n個數組(n=a中最大值-a中最小值+1),之後按照題目要求填充這幾個數組,最後列印即可