Blogs

task_struct简要分析

由 张纪庆 | 4400字 | 阅读大约需要9分钟 | 归档于进程管理

2020年8月18日

为了实现进程控制和管理,开发人员定义了task_struct结构,用于存储进程的信息,通过该结构可以很方便地对进程进行控制和管理。

继续阅读

张玉哲_简单获取进程的时间信息_0817

由 张玉哲 | 4500字 | 阅读大约需要9分钟 | 归档于进程管理

2020年8月17日

为方便计算某进程的CPU占有率,根据CPU占有率计算公式:pc%=(pc2-pc1)/(cpu2-cpu1)和进程执行总时间的计算公式:pc=utime+stime+cutime+cstime,可以确定本次实验的基本目的是获取进程的utimestimecutimecstime这几个信息。

继续阅读

Linux内核网络设备驱动

由 梁金荣 | 5800字 | 阅读大约需要12分钟 | 归档于内核网络

2020年8月17日

本文首先从宏观上介绍数据包的接收过程,然后详细介绍了Linux网络设备驱动的工作过程,最后介绍网卡监控与调优,包括网络数据包总数、丢包、错包数量的相关统计。

继续阅读

孙张品_常见IO模型_0817

由 孙张品 | 1500字 | 阅读大约需要3分钟 | 归档于文件系统

2020年8月17日

一起来看一下常见的IO模型(缓冲IO,非缓冲IO,直接IO,间接IO,阻塞IO,非阻塞IO)以及它们之间的区别与联系。

继续阅读

虚拟机中GUEST OS时钟(TIMEKEEP)问题的探讨

由 作者:康华 编辑:张孝家 | 5900字 | 阅读大约需要12分钟 | 归档于经验交流

2020年8月11日

操作系统的时钟处理按理来说应该是个早已成熟的技术,不必再费口舌讨论什么。事实也的确如此。然而在虚拟环境下(不仅仅是xen,vmware这些虚拟机),对时钟的处理可绝非轻而易举,如果你耐心看看你虚拟环境下运行的guest操作系统,如linux/windows等,往往用眼睛就可发觉其wall clock走的不是那么的准确,有些飘忽,时快时慢. 如果你运行某些性能测试工具,也会发现测试数据忽高忽低。这是为什么呢? 怎么解决呢? 本文就该问题进行一些初步探讨.

继续阅读

Linux内核网络丢包监控

由 梁金荣 | 800字 | 阅读大约需要2分钟 | 归档于内核网络

2020年8月11日

熟悉数据包的接收流程,有助于帮助我们明白在内核哪些地方可以监控和修改数据包,帮助我们明白什么情况下数据包可能会被丢弃等。本文先简单介绍数据包的收包流程,然后使用dropwatch工具收集并查看Linux内核网络中丢包的数量和位置,使用perf监控Linux内核网络丢弃的数据包。

继续阅读

TCP超时重传定时器

由 作者:张孝家 | 2500字 | 阅读大约需要5分钟 | 归档于内核网络

2020年8月11日

本篇文章主要介绍定时器的创建、删除、激活和超时处理回调函数等内容,不介绍关于RTO和RTT的计算(后期的文章在补充),使用的内核版本为4.15

继续阅读

实时和Linux之二:抢占式内核

由 作者:康华 编辑:崔鹏程 | 6700字 | 阅读大约需要14分钟 | 归档于经验交流

2020年8月9日

本文继上一篇文章,继续介绍了实时和Linux,本文是第二篇文章,共三篇。本文主要介绍了抢占式内核,包括背景和历史,改进,保证等等。

继续阅读

tcp连接延时

由 作者:张孝家 | 1600字 | 阅读大约需要4分钟 | 归档于内核网络

2020年8月3日

本篇文章介绍tcp连接的三次握手和套接字状态转换,以及基于ebpf的tcp连接延时的提取。

继续阅读

实时和Linux(1)

由 作者:康华 编辑:张孝家 | 7900字 | 阅读大约需要16分钟 | 归档于经验交流

2020年8月3日

本文着重讨论实时应用程序的本质特性和Linux对于运行这类任务的优势和不足。以后的文章中,我将向大家介绍采用那些方法可以使实时任务满足硬实时要求。多数方法都是针对Linux内核而言,但是有时也会用到GUN C库等。

继续阅读