深圳企业网站开发费用html代码中标签的书写不区分大小写

pingmian/2025/10/13 18:36:57/文章来源:
深圳企业网站开发费用,html代码中标签的书写不区分大小写,公司logo查询,网站转移码文章目录 一、简介二、vdso2.1 用户态2.2 内核态2.3 内核源码解析 参考资料 一、简介 Linux中的vdso#xff08;Virtual Dynamic Shared Object#xff09;是一种特殊的动态共享对象#xff0c;它在用户空间和内核空间之间提供了一种高效的接口。vdso机制的目的是减少用户空… 文章目录 一、简介二、vdso2.1 用户态2.2 内核态2.3 内核源码解析 参考资料 一、简介 Linux中的vdsoVirtual Dynamic Shared Object是一种特殊的动态共享对象它在用户空间和内核空间之间提供了一种高效的接口。vdso机制的目的是减少用户空间程序与内核之间频繁的上下文切换开销提高系统性能。 “vDSO”虚拟动态共享对象是一个小型的共享库内核会自动将其映射到所有用户空间应用程序的地址空间中。应用程序通常无需关注这些细节因为vDSO最常由C库调用。这样可以以正常方式编码使用标准函数而C库会负责使用通过vDSO可用的任何功能。 vDSO的存在是为什么内核提供了一些系统调用用户空间代码经常使用这些调用以至于这些调用可能主导整体性能。这既是由于调用的频率又是由于从用户空间退出并进入内核所产生的上下文切换开销。 vdso包含一组特定的函数这些函数在用户空间中执行但其实现是由内核提供的。用户空间程序可以通过调用这些函数来访问一些系统功能而无需陷入内核态。 vdso的一个重要用途是实现系统调用的快速路径。当用户空间程序执行系统调用时通常需要进行一次上下文切换将控制权从用户态切换到内核态。然而某些系统调用是非常频繁且开销较小的这种上下文切换的开销可能会成为性能瓶颈。vdso提供了一个快速路径通过在用户空间中执行特定的系统调用函数避免了不必要的上下文切换从而提高了系统调用的性能。 在Linux中vdso通常以linux-vdso.so.X的形式存在于/proc/self/maps中并且被映射到每个进程的地址空间中。这样用户空间程序可以直接调用vdso中的函数而无需显式加载和链接vdso库。 总结来说vdso是Linux中用于优化系统调用性能的一种机制它提供了一组在用户空间执行的特定系统调用函数以减少用户态和内核态之间的上下文切换开销并提高系统性能。 备注 vdso只包括了几个特定的系统调用 clock_gettime gettimeofday getcpu time clock_getres比如gettimeofday 一个经常被使用的系统调用是gettimeofday(2)。这个系统调用既可以被用户空间应用程序直接调用也可以被C库间接调用。想象一下时间戳、定时循环或轮询所有这些都经常需要知道当前的时间。这些信息也不是机密的任何特权模式root或非特权用户的应用程序都会得到相同的答案。因此内核会安排将回答这个问题所需的信息放置在进程可以访问的内存中。现在调用gettimeofday(2)变成了一个普通的函数调用和几次内存访问。 二、vdso 2.1 用户态 # ldd /usr/bin/lslinux-vdso.so.1 (0x00007ffca7b40000)......# cat /proc/1/maps 55637a23d000-55637a26f000 r--p 00000000 08:05 59514907 /usr/lib/systemd/systemd 55637a26f000-55637a32d000 r-xp 00032000 08:05 59514907 /usr/lib/systemd/systemd 55637a32d000-55637a383000 r--p 000f0000 08:05 59514907 /usr/lib/systemd/systemd 55637a383000-55637a3c9000 r--p 00145000 08:05 59514907 /usr/lib/systemd/systemd 55637a3c9000-55637a3ca000 rw-p 0018b000 08:05 59514907 /usr/lib/systemd/systemd 55637c14a000-55637c416000 rw-p 00000000 00:00 0 [heap]......7f008b2bf000-7f008b2c0000 rw-p 00000000 00:00 0 7ffd3bc40000-7ffd3bd42000 rw-p 00000000 00:00 0 [stack] 7ffd3bd4f000-7ffd3bd53000 r--p 00000000 00:00 0 [vvar] 7ffd3bd53000-7ffd3bd55000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]其中 7ffd3bd53000-7ffd3bd55000 r-xp 00000000 00:00 0 [vdso]可以看到vdso内存大小0x2000 4096 * 2即两个虚拟页面的大小。 vdso的起始虚拟地址在进程1是0x7ffd3bd53000转化为十进制即140725607280640将这段内存dump到文件中 # dd if/proc/1/mem of/tmp/linux-vdso.so skip140725607280640 ibs1 count8192 dd: /proc/1/mem: cannot skip to specified offset 81920 records in 160 records out 8192 bytes (8.2 kB, 8.0 KiB) copied, 0.00971912 s, 843 kB/s由于vDSO是一个完整的ELF镜像可以对其进行符号查找 # objdump -T /tmp/linux-vdso.so/tmp/linux-vdso.so: file format elf64-x86-64DYNAMIC SYMBOL TABLE: 0000000000000a10 w DF .text 0000000000000413 LINUX_2.6 clock_gettime 0000000000000690 g DF .text 0000000000000348 LINUX_2.6 __vdso_gettimeofday 0000000000000e30 w DF .text 0000000000000060 LINUX_2.6 clock_getres 0000000000000e30 g DF .text 0000000000000060 LINUX_2.6 __vdso_clock_getres 0000000000000690 w DF .text 0000000000000348 LINUX_2.6 gettimeofday 00000000000009e0 g DF .text 0000000000000029 LINUX_2.6 __vdso_time 0000000000000ec0 g DF .text 000000000000009c LINUX_2.6 __vdso_sgx_enter_enclave 00000000000009e0 w DF .text 0000000000000029 LINUX_2.6 time 0000000000000a10 g DF .text 0000000000000413 LINUX_2.6 __vdso_clock_gettime 0000000000000000 g DO *ABS* 0000000000000000 LINUX_2.6 LINUX_2.6 0000000000000e90 g DF .text 0000000000000025 LINUX_2.6 __vdso_getcpu 0000000000000e90 w DF .text 0000000000000025 LINUX_2.6 getcp2.2 内核态 vDSO 会向用户提供的 syscall // linux-5.13/arch/x86/entry/vdso/vdso.lds.S/** This controls what userland symbols we export from the vDSO.*/ VERSION {LINUX_2.6 {global:clock_gettime;__vdso_clock_gettime;gettimeofday;__vdso_gettimeofday;getcpu;__vdso_getcpu;time;__vdso_time;clock_getres;__vdso_clock_getres;__vdso_sgx_enter_enclave;local: *;}; }即 __vdso_clock_gettime __vdso_gettimeofday __vdso_getcpu __vdso_time __vdso_clock_getres __vdso_sgx_enter_enclave通常vDSO遵循将所有符号以“_vdso”或“_kernel”作为前缀的命名约定以便将它们与其他标准符号区分开。例如“gettimeofday”函数的名称是“__vdso_gettimeofday”。 可以看到用户态vdso虚拟地址内容一样。 2.3 内核源码解析 内核具体源码解析请参考 https://tinylab.org/riscv-syscall-part4-vdso-implementation/ https://www.bookstack.cn/read/linux-insides-zh/SysCall-linux-syscall-3.md https://zhuanlan.zhihu.com/p/611286101 参考资料 Linux 5.13 https://man7.org/linux/man-pages/man7/vdso.7.html https://blog.rustforever.top/2022/02/10/linux/syscall/vdso/ https://zhuanlan.zhihu.com/p/620578643 https://cloud.tencent.com/developer/article/1517837

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

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

