传统网站有没有建设必要性长春搜索排名提升

news/2025/9/22 17:12:06/文章来源:
传统网站有没有建设必要性,长春搜索排名提升,跨境经验分享,廊坊百度快照优化排名首发公号#xff1a;Rand_cs 共享内核空间 我们常说#xff0c;每个进程都有自己的虚拟地址空间#xff0c;但其中内核部分是共享的。 这就有个问题#xff0c;如何共享的#xff1f; 系统启动时创建了一张内核页表#xff0c;里面记录着内核地址空间与物理地址空间的…首发公号Rand_cs 共享内核空间 我们常说每个进程都有自己的虚拟地址空间但其中内核部分是共享的。 这就有个问题如何共享的 系统启动时创建了一张内核页表里面记录着内核地址空间与物理地址空间的映射关系而每次 fork 子进程时都会复制一份内核页表所以说每个进程页表中的内核部分是“相同的”因此可以说共享内核空间。 这里我将最初的内核页表称为“原本”每个进程的内核部分称为“副本”类似副本的设计都会存在存在一个问题——同步意思是说如果某个进程修改了内核空间的映射关系那么需要将这种映射关系的改变同步到其他副本如此才能保证逻辑正确。 最初分析 xv6 的 scheduler 的代码时发现每次返回到调度器时都会切换到内核页表如下所示 void scheduler(void) { ........swtch((c-scheduler), p-context); switchkvm(); ........ }当时我便在想不切换行不行于是将 switchkvm 注释掉发现出了错而且错误还不固定有的是触发 page fault、有的是系统 reset(从 main 函数重新开始执行)未找到明确的复现规律。当时没有细想初步便认为是因为各个进程页表的内核部分也就是“副本”们之间没有同步导致了种种错误。后来重新看代码的时候发现问题应该不在内核页表同步。 xv6 不需要内核页表同步因为 xv6 在启动的时候内核地址空间的映射关系已经建立好了而纵观代码也没有修改内核地址空间映射关系的地方所以内核地址空间的映射关系应是一直不变的。可能有的朋友会觉得 kalloc 函数会更改内核映射其实并没有kalloc 只是分配内存并没有修改映射关系可以仔细看看 kalloc 前后的关于修改映射关系的代码比如说 *pte xxx, *pde xxx这才是修改页表修改映射关系。在 growproc-kalloc 调用链中kalloc 分配的内存映射到了进程的用户空间修改的是进程页表用户态部分的 ptemappages-walkpgdir-kalloc 中分配的内存用作用户页表修改的是进程页表用户态部分的 pde 这就相当于 Linux 中的直接映射区域但是不存在 vmalloc 动态映射区域所以 xv6 其实不需要内核页表的同步。假如说某个进程确实会改动内核映射关系那么应该如何实现内核页表同步。同步内核页表是为了每个进入内核时都能看到相同的内核影响所以 第一种方式不需要同步内核页表每次进程进入内核的时候切换到“原本”内核页表那么每个进程进入内核的时候使用的是同一份页表当然就不需要同步第二种方式那就是老老实实的同步页表也就是说当“原本”或“副本”被修改的同时也就将相关的修改同步到其他“副本”。这部分可以参考 Linux vmalloc 区同步的做法当“原本”修改时调用 sync_global_pgds 主动将修改同步到其他“副本”。当某个“副本”被修改时Linux 先后有三种同步方式最开始在 pagefault 中触发同步但有竟态问题有了第二种主动同步但因为性能问题又增加了第三种干掉同步的方式。Linux 内存管理的部分见 bin的技术小屋 这位大佬写的文章本文不赘述这应该是全网对 Linux 内存管理讲解的最详尽细致的文章了值得一看。 这里在穿插一个问题既然内核里面本来就有一份内核页表那么进程页表何必再拷贝一份内核页表反正进程在用户态时不能访问内核态根本就用不到内核页表。每个进程页表只需要映射它自己的地址空间以及跳转到内核那一小段代码段即可跳转到内核后切换到内核页表在内核办完事儿后再切换回进程页表这个过程似乎没有问题也就是根本就没必要拷贝整个内核页表到进程页表的内核部分那为什么还要这么做呢让内核地址空间和进程用户地址空间在同一张页表共存 我想这个问题应该是和架构强相关在 arm 中有两个页表寄存器ttbr0 存放进程页表ttbr1 存放共享的内核页表访问用户空间地址使用 ttbr0 寄存器访问内核空间地址使用 ttbr1 寄存器。因为 arm 有两个寄存器进程进出内核不需要进行页表切换。 但是 x86 架构只有一个页表寄存器如果将用户页表和内核页表分开那么进出内核势必造成页表切换页表切换刷新 tlb如果没有 ASID/PCID 等机制的话性能损失太多 话说内核页表和用户页表共存也会引发一些安全问题比如之间大爆的 meldown 漏洞以及相应的缓解方案 kpti挺有意思有兴趣的话可以看一下。 回到 xv6 上面来那为什么 scheduler 中需要切换到内核页表很不幸这个问题始终还未能解决写在这里便是和大家讨论一下以及分享一下相关的一些东西另外很有意思的是当我在 ubuntu 虚拟机中跑注释掉 switchkvm 的 xv6 时会引发各种问题但是在 ubuntu 的宿主机上跑便没有问题(已考虑到虚拟机 cpu 核心分配的问题)这便很奇怪想了很久未能弄明白暂时存疑吧。元芳你怎么看 首发公号Rand_cs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站能获取访问者关键词搜索引擎又称为

