[转帖]何为真正的零拷贝

传统的文件传输有啥缺点? 传统IO的工作方式是,数据读取和写入是从用户空间和内核空间来回复制,内核空间的数据时通过操作系统层面的IO接口从磁盘读取或写入。 通过上图可以看出,在我们执行read和writer之间,一共发生了4次用户态和内核态上下文切换,在高并发的场景下,用户态和内核态上下文切换带来的

[转帖]协程切换和线程切换

先说结论:协程切换比线程切换快主要有两点: (1)协程切换完全在用户空间进行,线程切换涉及特权模式切换,需要在内核空间完成;(2)协程切换相比线程切换做的事情更少。 协程切换只涉及基本的CPU上下文切换,所谓的 CPU 上下文,就是一堆寄存器,里面保存了 CPU运行任务所需要的信息:从哪里开始运行(

ebpf的简单学习

ebpf的简单学习-万事开头难 前言 bpf 值得是巴克利包过滤器 他的核心思想是在内核态增加一个可编程的虚拟机. 可以在用户态定义很多规则, 然后直接在内核态进行过滤和使用. 他的效率极高. 因为避免了上下文切换,中断等导致的cycle损失. 很多先进的工具,比如XDP以及K8S的cilium等网

中文完形填空

本文通过ChnSentiCorp数据集介绍了完型填空任务过程,主要使用预训练语言模型bert-base-chinese直接在测试集上进行测试,也简要介绍了模型训练流程,不过最后没有保存训练好的模型。 一.完形填空 完形填空应该大家都比较熟悉,就是把句子中的词挖掉,根据上下文推测挖掉的词是什么。 二.

深入理解操作系统中进程与线程的区别及切换机制(下)

本文首先介绍了进程的控制结构,即进程控制块(PCB),它是表示进程的数据结构,包含了进程的相关信息和资源。PCB之间通过链表连接,形成就绪队列和阻塞队列,用于进程调度和资源管理。接着,文章详细探讨了进程的切换过程。进程切换是为了保证公平分配CPU时间片,涉及保存和恢复进程的执行上下文、更新进程状态和调度算法选择等步骤。文中还提到了进程上下文切换的场景,如时间片用完、内存不足、高优先级进程需求等。最

进程调度的原理和算法探析

本文探讨了进程调度的原理和算法,并提供了全面的概述。进程调度是操作系统中的重要组成部分,用于决定进程的执行顺序和分配CPU时间。我们讨论了优先级调度和时间片轮转调度算法。优先级调度根据进程的优先级确定执行顺序,可以分为抢占式和非抢占式。时间片轮转调度将CPU时间划分为固定大小的时间片,每个进程在一个时间片内执行。合理设置时间片长度能够避免资源浪费和频繁的上下文切换。最短作业优先和最短剩余时间优先是

限速神器RateLimiter源码解析

作者:京东科技 李玉亮 目录指引 限流场景 软件系统中一般有两种场景会用到限流: •场景一、高并发的用户端场景。 尤其是C端系统,经常面对海量用户请求,如不做限流,遇到瞬间高并发的场景,则可能压垮系统。 •场景二、内部交易处理场景。 如某类交易任务处理时有速率要求,再如上下游调用时下游对上游有速率要

性能测试监控指标及分析调优 | 京东云技术团队

### 一、哪些因素会成为系统的瓶颈? 1、CPU,如果存在大量的计算,他们会长时间不间断的占用CPU资源,导致其他资源无法争夺到CPU而响应缓慢,从而带来系统性能问题,例如频繁的FullGC,以及多线程造成的上下文频繁的切换,都会导致CPU繁忙,一般情况下CPU使用率 作者:京东健康 牛金亮 >

上周热点回顾(7.1-7.7)

热点随笔: · 程序员失业日记1:工作五年,交接半天 (小码A梦)· 学习.NET 8 MiniApis入门 (tokengo)· C#/.NET/.NET Core优秀项目和框架2024年6月简报 (追逐时光者)· 需求变更,代码改的像辣鸡 - 论代码质量 (2J)· 如何找到并快速上手一个开源项

掉了两根头发后,我悟了!vue3的scoped原来是这样避免样式污染(下)

上篇文章中我们讲了使用scoped后,vue是如何给CSS选择器添加对应的属性选择器[data-v-x]。这篇文章我们来接着讲vue是如何给html增加自定义属性data-v-x

【VMware vSAN】vSAN Data Protection Part 2:配置管理。

上篇文章“vSAN Data Protection Part 1:安装部署。”介绍了如何安装及部署 VMware Snapshot Service Appliance 设备,并在 vSAN ESA 集群中启用 vSAN Data Protection 功能。这篇文章继续了解 vSAN Data Pr

掉了两根头发后,我悟了!vue3的scoped原来是这样避免样式污染(下)

上篇文章中我们讲了使用scoped后,vue是如何给CSS选择器添加对应的属性选择器[data-v-x]。这篇文章我们来接着讲vue是如何给html增加自定义属性data-v-x

C#的多线程UI窗体控件显示方案 - 开源研究系列文章

上次编写了《LUAgent服务器端工具》这个应用,然后里面需要新启动一个线程去对文件进行上传到FTP服务器,但是新线程里无法对应用主线程UI的内容进行更改,所以就需要在线程里设置主UI线程里控件信息的方法,于是就有了此博文。此文记录的是一种高级用法。 为了实际的使用,笔者将线程操作放在独立的类当中,

上周热点回顾(6.24-6.30)

热点随笔: · 呼吁改正《上海市卫生健康信息技术应用创新白皮书》 C# 被认定为A 组件 的 错误认知 (张善友)· CSDN 大规模抓取 GitHub 上的项目到 GitCode,伪造开发者主页引公愤 (gt-it)· 一码胜千言,博园Polo衫,上架预售啦 (博客园团队)· 仓颉语言HelloW

manim边学边做--MathTex

上一篇介绍的SingleStringMathTex主要用来显示只有一行的数学公式,对于复杂的数学公式,可以使用MathTex类。 MathTex类继承自SingleStringMathTex,在其基础之上增加了更多的功能。其实,MathTex是制作数学动画时常用的类,反而SingleStringMa

上周热点回顾(6.17-6.23)

热点随笔: · 博客园众包平台:50w+驱动开发大单,全园找人接单 (博客园团队)· 开源的网络瑞士军刀「GitHub 热点速览」 (削微寒)· 哎,被这个叫做at least once的玩意坑麻了。 (why技术)· 希望六月:参加阿里云 PolarDB 与「函数计算」动手活动,送博客园T恤 (博

php+sql后台实现从主表迁出至副表(数据超万条)

上万条甚至上百万数据进行迁出做备份或者进行不妨碍原系统数据的操作,现在很多企业都会用到,目前就需要将上百万条数据进行迁出到副表保存并操作,直接再后台写一个按钮进行操作,既方便操作也不会很慢。毕竟是客户需要,不能每次迁出都要客户去数据库操作,操作的不好那数据危险度挺高的。 1、分页查询数据库主表数据

详解Web应用安全系列(2)注入漏洞之XSS攻击

上一篇介绍了SQL注入漏洞,今天我们来介绍另一个注入漏洞,即XSS跨站脚本攻击。XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web应用中常见的漏洞。指攻击者在网页中嵌入客户端脚本(一般是JavaScript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到

上周热点回顾(6.10-6.16)

热点随笔: · 「指间灵动,快码加编」:阿里云通义灵码,再次降临博客园 (博客园团队)· 老生常谈!程序员为什么要阅读源代码? (Yxh_blogs)· 千万级流量冲击下,如何保证极致性能 (Hello-Brand)· 面试官:你讲下接口防重放如何处理? (程序员博博)· C#开发的目录图标更改器

开源的网络瑞士军刀「GitHub 热点速览」

上周的开源热搜项目可谓是精彩纷呈,主打的就一个方便快捷、开箱即用!这款无需安装、点开就用的网络瑞士军刀 CyberChef,试用后你就会感叹它的功能齐全和干净的界面。不喜欢 GitHub 的英文界面?GitHub 网站汉化插件 github-chinese,让英语不好的同学实现无障碍浏览 GitHu...