上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 31 下一页
摘要: 在Linux内核中, kmalloc能够分配的最大连续内存为2的(MAX_ORDER-1)次方个page(参见alloc_pages函数, "if (unlikely(order >= MAX_ORDER)) return NULL;"), page的大小一般是4K bytes, MAX_ORDER 阅读全文
posted @ 2019-10-17 14:15 Smah 阅读(2049) 评论(0) 推荐(0)
摘要: select,poll,epoll都是IO多路复用中的模型。再介绍他们特点时,先来看看多路复用的 模型。 同其他IO的不同的是,IO多路复用一次可以等多个文件描述符。大大提高了等待数据准备好的时间的效率。为了完成等的效率,系统提供了三个系统调用:select,poll,epoll。这里不再讲述三者具 阅读全文
posted @ 2019-10-17 11:23 Smah 阅读(420) 评论(0) 推荐(0)
摘要: c 阅读全文
posted @ 2019-10-16 17:47 Smah 阅读(329) 评论(0) 推荐(0)
摘要: 之前讲解过内核线程、轻量级进程、用户线程三种线程概念解惑(线程≠轻量级进程), 但是一直对其中提到的线程的实现模型比较迷惑, 这次就花了点时间怎么学习了一下子 1 线程的3种实现方式 在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。在引入线程的操作系统中,线程是独立调度的基本单位,进程是资 阅读全文
posted @ 2019-10-11 20:16 Smah 阅读(2881) 评论(0) 推荐(1)
摘要: 线程与进程概念 在现代操作系统中,进程支持多线程。 进程是资源管理的最小单元; 线程是程序执行的最小单元。 进程是资源管理的最小单元; 线程是程序执行的最小单元。 即线程作为调度和分配的基本单位,进程作为资源分配的基本单位 一个进程的组成实体可以分为两大部分:线程集和资源集。进程中的线程是动态的对象 阅读全文
posted @ 2019-10-11 20:08 Smah 阅读(2193) 评论(0) 推荐(1)
摘要: 基于Linux 2.6.32内核进行分析,看本篇文章前,建议先看看percpu变量这篇文章 smp_processor_id()用来获取当前cpu的id,首先来看smp_processor_id的定义: # define smp_processor_id() raw_smp_processor_id 阅读全文
posted @ 2019-10-11 16:52 Smah 阅读(8421) 评论(0) 推荐(1)
摘要: percpu变量的关键就是:要求根据CPU的个数,在内存中生成多份拷贝,并且能够根据变量名和CPU编号,正确的对各个CPU的变量进行寻址。 采用per-cpu变量有下列好处:所需数据很可能存在于处理器的缓存中,因此可以更快速地访问。如果在多处理器系统中多个CPU可能同时访问变量,会引发一些通信方面的 阅读全文
posted @ 2019-10-11 16:49 Smah 阅读(1397) 评论(0) 推荐(0)
摘要: 在Linux系统中,网络设备都被抽象为struct net_device结构体。它是网络设备硬件与上层协议之间联系的接口,了解它对编写网络驱动程序非常有益,所以本文将着手简要介绍linux-2.6.38.8/include/linux/netdevice.h文件中struct net_device结 阅读全文
posted @ 2019-10-11 15:14 Smah 阅读(3458) 评论(0) 推荐(0)
摘要: https://www.kernel.org/doc/html/v4.15/translations/zh_CN/coding-style.html 1.缩进 制表符是 8 个字符,所以缩进也是 8 个字符。 如果你需要 3 级以上的缩进,不管用 何种方式你的代码已经有问题了,应该修正你的程序。 不 阅读全文
posted @ 2019-10-11 11:57 Smah 阅读(634) 评论(0) 推荐(0)
摘要: atomic_inc(&v)对变量v用锁定总线的单指令进行不可分解的"原子"级增量操作,避免v的值由于中断或多处理器同时操作造成不确定状态。 原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用 阅读全文
posted @ 2019-10-11 10:53 Smah 阅读(6087) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 31 下一页