2019年4月11日

Linux驱动开发6——DDR内存分配

摘要: 1、kmalloc和kfree 2、后备缓存 Linux内核提供了后备缓存机制,用来创建一组相同大小对象的内存池,应用在反复分配许多相同大小内存的场景,如USB和SCSI驱动等。Linux内核的缓存管理者为——slab分配器。 3、内存池 Linux内核创建了一个已知的内存池(mempool)的抽象 阅读全文

posted @ 2019-04-11 21:18 者旨於陽 阅读(1505) 评论(0) 推荐(0) 编辑

Linux驱动开发5——同步机制

摘要: 上一章讲到了并发,指的是多个进程同时存取临界区资源的处理机制。这一章讲的同步机制,讲的是多个进程之间协同工作的处理机制,如临界区数据还没有准备好,A进程负责准备数据,B进程等待A进程完成之后读取数据。 同步机制分为阻塞I/O和非阻塞I/O两种,前者等待数据准备就绪,后者立即返回。 1、阻塞I/O 1 阅读全文

posted @ 2019-04-11 20:23 者旨於陽 阅读(248) 评论(0) 推荐(0) 编辑

Linux驱动开发4——并发和竞态

摘要: Linux系统处于一个高并发的运行环境,不管是系统调用还是中断都要求可重入,但是有一些系统资源处于临界区,因此,必须保证临界区资源访问的原子性。 对于临界区资源被占用时,发起访问的进程,有三种处理方法——睡眠、阻塞以及撤销。 Linux驱动编程中,通常不建议使用锁机制,因为容易导致死锁问题。不使用锁 阅读全文

posted @ 2019-04-11 14:28 者旨於陽 阅读(342) 评论(0) 推荐(0) 编辑

导航