在讲述文件映射的概念时,不可避免的要牵涉到虚存(SVR 4的VM).实际上,文件映射是虚存的中心概念, 文件映射一方面给用户提供了一组措施,好似用户将文件映射到自己地址空间的某个部分,使用简单的内存访问指令读写文件;另一方面,它也可以用于内核的基本组织模式,在这种模式种,内核将整个地址空间视为诸如文件之类的一组不同对象的映射.中的传统文件访问方式是,首先用open系统调用打开文件,然后使用read...
分类:
系统相关 时间:
2016-06-24 16:17:00
阅读次数:
353
作为一个驱动作者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的许多地方的竞争是如此得强烈, 以至于甚至一点用作设备控制固件的 EEPROM 的成本制造商都不愿意花费. 因此固件发布在随硬件一起的一张 CD 上, 并且操作系统负责传送固件到设备自身.
硬件越来越复杂,硬件的许多功能使用了程序实现,与直接硬件实现相比,固件拥有处理复杂事物的灵活性和便于升...
分类:
系统相关 时间:
2016-06-24 16:14:01
阅读次数:
202
回顾一下USB的相关知识
USB(Universal Serial Bus)总线又叫通用串行外部总线,它是20世纪90年代发展起来的。USB接口现在得到了广泛的应用和普及,现在的PC机中都带有大量的USB接口。它最大的特点就是方便通用、支持热插拔并且可以在一个接口上插上多个设备。当设备用电量小的时候,它还可以充当电源。它的众多优点使得它得到了广泛的应用。
在...
分类:
系统相关 时间:
2016-06-24 16:13:43
阅读次数:
319
在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音播放等,但对USB主机来说,它与所有USB设备的接口都是一致的。一个USB设备由3个功能模块组成:USB总线接口、USB逻辑设备和功能单元:
a -- 这里的USB总线接口指的是USB设备中的串行接口引擎(SIE);
b -- USB逻辑设备被USB系统软件看作是一个端点的集合;
c -- 功能单元被客户软...
分类:
系统相关 时间:
2016-06-24 16:15:39
阅读次数:
328
设备驱动程序是操作系统内核和机器硬件之间的接口,由一组函数和一些私有数据组成,是应用程序和硬件设备之间的桥梁。在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。
设备驱动程序是内核的一部分,主要完成以下功能:对设备的初始化和释放;把数据从内核传送到硬件设备和从硬件设备读取数据;读取应用程序数据传送给设备文件和回送应用程序请求的数据;检测和...
分类:
系统相关 时间:
2016-06-24 16:14:49
阅读次数:
271
参考2.6.14版本中的driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分:驱动加载部分、probe部分、open部分、urb回调函数处理部分。
一、驱动加载部分
[cpp] view
plain copy
static int __init usb_mouse_init(void)
{
...
分类:
系统相关 时间:
2016-06-24 16:14:39
阅读次数:
300
Spac5xx的实现是按照标准的USB VIDEO设备的驱动框架编写(其具体的驱动框架可参照/usr/src/linux/drivers/usb/usbvideo.c文件),整个源程序由四个主体部分组成:
设备模块的初始化模块和卸载模块,上层软件接口模块,数据传输模块。
具体的模块分析如下:
一、初始化设备模块
该驱动采用了显式的模块初始化和消...
分类:
系统相关 时间:
2016-06-24 16:13:53
阅读次数:
324
前面学习了USB驱动的一些基础概念与重要的数据结构,那么究竟如何编写一个USB 驱动程序呢?编写与一个USB设备驱动程序的方法和其他总线驱动方式类似,驱动程序把驱动程序对象注册到USB子系统中,稍后再使用制造商和设备标识来判断是否安装了硬件。当然,这些制造商和设备标识需要我们编写进USB
驱动程序中。
USB 驱动程序依然遵循设备模型 —— 总线、设备、驱动。和I2C 总线设备驱动编...
分类:
系统相关 时间:
2016-06-24 16:14:24
阅读次数:
244
前面学习了SDIO接口的WiFi驱动,现在我们来学习一下USB接口的WiFi驱动,二者的区别在于接口不同。而USB接口的设备驱动,我们前面也有学习,比如USB摄像头驱动、USB鼠标驱动,同样都符合LinuxUSB驱动结构:
USB设备驱动(字符设备、块设备、网络设备)
...
分类:
系统相关 时间:
2016-06-24 16:11:49
阅读次数:
314
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpu...
分类:
系统相关 时间:
2016-06-24 16:09:13
阅读次数:
267
linux yum命令详解yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好...
分类:
系统相关 时间:
2016-06-24 15:51:37
阅读次数:
229
1.进程进程(Process)是计算机已运行程序的实体。程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。用户下达运行程序的命令后,就会产生进程。同一程序可产生多个进程(一对多关系),以允许同时有多位用户运行同一程序,却不会相互冲突。进程需要一些资源才能完成工作,如CPU使用时间、存储器、文件以及I/O设备,且为依序逐一进行,也就是任何时间内仅能运行一项进程。通常进程有如下5种状态,其中前...
分类:
系统相关 时间:
2016-06-24 15:51:23
阅读次数:
320
1. 下面的网络协议中,面向连接的的协议是: A 。
A 传输控制协议 B 用户数据报协议 C 网际协议 D 网际控制报文协议
2. 在/etc/fstab文件中指定的文件系统加载参数中, D 参数一般用于CD-ROM等移动设备。
A defaults B sw C rw和ro D noauto...
分类:
系统相关 时间:
2016-06-24 15:47:26
阅读次数:
346
我们接着博文《玩转Eclipse开发工具(一)》来继续说。
三Eclipse基本使用
(1)使用Eclipse创建Java项目、包、类
创建项目、包与类是一个整体的过程,在Eclipse开发工具中这是密不可分的,过去自己使用记事本习惯了的
话,就必须要知道Eclipse中的类必须存在于项目中,类建议放在某个包中。
新建一个项...
分类:
系统相关 时间:
2016-06-24 15:39:00
阅读次数:
205
Gradient Descent with Large DatasetsLearning With Large Datasets
我们已经知道,得到一个高效的机器学习系统的最好的方式之一是,用一个低偏差(low bias)的学习算法,然后用很多数据来训练它。 下面是一个区分混淆词组的例子:
但是,大数据存在一个问题,当样本容量m=1,000时还行,但是当m=100,000,000呢?请看一下...
分类:
系统相关 时间:
2016-06-24 15:21:15
阅读次数:
194
LRU Cache
Total Accepted: 76226 Total
Submissions: 481333 Difficulty: Hard
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fo...
分类:
系统相关 时间:
2016-06-24 15:19:00
阅读次数:
201
tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句来删选去掉无用的信息。
tcpdump选项说明:
-A 以ASCII格式打印出所有分组,并将链路层的头最小化
-c 在收到指定的数量的分组后,tcpdump就会停止
-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_...
分类:
系统相关 时间:
2016-06-24 15:06:28
阅读次数:
182