为什么程序无法访问彼此的内存?

合集 · 直观理解计算机技术【CoreDumped】 (68)

  1. 11:03
    代码中指定变量类型为何如此重要?
  2. 13:46
    栈为何如此之快?
  3. 17:53
    堆为何如此之慢?
  4. 19:56
    动态数组的内部机制(ArrayList VS LinkedList)
  5. 15:37
    探索计算机并发与多任务处理的历史
  6. 12:54
    晶体管是如何运行代码的?
  7. 16:12
    晶体管是如何记忆数据的?
  8. 18:47
    制作一个CPU来运行程序
  9. 11:23
    计算机如何将字符串转换为数字
  10. 17:18
    动态随机存取存储器(DRAM)的工作原理
  11. 16:05
    计算机处理器是如何运行条件和循环的?
  12. 6:51
    一个程序不是一个进程
  13. 14:52
    深入理解进程,如何进行上下文切换?计算机科学中最深刻和最成功的想法之一。
  14. 20:20
    处理器内部的单个位如何保护操作系统的完整性?
  15. 13:14
    计算的心跳:时钟如何推动 CPU 前进?
  16. 14:22
    英语原声版-计算的心跳:时钟如何推动 CPU 前进?
  17. 14:15
    (英语原声)进程间通信:共享内存或发送消息
  18. 12:29
    (中文配音)进程间通信:共享内存或发送消息
  19. 14:59
    (中文配音)为什么单核处理器需要线程?
  20. 16:07
    (英语原声)为什么单核处理器需要线程?
  21. 9:26
    (中文配音)多核系统上的线程
  22. 11:27
    (英语原声)多核系统上的线程
  23. 11:52
    (中文配音)为什么应用程序是特定于操作系统的?
  24. 13:09
    (英语原声)为什么应用程序是特定于操作系统的?
  25. 13:15
    (英语原声)硬件如何在多任务处理中协助软件?
  26. 11:29
    (中文配音)硬件如何在多任务处理中协助软件?
  27. 20:34
    链表的一个实际应用
  28. 45:02
    让你的电脑运行更流畅的奇妙算法
  29. 43:38
    (流畅中文配音)让你的电脑运行更流畅的奇妙算法
  30. 19:41
    (原声双语字幕)当程序调用 sleep() 时会发生什么?
  31. 17:57
    (流畅中文配音)当程序调用 sleep() 时会发生什么?
  32. 20:40
    这个简单算法驱动了真正的解释器:Pratt Parsing
  33. 18:19
    (双语字幕)编程中最难以捉摸的Bug:竞态条件
  34. 19:23
    (流畅中文配音)编程中最难以捉摸的Bug:竞态条件
  35. 16:02
    (中文配音)阻止内存攻击的底层电路
  36. 14:51
    (英语原声)阻止内存攻击的底层电路
  37. 18:04
    为什么有些项目会使用多种编程语言?
  38. 19:32
    为什么有些项目会使用多种编程语言?
  39. 17:15
    别再杀进程了!让 Ctrl+C 变成“喵”……(用信号实现)
  40. 19:23
    别再杀进程了!让 Ctrl+C 变成“喵”...(用信号实现)
  41. 19:05
    80 年代避免竞态条件的算法(以及它为何失败)
  42. 19:43
    80 年代避免竞态条件的算法(以及它为何失败)
  43. 22:10
    CPU如何与众多不同设备交互?
  44. 23:52
    (中文配音)CPU如何与众多不同设备交互?
  45. 14:04
    (中文配音)你每天都在用的奇特CPU操作
  46. 13:04
    你每天都在用的奇特CPU操作
  47. 18:04
    (中文配音)历史如何塑造了我们今天仍在使用的编程术语?
  48. 17:42
    (英语原声)历史如何塑造了我们今天仍在使用的编程术语?
  49. 16:41
    为什么有些底层项目里会充满这种奇怪的代码?
  50. 16:39
    (中文配音)为什么有些底层项目里会充满这种奇怪的代码?
  51. 21:35
    编译与解释代码如何共处同一程序中?
  52. 21:30
    (英语原声)编译与解释代码如何共处同一程序中?
  53. 17:09
    【双语字幕】Core Dumped 常见问题的集中回答
  54. 13:36
    【双语字幕】90年代的设计决策阻碍了Python并行化
  55. 12:01
    【中文配音】90年代的设计决策阻碍了Python并行化
  56. 17:51
    Linux创建进程的奇怪方式
  57. 18:14
    【中文配音】Linux创建进程的奇怪方式
  58. 19:49
    CPU如何运行函数?
  59. 19:38
    【中文配音】CPU如何运行函数?
  60. 17:15
    没有人解释的问题:内核的边界在哪里?
  61. 19:36
    【英语原声】没有人解释的问题:内核的边界在哪里?
  62. 35:49
    硬件如何让线程问题不再那么棘手?
  63. 19:47
    为什么在macOS、Windows和Linux上安装应用程序如此不同?
  64. 24:00
    游戏公司真的能破坏你的电脑吗?
  65. 10:43
    一个视频说透“架构”:为什么你的程序换个CPU就可能跑不了?
  66. 14:45
    CPU如何执行有符号和无符号运算?
  67. 19:11
    简单指令, 奇妙算法
  68. 9:26
    当CPU遇到它不认识的指令,会发生什么?😱【底层原理】
