在做驱动开发时,经常会使用到的kmalloc函数进行内存的分配,下面对kmalloc在内核上的语言集进行相关的解释。 一、kmalloc 函数的原型: include void kmalloc(size_t size, int flags); 参数: kmalloc 的第一个参数是要分配的块的大小, ...
分类:
其他好文 时间:
2020-01-20 19:12:07
阅读次数:
85
Docker镜像制作 1、Docker镜像有没有内核? 从镜像大小上面来说,一个比较小的镜像只有十几MB ,而内核文件需要一百多兆, 因此镜像里面是没有内核的,镜像在被启动为容器后将直接使用宿主机 的内核,而镜像本身则只提供相应的rootfs,即系统正常运行所必须的用户空间的文件系统,比如 /dev ...
分类:
其他好文 时间:
2020-01-17 19:26:55
阅读次数:
129
CPU状态信息us,sy,ni,id,wa,hi,si,st含义 https://blog.csdn.net/weixin_34075268/article/details/92413101 Linux中在使用top命令的时候会看到这么一行: 里面的各个值分别是什么意思呢? 今天被问到这个问题,发现 ...
分类:
其他好文 时间:
2020-01-11 17:02:13
阅读次数:
309
一、零拷贝 1.介绍 零拷贝描述的是CPU不执行拷贝数据从一个存储区域到另一个存储区域的任务,这通常用于通过网络传输一个文件时以减少CPU周期和内存带宽。 优点: 减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其他的任务 减少内存带宽的占用 通常零拷贝技术还能够减少用户空间和操作系统 ...
分类:
其他好文 时间:
2020-01-03 23:20:03
阅读次数:
61
除了int 0x80外用户空间还可以通过int3——向量3、into——向量4 、bound——向量5等异常指令进入内核,而其他异常无法被用户空间程序利用,都是由系统使用的。 linux用户态的int3进入内核后,内核是通过SIGTRAP信号发送给用户进程的。用户进程要注册SIGTRAP信号的han ...
分类:
其他好文 时间:
2020-01-03 23:17:34
阅读次数:
98
select和epoll都是多路复用的实现。 select: 调用select(fds),把fds(最多1024个)从用户空间拷贝到内核空间,进程阻塞, 当socket缓冲区有数据,唤醒进程,遍历fds,处理。 epoll: epoll_create在内核空间创建eventpoll对象(包括红黑树和 ...
分类:
其他好文 时间:
2019-12-29 20:13:04
阅读次数:
71
top 命令 top 命令查看现在线程占用资料的情况。 第三行,cpu状态信息,具体属性说明如下: us — 用户空间占用CPU的百分比。(重要) sy — 内核空间占用CPU的百分比。 ni — 改变过优先级的进程占用CPU的百分比 id — 空闲CPU百分比 wa — IO等待占用CPU的百分比 ...
分类:
系统相关 时间:
2019-12-29 20:09:02
阅读次数:
113
一个输入操作通常包括2个阶段: 1,等待数据报准备好 2,把数据从内核空间复制到用户空间(进程空间) 比如一个套接字的输入操作: 1,等待数据从网络中到达到内核缓冲区中 2,把数据从内核缓冲区复制到进程缓冲区 阻塞式IO 非阻塞IO 多路复用IO 信号驱动IO 异步IO 五种IO模型的比较 ...
分类:
系统相关 时间:
2019-12-29 18:14:25
阅读次数:
106
*信号之于进程,很像中断之于cpu. 内核对"进程信号"的支持,是在进程从内核空间返回用户态的前夕:可能是时钟中断,页异常陷入的内核又返回,也可能是原先睡着,现在等到某个资源,重新进入调度队列而返回. *信号的中断处理代码由用户部署在用户空间,所以进程返回用户空间之前,是先去用户空间执行代码,执行完 ...
分类:
系统相关 时间:
2019-12-26 11:25:47
阅读次数:
81
目录:(一)strace命令简介(二)strace命令实战(一)strace命令简介(1.1)strace命令主要是用来监控我们程序的执行情况,当我们在Linux系统的用户空间运行一个程序的时候,Linux系统会将我们运行的程序封装成一个进程的形式,然后参与操作系统的调度,因此我们可以使用strace命令去跟踪我们的应用程序它的相关的运行情况,比如监控用户进程与内核进程的交互,以及跟踪进程的系统调
分类:
系统相关 时间:
2019-12-25 21:58:59
阅读次数:
84