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

多人运动免费正能量网站链接网站上的支付接口怎么做

多人运动免费正能量网站链接,网站上的支付接口怎么做,大理网站建设滇icp备,学做吃的网站一、Linux内核对设备的分类 linux的文件种类: -:普通文件 d:目录文件 p:管道文件 s:本地socket文件 l:链接文件 c:字符设备 b:块设备Linux内核按驱动程序实现模型框架的不同&#…

一、Linux内核对设备的分类

linux的文件种类:

-:普通文件
d:目录文件
p:管道文件
s:本地socket文件
l:链接文件
c:字符设备
b:块设备

Linux内核按驱动程序实现模型框架的不同,将设备分为三类:

字符设备:按字节流形式进行数据读写的设备,一般情况下按顺序访问,数据量不大,一般不设缓存
块设备:按整块进行数据读写的设备,最小的块大小为512字节(一个扇区),块的大小必须是扇区的整数倍,Linux系统的块大小一般为4096字节,随机访问,设缓存以提高效率
网络设备:针对网络数据收发的设备

总体框架图:
在这里插入图片描述

Linux系统驱动总体框图
二、设备号------内核中同类设备的区分

内核用设备号来区分同类里不同的设备,设备号是一个无符号32位整数,数据类型为dev_t,设备号分为两部分:

主设备号:占高12位,用来表示驱动程序相同的一类设备
次设备号:占低20位,用来表示被操作的哪个具体设备

应用程序打开一个设备文件时,通过设备号来查找定位内核中管理的设备。

MKDEV宏用来将主设备号和次设备号组合成32位完整的设备号,用法:

dev_t devno;
int major = 251;//主设备号
int minor = 2;//次设备号
devno = MKDEV(major,minor);

MAJOR宏用来从32位设备号中分离出主设备号,用法:

dev_t devno = MKDEV(249,1);
int major = MAJOR(devno);

MINOR宏用来从32位设备号中分离出次设备号,用法:

dev_t devno = MKDEV(249,1);
int minor = MINOR(devno);

如果已知一个设备的主次设备号,应用层指定好设备文件名,那么可以用mknod命令在/dev目录创建代表这个设备的文件,即此后应用程序对此文件的操作就是对其代表的设备操作,mknod用法如下:

@ cd /dev
@ mknod 设备文件名 设备种类(c为字符设备,b为块设备) 主设备号 次设备号 //ubuntu下需加sudo执行

在应用程序中如果要创建设备可以调用系统调用函数mknod,其原型如下:

int mknod(const char *pathname,mode_t mode,dev_t dev);
pathname:带路径的设备文件名,无路径默认为当前目录,一般都创建在/dev下
mode:文件权限 位或 S_IFCHR/S_IFBLK
dev:32位设备号
返回值:成功为0,失败-1

三、申请和注销设备号

字符驱动开发的第一步是通过模块的入口函数向内核添加本设备驱动的代码框架,主要完成:

申请设备号
定义、初始化、向内核添加代表本设备的结构体元素

int register_chrdev_region(dev_t from, unsigned count, const char *name)
功能:手动分配设备号,先验证设备号是否被占用,如果没有则申请占用该设备号
参数:
from:自己指定的设备号
count:申请的设备数量
name:/proc/devices文件中与该设备对应的名字,方便用户层查询主设备号
返回值:
成功为0,失败负数,绝对值为错误码

int alloc_chrdev_region(dev_t *dev,unsigned baseminor,unsigned count, const char *name)
功能:动态分配设备号,查询内核里未被占用的设备号,如果找到则占用该设备号
参数:
dev:分配设备号成功后用来存放分配到的设备号
baseminior:起始的次设备号,一般为0
count:申请的设备数量
name:/proc/devices文件中与该设备对应的名字,方便用户层查询主次设备号
返回值:
成功为0,失败负数,绝对值为错误码

分配成功后在/proc/devices 可以查看到申请到主设备号和对应的设备名,mknod时参数可以参考查到的此设备信息

void unregister_chrdev_region(dev_t from, unsigned count)
功能:释放设备号
参数:
from:已成功分配的设备号将被释放
count:申请成功的设备数量

释放后/proc/devices文件对应的记录消失

http://www.yayakq.cn/news/886703/

相关文章:

  • 北京学设计去哪个网站好jsp网站开发的使用表格
  • 网站页头页尾怎么做浏览器缓冲设置交网站建设 域名计入什么科目
  • 百度引流免费推广怎么做太原seo团队
  • 网站维护的方式有哪几种阳江网络公司
  • 泰州泛亚信息做网站怎么样中国铁路总公司建设管理部网站
  • 网站做微信公众号范县网站建设电话
  • 怎么样建设一个网上教学网站qq空间的网站
  • 12388网站建设管理情况重庆网站制作工作室
  • 东莞凤岗网站建设制作wordpress留言代码
  • vs网站中的轮播怎么做四川成都旅游必去十大景点推荐
  • 网站建设后备案多少钱建设专业网站平台
  • 2019年建设银行安徽招聘网站做音响的是哪个网站
  • 中国小说网站策划与建设试述建设一个网站的具体步骤
  • 哪个网站微博做的最好自然堂网站建设情况
  • 甘孜网站建设北京做电商网站设计
  • 对网站外部的搜索引擎优化广州自助网站搭建建站公司
  • 万荣做网站jq网站特效插件
  • 网站推广指的是什么农业公园网站建设
  • 广东佛山网站建设电商主图一键生成免费
  • 免费发布信息网站做外贸生意上国外网站
  • 建设网站需要花费python app开发
  • 动易网站首页制作河南比较出名的外贸公司
  • 网站建设费用评估长沙营销网站建站公司
  • 中国都有哪些网站猪八戒网可以做福彩网站吗
  • thinkphp做网站好吗网站如何添加统计代码
  • 免费阅读小说大全下载常用seo站长工具
  • 网络商城网站怎样做关键词优化正确设置网站keywords
  • 高校校园网网站内容如何建设网站运营的主要工作内容
  • 网站图片上传却不显示不出来怎么注册个人网站
  • 建材做网销哪个网站好教育局建设网站的必要性