1.简介 RapidJSON 是一个 C 的 JSON 解析库,由腾讯开源。 支持 SAX 和 DOM 风格的 API,并且可以解析、生成和查询 JSON 数据。RapidJSON 快。它的性能可与strlen() 相比。可支持 SSE2/SSE4.2 加速。RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至…

详细介绍:PHP基础-数据类型(第九天)

详细介绍:PHP基础-数据类型(第九天)2025-09-22 17:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术

实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

从 “盲调” 到 “精准优化”:SQL Server 表统计信息实战指南

本文核心要旨在于:SQL Server 表统计信息作为元数据对象,宛如数据分布的 "指南针",精准存储着数据分布信息,为查询优化器提供关键依据,助力其生成高效的查询执行计划。在维护方面,统计信息更新有手动与…

别的摄像机都能国标GB28181注册上,就这台海康摄像机注册不上来,国标配置都反复检查没问题

别的摄像机都能国标GB28181注册上,就这台海康摄像机注册不上来,国标配置都反复检查没问题先看看下午EasyGBS群里用户提到的问题,我先大概描述一下,用户说有一台海康的摄像机IPC国标注册不到EasyGBS,另一台可以,区…

保护眼睛小程序

import wx import time from datetime import datetime, timedelta class MyFrame(wx.Frame): def init(self): super().init(None, title=用眼提醒, size=wx.Size(800, 600)) self.SetWindowStyle(wx.STAY_ON_TOP)# 创…

公司有网站域名 如何做网站传媒公司做网站编辑 如何

同一个浏览器登录不同账号session一致,这就导致后面登录的用户数据会把前面登录的用户数据覆盖掉,这个问题很常见,当前我这边解决的就是同一个浏览器不同窗口只能登录一个用户,解决方案如下: 1、在App.vue中监听本地数…

石家庄网站外包有多少种做网站后台程序

Java 集合交集判断 一. 使用 retainAll()方法二. 使用 removeAll() 方法与判断集合大小三. 使用 Stream 流式处理四. 使用 Collections.disjoint() 方法五. 总结六. 参考文章 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续…

视频网站做板块栏目手机大全网站

日前价格预测 预测说明: 如上图所示,预测明日(2023-12-31)山西电力市场全天平均日前电价为445.23元/MWh。其中,最高日前电价为791.27元/MWh,预计出现在08:15。最低日前电价为270.52元/MWh,预计…

做的网站上传到服务器专业制作效果图公司

今天给大家分享的题目是leetcode242有效的字母异位词 我们先看题目描述: Chatgpt中对于字母异位词的解释如下: 字母异位词是指由相同的字母组成但顺序不同的单词。换句话说,字母异位词具有相同的字母,只是排列顺序不同。 简单的将…

备案可以不关闭网站吗科技设计网站建设

排序思想掌握 前言: 开发当中为什么会用到算法?或者说为什么需要算法与数据结构等? 算法思想可以帮助我们优化程序的性能,例如减少时间与空间复杂度,从而使程序更快、更有效地运行。在数据分析领域,算法思想…

做模具做什么网站做外贸的人经常用什么网站

Zookeeper 架构理解 整体架构 Follower server 可以直接处理读请求,但不能直接处理写请求。写请求只能转发给 leader server 进行处理。最终所有的写请求在 leader server 端串行执行。(因为分布式环境下永远无法精确地确认不同服务器不同事件发生的先后…

做网站维护有危险吗官网制作需要多少钱

uniapp嵌套webview,如何解决回退问题? 文章目录 uniapp嵌套webview,如何解决回退问题?遇到问题解决方式方式一方式二 场景: 进入首页,自动跳转第三方应用 遇到问题 在设备上运行时,无法回退上…

杭州滨江的网站建设公司众筹 wordpress

每次刚装完系统我们访问GitHub就会出现无法访问的情况,此时只需要修改host文件将可访问的dns解析地址写入进去即可。 查询DNS 使用dns监测查询工具 https://tool.chinaz.com/dns https://dnsdaquan.com/ 输入无法访问的IP github.com 进行检测 查询到可访问的i…

如何创建外卖网站优秀广告设计案例作品欣赏

压缩包的内容 里面有secret.txt文件,用ARCHPR工具套上字典,爆破压缩包密码。密码为pavilion 解压得到原图,并且有了加密后的图片,根据代码里的key和参数直接运行脚本解密水印图片: import cv2 import numpy as np imp…

贵州专业网站建设公司如果做公司网站

写在前面: 博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。 目录 1. …

[::-1]的用法

[::-1] 是 Python 中一种非常简洁且常用的切片(slice)语法,它的作用是反转序列。 它可以用在多种数据类型上,包括:列表 (list) 字符串 (string) 元组 (tuple) NumPy 数组语法解析 切片语法的一般形式是:[start:s…

003_for循环操作列表和元组

1、for循环遍历整个列表 cars = ["奔驰", "比亚迪", "长安", "理想"] cars.insert(0, "红旗") cars.append("长安") cars.insert(len(cars), "宝马…

linux 文件传输命令

在 Linux 系统中,有多种命令可用于文件传输,适用于不同场景(本地传输、网络传输、不同协议等)。以下是常用的文件传输命令: 1. 本地文件传输命令 cp - 复制文件 / 目录 最基础的本地文件复制命令bash# 复制文件 c…