首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

谈下Linxu系统中虚拟内存的重要性

我们知道程序代码和数据必须驻留在内存中才能得以运行,然而系统内存数量很有限,往往不能容纳一个完整程序的所有代码和数据,更何况在多任务系统中,可能需要同时打开子处理程序,画图程序,浏览器等很多任务,想让内存驻留所有这些程序显然不太可能。因此首先能想到的就是将程序分割成小份,只让当前系统运行它所有需要的那部分留在内存,其它部分都留在硬盘。当系统处理完当前任务片段后,再从外存中调入下一个待运行的任务片段。的确,老式系统就是这样处理大任务的,而且这个工作是由程序员自行完成。但是随着程序语言越来越高级,程序员对系统体系的依赖程度降低了,很少有程序员能非常清楚的驾驭系统体系,因此放手让程序员负责将程序片段化和按需调入轻则降低效率,重则使得机器崩溃;再一个原因是随着程序越来越丰富,程序的行为几乎无法准确预测,程序员自己都很难判断下一步需要载入哪段程序。因此很难再靠预见性来静态分配固定大小的内存,然后再机械地轮换程序片进入内存执行。系统必须采取一种能按需分配而不需要程序员干预的新技术。

01

linux之用户空间和内核空间

linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。 Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G。Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。而将较低的3G字节(从虚拟地址 0x00000000到0xBFFFFFFF),供各个进程使用,称为“用户空间)。因为每个进程可以通过系统调用进入内核,因此,Linux内核由系统内的所有进程共享。于是,从具体进程的角度来看,每个进程可以拥有4G字节的虚拟空间。 Linux使用两级保护机制:0级供内核使用,3级供用户程序使用。从图中可以看出(这里无法表示图),每个进程有各自的私有用户空间(0~3G),这个空间对系统中的其他进程是不可见的。最高的1GB字节虚拟内核空间则为所有进程以及内核所共享。 内核空间中存放的是内核代码和数据,而进程的用户空间中存放的是用户程序的代码和数据。不管是内核空间还是用户空间,它们都处于虚拟空间中。 虽然内核空间占据了每个虚拟空间中的最高1GB字节,但映射到物理内存却总是从最低地址(0x00000000)开始。对内核空间来说,其地址映射是很简单的线性映射,0xC0000000就是物理地址与线性地址之间的位移量,在Linux代码中就叫做PAGE_OFFSET。 内核空间和用户空间之间如何进行通讯? 内核空间和用户空间一般通过系统调用进行通信。 如何判断一个驱动是用户模式驱动还是内核模式驱动? 判断的标准是什么? 用户空间模式的驱动一般通过系统调用来完成对硬件的访问,如通过系统调用将驱动的io空间映射到用户空间等。因此,主要的判断依据就是系统调用。 内核空间和用户空间上不同太多了,说不完,比如用户态的链表和内核链表不一样;用户态用printf,内核态用printk;用户态每个应用程序空间是虚拟的,相对独立的,内核态中却不是独立的,所以编程要非常小心。等等。 还有用户态和内核态程序通讯的方法很多,不单单是系统调用,实际上系统调用是个不好的选择,因为需要系统调用号,这个需要统一分配。 可以通过ioctl、sysfs、proc等来完成。

02

清博智能尹健:AI驱动元宇宙生态构建,与「沉浸感」的距离决定了「元宇宙」何时到来 | 镁客·请讲

点击图片立刻参与! 构建元宇宙生态,少不了AI驱动。 作者 | 来自镁客星球的王饱饱 一个新的市场空间正在被打开。 镁客网注意到,去年伊始在全球范围内大火的“元宇宙”,并没有像某些“商业伪概念”一样,随时间的推进逐渐被证明为是种空想,而是伴随着如人工智能、大数据、区块链、虚拟现实和可穿戴设备等底层技术应用的日渐成熟,和商业资本等多种力量的共同推动,在以不同的面貌“落地”。 像虚拟人、数字藏品等近年来正在蓬勃发展的新兴商业赛道,正因“元宇宙”概念的深度普及而获得了更大的市场空间;像AR/VR等虚拟现实产业,

03

国内首个“元宇宙”专业引热议:南京双一流高校推出,3年前刚成立AI学院

羿阁 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 一所“双一流”高校,将有着25年历史的“信息工程系”,改名成了“元宇宙工程系”?! 自元宇宙大火到现在,这还是“第一个吃螃蟹的高校”。 这个大新闻来自南京信息工程大学,前身是南京大学气象学院,并在2004年将校名南京气象学院改成如今的名字。 从官方文件来看,这次发力元宇宙,他们是认真的。 就在今年8月,他们还成立了元宇宙研究所,作为研究方向之一。 据现代快报介绍,元宇宙工程系所在的学院院长潘志庚表示,将来他们还会计划与香港理工大学联合培养元宇宙方

02

腾讯云方腾飞:文旅行业是全真互联的天然应用领域

“文旅行业是全真互联的天然应用领域,作为幸福产业之首,文旅行业拥有着丰富的内容、IP和线下场景,构成了全真互联的重要生产要素;同时全真互联也将成为文旅产业数字化升级的重要驱动力”, 2022年9月26日,在腾讯与埃森哲联合举办的《全真互联白皮书》发布会上,腾讯云副总裁、腾讯文旅总经理方腾飞表示。 腾讯联合埃森哲发布《全真互联白皮书》 近年来,随着数实融合进程加快,文旅行业也迎来了数字化浪潮,在传统旅游业态的转型、产品创新、服务升级等方面,全真互联相关技术发挥了巨大推动作用。 腾讯公司高级执行副总裁、云与智

01

腾讯牟蕾:实景三维串起产业互联网与消费互联网

实景三维正在塑造数据、技术、应用的全新生态。 为了构筑统一的空间基底,监管部门与企业的联动愈加频繁,跨领域企业合作正在成为常态。作为空间信息领域的深度参与者,腾讯在从数据生态、技术生态再到应用生态的产业链条中,扮演着助手的角色。 “腾讯近日发布的实景三维中国解决方案是一个开放的生态。” 腾讯位置服务总经理牟蕾向泰伯网介绍:“在数据采集层和数据处理层,我们向地信测绘等专业机构提供算法、算力等开放能力。在应用层,则向更多企业和民众提供更加丰富的服务。” 蓝海下仍存“暗礁” 实景三维中国建设及其伴生而来的应用

02
领券