logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux那些事儿之我是U盘(24)心锁

如果大家没意见的话,我们继续usb_stor_acquire_resources函数.761至764行,这没啥好说的吧.就是刚才urb申请了之后判断是否申请成功了,如果指针为NULL那么就是失败了.直接返回-ENOMEM.别往下了.767行,哦,又一个家伙闪亮登场了,dev_semaphore,这是一个信号量,在storage_probe的最初始阶段我们曾经见过,当时有这么一句话,这就是调

#linux#面试
Linux那些事儿之我是Hub(13)树,是什么样的树?

同学们,今天我们来讲一棵树.记得小时候我们看白眉大侠>>,记得那段精彩的对白:刀,是什么样的刀?金丝大环刀!剑,是什么样的剑?闭月羞光剑!招,是什么样的招?天地阴阳招!人,是什么样的人?飞檐走壁的人!情,是什么样的情?美女爱英雄!而今天我们要问的是:树,是什么样的树?答:USB设备树.这是怎样一棵树?让我慢慢的道来.苏格拉底曾经说过:为人不识谭浩强,精通内核也枉然.还记得谭浩强大哥

#linux#算法
Linux那些事儿之我是Hub(22)八大重量级函数闪亮登场(六)

在调用usb_new_device之前,2555至2560这一小段,如果说hub已经被撤掉了,那么老规矩,别浪费感情了.否则,把udev赋值给hdev->children数组中的对应元素,也正是从此以后,这个设备才算是真正挂上了这棵大树.Ok,如果status确实为0,(注意,2549刚刚把status赋为了0.)正式调用usb_new_device.   1275 /**   127

#linux
Linux那些事儿之我是U盘(43)迷雾重重的Bulk传输(一)

  2006年的最后一个星期,来到了北京,开始了北漂的生活.和上海不同的是,在这里待了三个月之后,发现竟然没有下过一次雨,难怪日本小孩说:”你们北京小孩真幸福,城外就是大沙漠,出了城就可以骑骆驼看日落了.”不过,今天下雨了,下了大雨,好大好大,一阵阵的闪电,回家的时候下半身都湿了…(天哪,怎么写着写着又往那个方向走去了…算了,我承认我只是一个用下半身思考的男青年.)  很累,但是听着北京不眠夜

#linux
《Linux那些事儿之我是USB》我是U盘(13)设备花名册

storage_probe这个函数挺有意思,总长度不足100行,但是干了许多事情,这就像足球场上的后腰,比如切尔西的马克莱莱,在场上并不起眼,但是却为整个团队做出了卓越的贡献。我们继续看storage_probe的代码:972    mutex_init(&(us->

#linux
Linux那些事儿之我是U盘(大结局)其实世上本有路,走的人多了,也便没了路

  其实信号量这东西,就像北京户口,你占了一个名额,我就可能没有了名额.但是有些事情,没有北京户口你又办不成.比如我满怀壮志的走到医院向医生表达说我希望死了以后可以捐献遗体,可得到的只是医生冷冷的回复,对不起,你没有资格,因为你没有户口.  我们前面说过,Linux中,有信号量,有自旋锁,有互斥锁,自旋锁或者互斥锁从某种意义上来说就只是一种特殊的信号量,即信号量意味着资源数量有限,但这个有限也

#linux
Linux那些事儿之我是Hub(9)While You Were Sleeping(二)

老实说,从函数一个开始的598行直到627行都没有什么可说的.其中需要一提的是,606行,调用usb_buffer_alloc()申请内存,赋给hub->buffer.614行,调用kmalloc()申请内存,赋给hub->status.622行,调用kmalloc()申请内存,赋给hub->descriptor.当然也别忘了这中间的某行,初始化一把互斥锁,hub->status_mutex.以后

#linux
Linux那些事儿之我是Hub(27)电源管理的四大消息

如果真的有一种水可以让你让我喝了不会醉那么也许有一种泪可以让你让我流了不伤悲如果真的有一种硬件可以让你让我用了不耗电那么也许有一种代码可以让你让我看了不得不崩溃这一节涉及电源管理中的一些核心概念,所以你如果可以选择看,也可以选择不看,it’s up to you.883行,令dev.power.power_state.event等于msg.event.现在是时候来讲一讲两样东西了,一个

#linux
Linux那些事儿之我是Hub(21)八大重量级函数闪亮登场(五)

Go go go, fire in the hole!八大函数已经看了一半,剩下一半,Linux十六岁了,十六岁的季节,一半是诗,一半是梦,一首浸透着生命的诗,一个温馨的少年梦.十六岁的天空,一半绚丽,一半深沉,一种缀满五彩缤纷云霞般的绚丽,一种风也洒脱,雨也豪迈的深沉.让我们继续下一半,我知道你和我一样,也感觉到了一些疲倦,这个时候,正是体现我们作为社会主义有志青年的关键时刻,让我们以黄

#linux
Linux那些事儿 之 戏说USB(37)字符串描述符

关于字符串描述符,前面的前面已经简单描述过了,但是因为现在长夜漫漫,孤枕难眠,所以多说点。字符串描述符的地位仅次于设备/配置/接口/端点四大描述符,那四大设备必须得支持,而字符串描述符对设备来说则是可选的,类似于网球里马德里大师赛与四大满贯之间的地位差异,四大满贯是个碗儿都争着抢着爬着也要去,而号称第五大满贯的马德里大师赛却动不动就会被大碗儿们因各种理由给涮了。这并不是就说字符串描述符不重要,

#linux
    共 111 条
  • 1
  • 2
  • 3
  • 12
  • 请选择