Description
该视频为中文配音,原始英文视频链接:https://www.youtube.com/watch?v=Zmtxl7LZwjQ
**视频内容总结:**  
1. **内存的重要性**:内存是计算机中仅次于CPU的关键部件,由存储单元组成的矩阵,每个单元通过地址访问。  
2. **数据表示与访问**:计算机以字节(8比特)为单位存储数据,内存可视为庞大的字节数组,CPU通过加载/存储指令直接访问内存。  
3. **并发与内存保护**:多进程运行时,必须防止进程互相访问对方的内存地址空间,否则会导致数据泄露或恶意篡改(如支付信息被窃取)。  
4. **硬件支持**:通过基址寄存器和界限寄存器,硬件自动检查内存访问是否合法,非法访问会触发段错误(Segmentation Fault)。  
5. **操作系统角色**:操作系统在上下文切换时更新寄存器的值,确保进程只能访问分配的内存区域,依赖CPU的特权模式实现安全隔离。  
6. **下期预告**:未来将讨论分页技术和虚拟内存,解决物理内存不足的问题。  

**视频标签:**  
#内存保护 #操作系统 #CPU #计算机原理 #进程隔离 #段错误 #硬件支持 #内存管理 #编程基础 #计算机安全

Comments

ThunderShadow 2025-07-04

软件工程师:跟我的硬件工程师说去吧[吃瓜]

♥ 74

奇幻的英格玛 2025-07-04

up这篇科普说的是实模式下的边界控制,缺点就是进程内存必须连续,如果反复申请释放内存,会出现很费事的后果(内存碎片问题)。 与保护模式下的进程隔离是有区别的。保护模式引入了分页机制,程序可以按页申请释放内存,虚拟内存与物理内存的对应由地址转换来完成,碎片问题只与自身有关大大减少了碎片问题。由于一个虚拟地址空间里只有用户代码和内核代码(其他程序不在这个进程的虚拟地址空间内)所以边界寄存器只需要保护内核代码即可。当然还有很多与实模式不同的地方。

♥ 51 ↩ 1

努力有个名 2025-07-05

最主要原因不是防止恶意软件吧,而是如果每个进程都直接使用物理内存,那各个应用就要相互考虑内存分配和释放,但是这些应用都是不同的开发者,根本就没办法做到。而且使用虚拟地址,可以更好的实现硬件无关

♥ 35 ↩ 1

知己一声拜拜离开这里 2025-07-04

但是现实操作系统中,程序只是在虚拟存储空间中连续吧

♥ 11 ↩ 12

jszht 2025-07-06

MMU启动[doge_金箍]

♥ 7

臭臭的fish 2025-07-11

B站码率压缩发力了

♥ 3

妄思令悲 2025-07-04

那ce修改器是怎么读取和修改游戏内存数据的

♥ 3 ↩ 9

木溪猫 2025-07-31

[吃瓜][吃瓜][吃瓜][吃瓜][吃瓜]

♥ 2

是微小的微 2025-12-15

因为CR3不一样[doge]

♥ 1

Core_RISC_V 2025-10-09

进程的起始地址都是一样的,通过mmu进行映射才能跑起来,否则地址会冲突。

♥ 1

萝卜刀23 2025-07-05

视频做的很好,但热度好低[吃瓜]

♥ 1 ↩ 1

new-Ludens 2025-09-28

mmu

lockyourself 2025-08-02

可以影响分配内存的过程让自己的内存覆盖到其他程序的内存上,然后操作吗

AkaneJiang 2025-08-01

那游戏修改器是怎么个情况

芙蓉湖倒叙 2025-07-22

dma这种呢

↩ 3

飛行场姬 2025-07-06

电源[doge]

cov_chong 2025-07-14

进程注入也可以访问其他进程空间吧

↩ 1