前言
第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),之后按照题目要求填充这几个数组,最后打印即可