作者小头像 Lv.4
更多个人资料
881 成长值
0 关注
0 粉丝
+ 关注 私信

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
  • 活跃之星
  • 考证狂人
成长雷达
620
21
150
90
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

以上满足项可达成此勋章

  • 博客
  • 关注
  • 粉丝
  • 论坛
全部时间
全部时间
最近三天
最近一周
最近一月
  • 全部
  • 暂无专栏分类
从用户态到内核态:深入理解操作系统的系统调用机制
当我们编写程序时,经常会进行一些看似简单的操作:读取文件、创建线程、发送网络请求,或者向终端输出一行文字。例如,在 C 语言中,只需要调用 write(),就可以向文件写入数据。但应用程序并不能直接控制磁盘、网卡等硬件,也不能随意访问操作系统内核中的数据结构。那么,普通程序究竟如何请求操作系统完成这些工作?为什么应用程序不能直接执行所有硬件操作?一次系统调用需要经历哪些步骤?为什么频繁的系统...
Linux 任务调度
作者小头像 yd_232225224 2026-11-02 22:42:29
43
0
0
2026-11-02 22:42:29
43
0
0
从竞态条件到无锁编程:深入理解操作系统的并发与同步机制
一台现代计算机通常拥有多个 CPU 核心,可以同时执行多个线程。在浏览器中,一个线程负责处理用户交互,另一个线程负责网络通信,还有线程负责页面渲染;在数据库中,大量工作线程同时处理查询、修改数据和维护缓存;在操作系统内核中,不同核心也可能同时访问进程表、文件系统缓存和内存管理数据结构。这些线程往往需要共享数据。但共享数据会带来一个重要问题:如果两个线程同时修改同一个变量,最终结果一定正确吗?...
任务调度
作者小头像 yd_232225224 2026-11-02 22:25:42
36
0
0
2026-11-02 22:25:42
36
0
0
从文件读写到数据持久化:深入理解操作系统的文件系统
在计算机上,我们每天都会进行大量的文件操作:打开文档、保存代码、安装软件、下载文件、运行数据库。对于应用程序而言,这些操作通常只需要调用几个简单的接口,例如 open()、read()、write() 和 close()。然而,在这些简单的接口背后,操作系统需要完成大量复杂的工作。当程序创建一个文件时,操作系统如何决定将它存放在磁盘的哪个位置?为什么文件名和文件内容需要分开管理?为什么删除一...
作者小头像 yd_232225224 2026-11-01 22:39:42
40
0
0
2026-11-01 22:39:42
40
0
0
操作系统调度:CPU 时间是如何被分配的
一台计算机上同时运行着大量的程序:浏览器、编辑器、音乐播放器、后台的同步服务、系统守护进程,在服务器上还可能有成百上千个处理请求的线程。然而,处理器核心的数量是有限的,一个核心在任一时刻只能执行一个线程的指令。那么,这些程序是如何"同时"运行的?操作系统如何决定在每个时刻让哪个线程使用 CPU?为什么在后台编译大型项目时,前台的界面依然能够流畅响应?为什么有时一个程序会突然变得很慢,即使 C...
任务调度
作者小头像 yd_232225224 2026-10-24 20:52:46
123
0
0
2026-10-24 20:52:46
123
0
0
浏览器渲染:从 HTML 到屏幕上的像素
打开一个网页,浏览器在一瞬间就把文字、图片、按钮、动画呈现在屏幕上。用户可以滚动页面、点击链接、在输入框中打字,页面随之流畅地响应。这一切看似理所当然,但在背后,浏览器需要完成一系列复杂的工作:解析 HTML 和 CSS,执行 JavaScript,计算每个元素的大小和位置,将它们绘制成像素,并在用户交互和动画中以每秒数十次的频率不断更新画面。理解浏览器的渲染过程,是编写高性能网页的基础。许...
任务调度 渲染
作者小头像 yd_232225224 2026-10-23 14:46:16
103
0
0
2026-10-23 14:46:16
103
0
0
Git 的内部原理:一个内容寻址的文件系统
Git 是当今最广泛使用的版本控制系统。大多数开发者每天都会使用 add、commit、branch、merge、rebase 等命令,但对于这些命令背后究竟发生了什么,许多人并不十分清楚。这种不清楚往往在遇到问题时暴露出来:分离头指针是什么意思?为什么变基之后需要强制推送?删除的提交还能找回吗?为什么克隆一个仓库这么慢?事实上,Git 的核心设计非常简洁。它的本质是一个内容寻址的文件系统,...
Git 数据库
作者小头像 yd_232225224 2026-10-22 18:56:29
90
0
0
2026-10-22 18:56:29
90
0
0
文件系统:数据如何在磁盘上安家
在计算机中保存一份文档、一张照片或一段代码,看起来只是一次简单的"保存"操作。但在这背后,操作系统需要回答一系列问题:文件的内容应该写在磁盘的什么位置?文件名如何与内容对应起来?如何在海量文件中快速找到某一个?磁盘上的空间如何分配和回收?写入到一半时突然断电,数据会不会损坏?多个程序同时读写同一个文件会发生什么?负责回答这些问题的,是文件系统(File System)。它在原始的、以块为单位...
数据结构
作者小头像 yd_232225224 2026-10-21 19:05:54
93
0
0
2026-10-21 19:05:54
93
0
0
数据库查询优化器:SQL 是如何被执行的
SQL 是一种声明式语言:使用者只需描述"想要什么数据",而不需要说明"如何获取这些数据"。一条连接多张表、带有过滤和聚合条件的查询语句,并没有规定先读哪张表、使用哪个索引、用什么算法连接、按什么顺序执行。这些决定由数据库中的查询优化器(Query Optimizer)做出。对于同一条 SQL 语句,往往存在成百上千种在逻辑上等价的执行方式,它们的执行时间可能相差几个数量级:一种方式只需几毫...
SQL 数据库
作者小头像 yd_232225224 2026-10-20 18:48:29
98
0
0
2026-10-20 18:48:29
98
0
0
DNS:互联网的地址簿
在浏览器中输入一个网站的名称,按下回车,页面便开始加载。这个过程看似理所当然,但计算机之间的通信依靠的是 IP 地址,而不是人类容易记忆的名称。在浏览器真正与网站服务器建立连接之前,必须先回答一个问题:这个名称对应的 IP 地址是什么?负责回答这个问题的,是域名系统(Domain Name System,DNS)。它是互联网最基础的基础设施之一,几乎每一次网络访问都从一次 DNS 查询开始。...
DNS
作者小头像 yd_232225224 2026-10-19 15:07:13
117
0
0
2026-10-19 15:07:13
117
0
0
编译器优化:源代码到高效机器码的旅程
程序员写下的代码,往往并不是最高效的形式。代码中可能有重复的计算、永远不会执行的分支、可以在编译时就算出结果的表达式、可以合并的循环、可以避免的函数调用。如果将源代码逐行、直译式地翻译为机器指令,生成的程序会比实际所需的慢得多。优化编译器的任务,是在保证程序行为不变的前提下,对代码进行一系列变换,使其运行得更快、占用的空间更少,或者消耗的能量更低。现代编译器的优化能力已经相当惊人:同一份源代...
开发者
作者小头像 yd_232225224 2026-10-18 11:59:50
110
0
0
2026-10-18 11:59:50
110
0
0
总条数:62
10
10
20
50
100
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

上滑加载中

https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
作者小头像
作者小头像
快速交付
+ 关注