{"version":"https://jsonfeed.org/version/1.1","title":"苏迟但到的主页","home_page_url":"https://kexohproject.pages.dev","feed_url":"https://kexohproject.pages.dev/json/","description":"<p>你好，欢迎访问个人主页！</p><p>擅长密码学，安全分析，数字水印等技术。</p><p>你可以联系我通过:findmykexin@gmail.com或者知乎私信。</p><p>我的知乎链接：<a href=\"https://www.zhihu.com/people/su-chi-dan-dao\" rel=\"noopener noreferrer\" target=\"_blank\">苏迟但到 - 知乎 (zhihu.com)</a></p><p>我的github链接：<a href=\"https://github.com/kexinoh\" rel=\"noopener noreferrer\" target=\"_blank\">kexinoh</a></p>","icon":"https://kexohcdn.gptapi.cyou/kexohproject/production/images/channel-2e54d141ee195646ca12a9d16507a908.jpg","favicon":"https://kexohcdn.gptapi.cyou/kexohproject/production/images/favicon-340a2925d02a0386f3b954a032834917.jpg","authors":[{"name":"苏迟但到"}],"language":"zh-cn","items":[{"id":"MW8XxheSrmz","title":"有大牛知道中断会改变TLB/Cache吗？","content_html":"<p data-pid=\"oZp986cc\">中断有很多种类，如下图</p><figure data-size=\"normal\"><noscript><img src=\"https://pic3.zhimg.com/v2-3c2c815420a0fa254402091ac94da456_b.jpg\" data-rawwidth=\"1315\" data-rawheight=\"283\" data-size=\"normal\" data-caption=\"\" data-original-token=\"v2-c01bb1eb753331b295c7514243fb268a\" data-default-watermark-src=\"https://pic3.zhimg.com/v2-594ed807ad3d6f64458eec889d2c315a_b.jpg\" class=\"origin_image zh-lightbox-thumb\" width=\"1315\" data-original=\"https://pic3.zhimg.com/v2-3c2c815420a0fa254402091ac94da456_r.jpg\"/></noscript><img src=\"data:image/svg+xml;utf8,&lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; width=&#39;1315&#39; height=&#39;283&#39;&gt;&lt;/svg&gt;\" data-rawwidth=\"1315\" data-rawheight=\"283\" data-size=\"normal\" data-caption=\"\" data-original-token=\"v2-c01bb1eb753331b295c7514243fb268a\" data-default-watermark-src=\"https://pic3.zhimg.com/v2-594ed807ad3d6f64458eec889d2c315a_b.jpg\" class=\"origin_image zh-lightbox-thumb lazy\" width=\"1315\" data-original=\"https://pic3.zhimg.com/v2-3c2c815420a0fa254402091ac94da456_r.jpg\" data-actualsrc=\"https://pic3.zhimg.com/v2-3c2c815420a0fa254402091ac94da456_b.jpg\"/></figure><p data-pid=\"gPYo_nCv\">只有缺页中断（硬中断）会引起TLB和cache改变。极少数情况下会产生软中断，例如双开等等</p><p data-pid=\"czAmVPLo\">缺页中断发生时的事件顺序如下：</p><p data-pid=\"OHOyZRj8\">1) 硬件陷入内核，在内核<span class=\"nolink\">堆栈</span>中保存<span class=\"nolink\">程序计数器</span>。大多数机器将当前指令的各种状态信息保存在特殊的CPU<span class=\"nolink\">寄存器</span>中。</p><p data-pid=\"XPFVVZda\">2) 启动一个汇编代码例程保存<span class=\"nolink\">通用寄存器</span>和其他易失的信息，以免被操作系统破坏。这个例程将操作系统作为一个函数来调用。</p><p data-pid=\"iV_X6Fzi\">3) 当操作系统发现一个缺页中断时，尝试发现需要哪个虚拟页面。通常一个硬件寄存器包含了这一信息，如果没有的话，操作系统必须检索程序计数器，取出这条指令，用软件分析这条指令，看看它在缺页中断时正在做什么。</p><p data-pid=\"F5tGFKwO\">4) 一旦知道了发生缺页中断的<span class=\"nolink\">虚拟地址</span>，操作系统检查这个地址是否有效，并检查存取与保护是否一致。如果不一致，向进程发出一个信号或杀掉该进程。如果地址有效且没有保护错误发生，系统则检查是否有空闲<a href=\"https://link.zhihu.com/?target=https%3A//baike.baidu.com/item/%25E9%25A1%25B5%25E6%25A1%2586\" class=\" wrap external\" target=\"_blank\" rel=\"nofollow noreferrer\">页框</a>。如果没有空闲页框，执行<span class=\"nolink\">页面置换算法</span>寻找一个页面来淘汰。</p><p data-pid=\"l8EKNhch\">5) 如果选择的页框“脏”了，安排该页写回磁盘，并发生一次<span class=\"nolink\">上下文切换</span>，挂起产生缺页中断的进程，让其他进程运行直至磁盘传输结束。无论如何，该页框被标记为忙，以免因为其他原因而被其他进程占用。</p><p data-pid=\"sMNH8pQK\">6) 一旦页框“干净”后（无论是立刻还是在写回磁盘后），操作系统查找所需页面在磁盘上的地址，通过磁盘操作将其装入。该页面被装入后，产生缺页中断的进程仍然被挂起，并且如果有其他可运行的用户进程，则选择另一个用户进程运行。</p><p data-pid=\"-b1ZN9vy\">7) 当磁盘中断发生时，表明该页已经被装入，<a href=\"https://link.zhihu.com/?target=https%3A//baike.baidu.com/item/%25E9%25A1%25B5%25E8%25A1%25A8\" class=\" wrap external\" target=\"_blank\" rel=\"nofollow noreferrer\">页表</a>已经更新可以反映它的位置，<a href=\"https://link.zhihu.com/?target=https%3A//baike.baidu.com/item/%25E9%25A1%25B5%25E6%25A1%2586\" class=\" wrap external\" target=\"_blank\" rel=\"nofollow noreferrer\">页框</a>也被标记为正常状态。</p><p data-pid=\"z3IEw5Py\">8) 恢复发生缺页<span class=\"nolink\">中断指令</span>以前的状态，<span class=\"nolink\">程序计数器</span>重新指向这条指令。</p><p data-pid=\"SnOq-trL\">9) 调度引发缺页中断的进程，操作系统返回调用它的汇编语言例程。</p><p data-pid=\"yH0bN5U4\">10) 该例程恢复寄存器和其他状态信息</p>","content_text":"中断有很多种类，如下图\n\n[https://pic3.zhimg.com/v2-3c2c815420a0fa254402091ac94da456_b.jpg][data:image/svg+xml;utf8,&lt;svg\nxmlns=&#39;http://www.w3.org/2000/svg&#39; width=&#39;1315&#39;\nheight=&#39;283&#39;&gt;&lt;/svg&gt;]\n\n只有缺页中断（硬中断）会引起TLB和cache改变。极少数情况下会产生软中断，例如双开等等\n\n缺页中断发生时的事件顺序如下：\n\n1) 硬件陷入内核，在内核堆栈中保存程序计数器。大多数机器将当前指令的各种状态信息保存在特殊的CPU寄存器中。\n\n2) 启动一个汇编代码例程保存通用寄存器和其他易失的信息，以免被操作系统破坏。这个例程将操作系统作为一个函数来调用。\n\n3)\n当操作系统发现一个缺页中断时，尝试发现需要哪个虚拟页面。通常一个硬件寄存器包含了这一信息，如果没有的话，操作系统必须检索程序计数器，取出这条指令，用软件分析这条指令，看看它在缺页中断时正在做什么。\n\n4)\n一旦知道了发生缺页中断的虚拟地址，操作系统检查这个地址是否有效，并检查存取与保护是否一致。如果不一致，向进程发出一个信号或杀掉该进程。如果地址有效且没有保护错误发生，系统则检查是否有空闲页框。如果没有空闲页框，执行页面置换算法寻找一个页面来淘汰。\n\n5)\n如果选择的页框“脏”了，安排该页写回磁盘，并发生一次上下文切换，挂起产生缺页中断的进程，让其他进程运行直至磁盘传输结束。无论如何，该页框被标记为忙，以免因为其他原因而被其他进程占用。\n\n6)\n一旦页框“干净”后（无论是立刻还是在写回磁盘后），操作系统查找所需页面在磁盘上的地址，通过磁盘操作将其装入。该页面被装入后，产生缺页中断的进程仍然被挂起，并且如果有其他可运行的用户进程，则选择另一个用户进程运行。\n\n7) 当磁盘中断发生时，表明该页已经被装入，页表已经更新可以反映它的位置，页框也被标记为正常状态。\n\n8) 恢复发生缺页中断指令以前的状态，程序计数器重新指向这条指令。\n\n9) 调度引发缺页中断的进程，操作系统返回调用它的汇编语言例程。\n\n10) 该例程恢复寄存器和其他状态信息","date_published":"2022-08-27T08:53:43.000Z","_microfeed":{"web_url":"https://kexohproject.pages.dev/i/tlbcache-MW8XxheSrmz/","json_url":"https://kexohproject.pages.dev/i/MW8XxheSrmz/json/","rss_url":"https://kexohproject.pages.dev/i/MW8XxheSrmz/rss/","guid":"MW8XxheSrmz","status":"published","itunes:title":"New Article Title for iTunes","date_published_short":"Sat Aug 27 2022","date_published_ms":1661590423000}}],"_microfeed":{"microfeed_version":"0.1.2","base_url":"https://kexohproject.pages.dev","categories":[{"name":"Education","categories":[{"name":"Language Learning"}]},{"name":"Technology"}],"subscribe_methods":[{"name":"RSS","type":"rss","url":"https://kexohproject.pages.dev/rss/","image":"https://kexohproject.pages.dev/assets/brands/subscribe/rss.png","enabled":true,"editable":false,"id":"4KlfbtkEfzy"},{"name":"JSON","type":"json","url":"https://kexohproject.pages.dev/json/","image":"https://kexohproject.pages.dev/assets/brands/subscribe/json.png","enabled":true,"editable":false,"id":"DVFm7TYiNSq"}],"description_text":"你好，欢迎访问个人主页！\n\n擅长密码学，安全分析，数字水印等技术。\n\n你可以联系我通过:findmykexin@gmail.com或者知乎私信。\n\n我的知乎链接：苏迟但到 - 知乎 (zhihu.com)\n\n我的github链接：kexinoh","copyright":"©2024","itunes:type":"episodic","items_sort_order":"newest_first"}}