![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机基础
文章平均质量分 62
计算机操作系统、网络等知识
修行者xxl
这个作者很懒,什么都没留下…
展开
-
中断和异常(X86架构)
中断门描述符中的段选择符包含了中断程序段的段描述符,由段描述符可以找到中断程序段的基址,过程入口点偏移值包含中断处理程序的段内偏移值,两者结合得到中断处理程序入口点。中断和异常是强制性的执行流的转移,从当前正在执行的任务或程序转移到一个特殊的称作句柄的例程或任务。当硬件发出信号时,便产生中断,中断的产生是同现在正在执行的任务是异步的,即中断的产生是随机的。异常或中断向量号乘以8即可得到IDT中的描述符的索引。过程入口点偏移值是一个32位的值,它表示中断处理程序的入口点在段描述符定义的段内的偏移量。原创 2024-08-23 16:12:07 · 408 阅读 · 0 评论 -
汇编语言中常用的寄存器
其中,0-1位是RPL(特权等级,请求特权级),第2位是TI位,3-15位是索引Index位。段选择子不直接指向内存的段,而是指向段定义的段描述符。CS:存放正在运行的程序代码所在段的段基址,表示当前所使用的指令代码可以从该段寄存器指定的存储器中获得,相应的偏移量由IP提供。段寄存器分为可见部分和不可见部分,可见部分是选择子,不可见部分是后来根据段描述符的内容填充的,所以说段寄存器读的是16位,写一个寄存器要96位。DS:指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基址,原创 2024-08-23 10:07:06 · 482 阅读 · 0 评论 -
CPU的特权级(CPL)
如果应用程序请求其它特权级下的计算资源,势必会调用其它特权级下的代码段、数据段、栈,将其它特权级下的代码段、数据段、栈段链接进来。例如,CPU如果跑的是应用程序的代码,就会限制访问一些资源,如果CPU跑的是操作系统内核的代码,就不会有限制。内核代码段、数据段、栈段在计算机启动的时候,由内核自己设置为特权级0,其它特权级下计算机资源加载到内存,由操作系统决定它们的特权级。每个计算机资源都被贴上了标签,即计算机资源特权级,只有CPU特权级比这个计算资源特权级高或同等的时候,才能访问这个计算机资源。原创 2024-08-22 16:18:14 · 584 阅读 · 0 评论 -
浅谈虚拟内存
虚拟内存是一种内存管理技术,它为每一个进程提供了一个私有的、连续的空间。每个进程都感觉自己独享了整个内存空间。实际上,虚拟内存通过把物理内存和硬盘存储空间结合起来,实现了这种错觉。虚拟内存实际上就是根据程序的局部性原理,将一个作业分多次调入内存,不用将所有的作业都调入内存就可以启动,将不常用的数据存储在硬盘上。这样就允许程序在运行过程中访问超出物理内存容量的内存空间。原创 2024-08-19 13:41:45 · 122 阅读 · 0 评论