分享好友 最新动态首页 最新动态分类 切换频道
做游戏网站需要多少钱/平台推广公众平台营销
2024-12-27 11:34

硬盘里面有很多磁头,每个磁头有很多环,类似跑道。称为柱面:0柱面 1柱面;跑道里面有很多块称为扇区:扇区0  扇区1。硬盘操作的耗时主要在磁盘转换的时候,如果我们一会读1磁头,一会写2磁头,然后又读1磁头,如果来回这么跳转,会导致效率十分低。

(2)Flash

Flash有很多块,每个块里面有很多扇区。

Flash以块为单位进行操作。操作扇区时也需要读取整个块到内存中。如果读1块中的1扇区,又去写2块的1扇区,然后又读1块的2扇区,如果不优化效率将很低。

因此,基于以上硬件的特点,及效率问题,内核采用了电梯调度算法进行命令的优化。也就是收到一个命令时不会立刻执行,而是放入队列,当存在多个命令时,经过电梯调度算法来进行优化后执行,这样就提升了读写的效率,这个是块设备驱动程序要考虑的问题。

应用程序文件读写—》扇区读写,文件系统来做转换之后调用ll_rw_block函数操作块设备。

那么扇区读写函数是

ll_rw_block:low_level  read write block

ll_rw_block作用:把读写放入队列并优化,之后调用队列的处理函数。即优化后执行。


 

int submit_bh(int rw, struct buffer_head *bh)

函数作用:用buffer_head来构造bio,最后提交bio--》submit_bio

void submit_bio(int rw, struct bio *bio)

      --generic_make_request

函数作用:使用bio来构造请求,把请求放入队列。

elv_merge(q, &req, bio); 电梯调度算法,来尝试把bio合并到队列里面去。如果合并不成,使用bio构造请求init_request_from_bio(req, bio); 把请求放入队列add_request(q,req); 执行队列__generic_unplug_device(q); 调用队列的"处理函数" q->request_fn(q);

这里强调:块设备的读写并不会立刻执行,而是先放入队列进行优化。

常规思路,分配结构体,设置结构体,注册到某个地方。

(1)分配gendisk:alloc_disk

(2)设置

分配/设置队列: request_queue_t  // 它提供读写能力

           blk_init_queue                 //设备队列

设置gendisk其他信息          // 它提供属性: 比如容量

(3) 注册: add_disk

4、内存模拟块设备

参考
driversblockxd.c
driversblockz2ram.c
(1)拷贝头文件,搭出框架

(2)明确需要做的任务

       

      

      

      

      

(3)实现

ramblock_disk = alloc_disk(16);

ramblock_buf= kzalloc(RAMBLOCK_SIZE, GFP_KERNEL);//分配内存模拟

while ((req = elv_next_request(q)) != NULL)//电梯调度算法

所有代码

 

(4)实验

没有立刻写,等一会才出现write

要么都是读要么都是写 不会一读一写。效率高 

 

测试5th:

1. insmod ramblock.ko

2. ls /dev/ramblock*

3. fdisk /dev/ramblock

分别操作分区。



最新文章
苏州百度竞价托管代运营服务收费标准及行业平均价格_苏州百度推广代运营
在当今数字化营销的时代,竞价托管代运营服务已成为许多企业提升在线广告效果的重要选择。然而,其收费标准因多种因素而异,了解行业平均价格对于企业做出明智的决策至关重要。苏州百度竞价托管代运营服务收费标准及行业平均价格_苏州百度
用AI绘画神器轻松生成超逼真美女写真!
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数码科技飞速发展的时代,像素与画笔早已不再是艺术创作的唯一条件。可想而知,AI绘画
网站建设免费书/seo优化方案报价
转载 2016年02月24日 13:58:30 5605 博客分类: 性能及调优LinuxJava   对于jps较熟悉可以直接查看第二部分的分析   1、jps的作用 jps类似linux的ps命令,不同的是ps是用来显示进程,而jps只显示java进程,准
游戏行业迎来AI变革:大模型助力创意与效率双提升
2024年注定是一个充满机遇与挑战的年份。在大模型技术不断成熟的背景下,游戏行业正经历着前所未有的变革。这一轮科技创新,不仅仅是为了降本增效,更多的是为了探索创意的新边界。根据南方财经全媒体记者吴立洋在北京的报道,人工智能(AI
成都微博热搜榜怎么做
成都微博热搜榜怎么做一:话题策划-微博热搜榜根据客户需求,策划出符合平台规则的创意,提高上榜率二:微博热搜执行方案成都微博热搜榜话题营销流程:1.需要客户提供项目背景、核心诉求、产品资料(主要卖点)等资料2.根据客户需求策划冲榜
用AI生成美女写真!简单易用的教程与工具推荐
DALL-E:这一AI工具由OpenAI开发,以其令人惊艳的图像生成能力而闻名。用户只需提供描述,系统便能生成多种样式的美女图片,效果多样且极具艺术感。然而,生成高质量的图像需要经过多次尝试,用户可能需耐心调整描述才能达到理想效果。Midj
【Excel视频教学】rank函数制作成绩排名
【推荐阅读】大家好,本视频主要讲解利用rank函数制作成绩排名首先我们来看一下案例,在本案例中有253条数据需要对这253条数据进行排名,在排名制作过程中需要注意的是成绩并列的情况,比如说两个80分为并列第二名,那下一位就是第四名。好
淘宝店铺怎么做老顾客营销?
1、结合买家心理和收货期待,玩好宣传单在日常生活中,当我们收到宣传单可能不太会多关注,反而网上购物收到的货会比较关注,因为会对自己买的东西抱有强烈的期待,正是由于这份收货心理,关于买的产品,一些相关的传单会有很大几率去看。
Python 人狗大 CSDN:一个 Python 开发者的学习交流社区
Python 人狗大 CSDN 社区汇聚了来自世界各地的 Python 爱好者和专业开发者。无论是初出茅庐的新手,还是经验丰富的高手,都能在这里找到自己的位置。对于新手来说,这里是他们开启 Python 编程之旅的起点。丰富的入门教程、详细的基础知识
百度蜘蛛池效果:揭秘蜘蛛池推广词,如何高效利用蜘蛛池提升关键词排名
百度蜘蛛池推广词助力关键词排名提升,通过高效利用蜘蛛池,可迅速提升网站权重,优化搜索引擎排名。本文揭秘蜘蛛池推广词的使用方法,教你如何发挥蜘蛛池最大效用,实现高效关键词推广。本文目录导读:什么是蜘蛛池推广词蜘蛛池推广词的特
相关文章
推荐文章
发表评论
0评