总线错误

✍ dations ◷ 2025-10-28 22:34:15 #计算机总线,计算机错误,内存管理

在计算机领域,总线错误(bus error)是一种硬件故障(英语:Fault (computing)),为通知操作系统一个进程正尝试访问CPU无法访问的物理地址,即一个无效的地址总线地址,它由此得名。在现代的大多数架构中,这比存储器区段错误(段错误)更罕见,而那主要由于内存访问冲突所造成:即逻辑地址或权限的问题。

在POSIX兼容平台上,总线错误通常导致发送SIGBUS信号到导致错误的进程。SIGBUS也可能因计算机检测到的任何常规设备故障引发。总线错误很少代表硬件存在物理损坏,而通常是因程序源代码中的程序错误引起。总线错误也可能因其他某些分页错误引发,见下文。

总线错误有至少三种主要原因:

软件令CPU读写特定的物理内存地址时,CPU会将这个物理内存地址填入地址总线,并等待所有其他连接着CPU的硬件来认领并响应这个请求。当没有任何硬件响应CPU时,CPU会触发一个异常,表示整个计算机系统都无法识别上述请求的物理内存地址。需要注意的是,这里仅涉及到内存地址。如果访问一个未定义的虚拟内存地址,一般会产生一个段错误而不是总线错误,尽管对于MMU与CPU分离的计算机来说,CPU无法区分这两种情况。

x86上存在一种较旧的称为x86存储器区段的内存管理机制。

如果应用程序使用不存在段的选择器加载段寄存器(在POSIX兼容的操作系统下只能使用汇编语言完成),则会生成异常。

相关

  • 类囊体膜类囊体是叶绿体或蓝绿藻中的一种单层膜囊状结构,是光合作用中光反应进行的场所。类囊体的存在增大了叶绿体的膜面积,从而增大了受光面积。类囊体(Thylakoid)一词源于希腊文“thy
  • 犰狳.mw-parser-output ruby.zy{text-align:justify;text-justify:none}.mw-parser-output ruby.zy>rp{user-select:none}.mw-parser-output ruby.zy>rt{font-feature-settings:
  • 芒特莱克泰勒斯山河阳台(英文:Mountlake Terrace),是美国华盛顿州斯诺霍米什县下属的一座城市。根据 2000年美国人口普查,该市有人口20,362人。根据2010年美国人口普查,该市有人口19,909人。而20
  • EA-6BEA-6徘徊者(Prowler)式是一种双引擎、中单翼的舰载机,专门担任电子作战任务,机体沿用A-6闯入者式攻击机的基本设计,由格鲁门公司(现为诺斯洛普·格鲁门公司)制造。目前服役的是EA-6
  • 镇流器镇流器,是指为了克服气体放电型电光源的负阻特性,使之能够正常工作而加入的配套使用的电器设备。传统的镇流器一般是一个由漆包线和由矽钢片组成的铁芯绕制而成的电感,并且常常
  • 松永光松永光(1928年11月23日-),日本自由民主党众议员。长崎县人。U45年中央大学专科部法学科毕业。1951年早稻田大学第二法学部毕业。曾任福冈地方检察院校事、文部大臣和书官、律师
  • 大洋钻探计划大洋钻探计划(Ocean Drilling Program,ODP)是一项通过在大洋底部钻探进入地球内部采集洋底沉积物和岩石样本进行基础研究的国际合作项目,是深海钻探计划的延伸。1985年,随着钻探
  • 罗曼什海沟罗曼什海沟(Romanche Trench),亦被称为罗曼什水平沟(Romanche Furrow)、罗曼什裂口(Romanche Gap)、罗曼什断裂带(Romanche Fracture Zone),为大西洋第三深海沟,在波多黎各海沟、南桑德
  • 戴闻达扬·尤利乌斯·洛德韦克·戴闻达(荷兰语:Jan Julius Lodewijk Duyvendak,1889年6月28日-1954年7月9日),是一位荷兰汉学家。1889年出生在荷兰哈灵根,在莱顿大学学习文献学,后转向汉语
  • 埃利奥特湾埃利奥特湾(英语:Elliott Bay)是卡斯凯迪亚(英语:Cascadia (bioregion))皮吉特湾中央海盆区的一部分,位于美国华盛顿州,北连西点(英语:West Point (Seattle)),南接艾尔凯波因特(英语:Alki