当前位置: 首页 > news >正文

松江网站建设漳州网站建设优化推广

松江网站建设,漳州网站建设优化推广,免费的wordpress主题好,校园门户网站建设项目技术支持目录 一、设备类型 二、模块 构建模块 安装模块 载入模块 一、设备类型 在 Linux 以及 Unix 系统中#xff0c;设备被分为以下三种类型#xff1a; 块设备#xff08;blkdev#xff09;#xff1a;以块为寻址单位#xff0c;块的大小随设备的不同而变化#xff1…目录 一、设备类型 二、模块 构建模块 安装模块 载入模块 一、设备类型 在 Linux 以及 Unix 系统中设备被分为以下三种类型 块设备blkdev以块为寻址单位块的大小随设备的不同而变化块设备通常支持重定位seeking操作也就是对数据的随机访问。如硬盘、蓝光光碟和 Flash 这样的存储设备都是块设备。块设备是通过称为 ”块设备节点“ 的特殊文件来访问的并且通常被挂载为文件系统。字符设备cdev不可寻址只提供数据的流式访问即一个一个字符或字节地访问。如键盘、鼠标和打印机等都是字符设备。字符设备是通过称为 ”字符设备节点“ 的特殊文件来访问的与块设备不同应用程序通过直接访问设备节点与字符设备交互。网络设备有时也被称为以太网设备ethernet devices提供了对网络的访问这是通过一个物理适配器和一种特定的协议进行的。它不是通过设备节点来访问而是通过套接字 API 这样的特殊接口来访问。 并不是所有设备驱动都表示物理设备。有些设备驱动是虚拟的仅仅提供访问内核功能而已。这种设备被称为 ”伪设备“ (pseudo device)如内核随机数发生器/dev/random、空设备/dev/null等。 二、模块 尽管 Linux 是 ”单块内核“monolithic的操作系统但 Linux 内核时模块化组成的它允许内核在运行时动态地向其中安装或卸载一个模块。 下面编写一个 HelloWorld的模块程序 #include linux/init.h #include linux/module.h #include linux/kernel.h/* 初始化函数当模块装载时被调用 */ static int hello_init(void) {printk(KERN_ALERT Module installed!\n);return 0; }/* 退出函数当模块卸载时调用 */ static void hello_exit(void) {printk(KERN_ALERT Module removed!\n); }module_init(hello_init); module_exit(hello_exit);MODULE_LICENSE(GPL);这是一个非常非常简单的内核模块程序hello_init() 是模块的入口点它通过 module_init() 例程注册到系统中在内核装载时调用。这个 init 函数仅仅打印了一行简单的信息但在实际的模块中该函数还会注册资源、初始化硬件、分配数据结构等。而 hello_exit() 函数负责对 init 函数以及在模块生命周期过程中所作的一切事情进行撤销与清理工作。 构建模块 下面开始构建模块。有两种方法来构建模块 第一种是放在内核源代码树中。这样构建的模块会正式成为 Linux 内核中的一部分设备驱动程序存放在内核源码树根目录下的 /drivers 的子目录下根据不同的设备类型字符设备存放于 /drivers/char块设备存放于 /drivers/block 等。 假如我们编写的模块类型是字符设备那就把模块文件移动到 /drivers/char 目录下然后往 /drivers/char 目录下的 Makefile 文件中添加一行 obj-m hello.o 然后编译内核重新装载内核即可。 第二种是放在内核代码外。将 hello.c 放到 /drivers/char 目录下后在内核代码外创建一个 Makefile 文件内容如下 # -C 后为你的内核源码树所在位置 # make -C /root/linux_kernel_learning/linux-2.6 modulesobj-m hello.o然后执行如下指令来构建模块  make -C /root/linux_kernel_learning/linux-2.6 SUBDIRS$PWD modules 安装模块 编译后模块将被装入到目录 /lib/modules/version/kernel/drivers/char 下 下面的构建命令用来安装编译的模块在内核源码树目录下执行 make modules_install 载入模块 载入一个模块 insmod hello.ko 卸载一个模块 rmmod hello.ko
http://www.zqtcl.cn/news/19391/

相关文章:

  • 微商城网站开发制作兰州网站建设博客
  • 巴中做网站的公司零基础学室内设计
  • 商城式网站具备哪些功能吗怎么设置自己做的网站吗
  • 网站开发考试题网站开发与维护介绍
  • 高阳县做企业网站做十个网站
  • 移动4G网站建设修改目录wordpress
  • 江苏天德建设工程有限公司网站外贸网站建设资料
  • 东莞手机网站建设怎么选seo网络推广专员
  • 网站新站整站排名甘肃住房与城乡建设部网站
  • 网站建设有限公司六安百度推广公司
  • 如果网站没有做icp备案吗备案域名批量查询
  • wordpress注册邮箱配置windows优化大师收费吗
  • 拍卖网站模版wordpress 屏蔽ftp
  • 网站宣传平台合肥正规的seo公司
  • 高端建站的公司昆明网络建设
  • 纪检网站建设计划企业年金是1比3还是1比4
  • 网站建设工具哪个好用手机做照片下载网站
  • 搭建网站的软件网站如何做词
  • 网站建设的财务计划书wordpress邮件设置
  • 网站成功秘诀架设网站 软件
  • 昆明seo公司网站网站开发费用明细
  • 建立一个个人介绍的网站网店怎么做
  • 大唐网站设计天津艺匠做网站怎么样
  • 重庆南昌网站建设亚马逊网站托管怎么做
  • app网站欣赏网站建设合伙合同
  • 营销网站更受用户欢迎的原因是p2p网贷网站建设
  • 哪个网站做马代路线好扁平化企业网站模板
  • 怀远县建设局网站wordpress取消邮件
  • asp系统网站源码下载网站软件免费安装
  • 一个网站两个页面湘潭知名网站建设