相关文章

哪里有做ppt的网站移动商务网站开发课程

在 javascript 中,我们常常用 typeof 运算符来检测对象的类型,在使用 typeof 检测引用类型的存储值会出现一个问题,无论引用的是什么类型的对象,它都会返回 "object"。这个时候我们往往会使用 instanceof instanceof 可…

黄浦区seo网站建设简单网站制作

目录 前言 基于激光雷达和相机的路侧感知系统需求分析及设计 2.1 引言 2.2 感知系统总体结构

容桂网站制作信息在人才网站做业务

分享是最好的整理,利用csdn 平台保存一下

统计局网站建设情况千万不要做手游推广员

目录 前置知识循环依赖的产生Spring里面的3个Map 课程内容一、只有一级缓存的推理演进1.1 直接将实例化后生成的对象放入到单例池里面1.1 引入一个中间Map存实例化后的早期对象(疑似二级缓存)1.3 解决1.2需要被代理的问题(疑似二级缓存&#…

网站平台建设招标书中国外贸论坛

教育 -航空概论-章节资料考试资料-郑州航空工业管理学院【】 第1部分单元作业 第1部分单元测验 1、【单选题】航空是指载人或不载人的飞行器在地球 的航行活动。 A、高空 B、大气层内 C、宇宙 D、大气层外 参考资料【 】 2、【单选题】轻于空气的航空器靠 升空。 A、与空气相对…

六盘水住房和城乡建设部网站wordpress关于

MySQL 一、练习要求二、练习过程 一、练习要求 创建表并插入数据: 字段名数据类型主键外键非空唯一自增idINT是否是是否nameVARCHAR(50)否否是否否glassVARCHAR(50)否否是否否 sch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun glass 21、创建一个可以统计…

长春站是火车站还是高铁站建设医院网站的重点与难点在于

文章目录 1. 新建工程2. 打开工程3. 加载点云1. 新建工程 打开StonexSiScan点云后处理软件,点击【新建】按钮。 选择工程存放路径,输入工程名称。 2. 打开工程 点击【打开】按钮。

黄埔网站建设(信科网络)wordpress访问源端口号

1.编译lcx源码: GitHub - UndefinedIdentifier/LCX: 自修改免杀lcx端口转发工具 2.在win7上安装vs2010并编译生成lcx.exe 3.在要被控制主机上运行: lcx -slave 192.168.31.248 51 192.168.31.211 3389 192.168.31.248为远程主控制主机,51为远程主机端口 192.168.31.211为被…

广西南宁市住房和城乡建设局网站企业中征码查询入口

随着人们的生活水平的提升,越来越多小伙伴来开始追求更高的生活水平,一些智能化的小家电就被发明出来,而且内衣洗衣机是其中一个。我们对内衣裤的清洗频次会高于普通衣服,大多数人会选择手洗内衣裤,都在手洗过程不仅会…

做海报哪个网站好高清装饰画图片素材网

前五年—中国十大科技进展新闻(2012-2017) 2017年中国十大科技进展新闻1. 我国科学家利用化学物质合成完整活性染色体2. 国产水下滑翔机下潜6329米刷新世界纪录3. 世界首台超越早期经典计算机的光量子计算机诞生4. 国产大型客机C919首飞5. 我国首次海域天…

郑州营销型网站推广怎样建设一个网站赚钱

摘要:在目前的六氟化硫气体精密计量中普遍采用重量法和定容法两种技术,本文分析了重量法中存在的问题以及定容法的优势,同时也指出定容法在实际应用中还存在自动化水平较低的问题。为了提高定容法精密计量过程中的自动化水平,本文…

网站建设报告实训步骤建设局是什么单位

力扣面试150题 | 买卖股票的最佳时期 题目描述解题思路代码实现 题目描述 121.买卖股票的最佳时期 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一…

云服务器怎么做多个网站沈阳网站关键词优化排名

加载并理解您的数据。 本课程所需数据集夸克网盘下载链接:https://pan.quark.cn/s/9b4e9a1246b2 提取码:uDzP 文章目录 1、使用Pandas了解你的数据2、解释数据描述1、使用Pandas了解你的数据 任何机器学习项目的第一步都是熟悉数据。您将使用Pandas库进行此操作。Pandas是数…

常用的网站开发语言厦门市建设工程造价网站

这是很久很久以前做的一道题,可惜当时WA了一页以后放弃了。 今天我又重新捡了起来。(哈哈1A了) 题意: 没有上司的舞会判重 思路: hash一下树形DP 题目中给的人名hash到数字,再进行运算。 树形DP f[x…

用自己的网站做淘客佛山广告设计公司排名

在 Java 开发领域,Spring 框架无疑是一颗璀璨的明星,它不仅提供了全面的企业级特性,还为开发者提供了简便而强大的开发方式。本文将深入探讨 Spring 框架的简介、配置和快速入门,带你轻松驾驭 Java 世界的利器。 Spring 简介 Sp…

winserverfrp可以做网站吗网站模板类型

GNU 编译器集合是一系列用于语言开发的编译器和库的集合,包括: C, C, Objective-C, Fortran, Ada, Go, and D等编程语言。很多开源项目,包括 Linux kernel 和 GNU 工具,都是使用 GCC 进行编译的。 默认的 CentOS 软件源包含了一个软件包组&a…

南昌网站建设方案报价可以设计制作网页的软件

%d 有符号10进制整数 %ld 长整型 %hd短整型%md,m指定的是输出字段的宽度,默认左补空格, 如果数据的位数小于m,则左端补以空格,若大于m,则  按实际位数输出,如:  printf("%4d,%4d",a,b)  若…

手表网站素材聚通装潢官网电话

//去左右空格; function trim(s){return s.replace(/(^\s*)|(\s*$)/g, ""); }

国内网站开发河南省公共资源交易中心

概述 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他的代码出现错误。传统的自动化回归测试需要手动编写脚本获得页面元素的视图树,与原有的元素视图树进行比对。当功能进行频繁迭代时,测试同学维护这些视图…

it在线学习网站开发网站更新了

⑸ 集合运算连接 有时候,用户希望在SQL查询中利用关系代数中的集合运算(并、交、差)来组合关系,SQL为此提供了相应的运算符:UNION、INTERSECT、EXCEPT(oracle的minus?),分别对应于集合运算的∪、∩、-。它…