通过实战理解CPU上下文切换

通过实战理解CPU上下文切换

Linux作为一个多任务操作系统,能够支持远远超过CPU数量的任务同时运行,但实际上这只是一种错觉。事实上,系统会在非常短的时间内将CPU轮流分配给各个进程,给用户造成多任务同时运行的错觉。这就引发了一个问题:每次运行进程之前,CPU都需要知道进程的加载位置和运行位置,也就是说,系统需要提前设置好CPU寄存器和程序计数器。

MQTT、CoAP 还是 LwM2M?主流物联网协议如何选择

MQTT、CoAP 还是 LwM2M?主流物联网协议如何选择

随着物联网技术的普及和发展,越来越多的智能设备具备了网络连接和数据传输的能力。

「干货」分段机制解决了什么实质性问题?

「干货」分段机制解决了什么实质性问题?

要了解分段机制,我们需要回溯到Intel的微处理器8086的时代。在那个时候,计算机的内存空间相对较小,内存寻址采用的是直接访问物理地址的方式。随着技术的进步,计算机的功能越来越丰富,程序也变得越来越庞大。

18图详解防火墙和路由器、交换机的区别

18图详解防火墙和路由器、交换机的区别

今天,我想和大家聊一聊防火墙。在网络中,防火墙和路由器、交换机一样,是不可或缺的设备。

浅谈汇编器、编译器和解释器

浅谈汇编器、编译器和解释器

在计算机发展的早期阶段,硬件昂贵而程序员相对廉价。这些程序员通常没有专门的“程序员”头衔,而是由数学家或电气工程师兼任。早期的计算机主要用于解决复杂的数学问题,因此数学家天生适合从事“编程”工作。

linux服务器开发—手写内存泄漏检测组件

linux服务器开发—手写内存泄漏检测组件

内存泄漏是在不带有垃圾回收(Garbage Collection)机制的语言中,如C/C++,经常出现的问题。由于缺乏垃圾回收,程序员需要自行管理分配的内存并进行释放。内存泄漏的根本原因在于程序未能释放申请的内存。

网络IO是如何一步一步走向零拷贝的

网络IO是如何一步一步走向零拷贝的

当程序需要读取或写入数据时,CPU是如何操作磁盘的呢?首先,CPU会向磁盘发送读写数据的命令,这些命令通过IO总线传输给磁盘。

USB的传输,编码,数据格式,掌握usb的必备知识

USB的传输,编码,数据格式,掌握usb的必备知识

端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点

perf性能分析工具使用分享

perf性能分析工具使用分享

在之前的分享中,我曾经提及了我在工作中手动编写的一些CPU监控脚本,但那些脚本仅仅是我个人的一些粗浅尝试。随后,我开始直接利用perf工具编译到驱动程序中,并在设备上直接使用perf,这使得效率有了直线式的提升。

Git 合并到底使用Merge还是Rebase

Git 合并到底使用Merge还是Rebase

Git rebase这一神奇的指令常常被誉为Git江湖中的一种魔法般的存在,这也让一些新手望而却步。然而,实际上,若团队能够娴熟地掌握其技巧,它将为工作带来事半功倍的效果。本文旨在对比git rebase与常见的git merge指令,探讨它们在真实Git工作流程中的不同应用场景。

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部