软考之路--你存在我深深的脑海里

简介:         小时候,总是期待着过年,过年可以吃到好多好吃的,暴露了小编的本质,哈哈,最让我期待的,就是压岁钱了,七大姑八大姨这个给一个红包,那个给一个红包,爸爸又会以同样的方式给她们的孩子,我们孩子从中得到的是纯利润,然后,恨不得连睡觉都紧紧...

        小时候,总是期待着过年,过年可以吃到好多好吃的,暴露了小编的本质,哈哈,最让我期待的,就是压岁钱了,七大姑八大姨这个给一个红包,那个给一个红包,爸爸又会以同样的方式给她们的孩子,我们孩子从中得到的是纯利润,然后,恨不得连睡觉都紧紧握住自己的存钱筒,想着,要去买什么好吃的呢,在小编的理解中,把压岁钱存在一起,堆积起来的过程,就是存储,在我们的计算机中,官方定义如下存储就是根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问,总的来讲可以包含两个方面的含义:一方面它是数据临时或长期驻留的物理媒介;另一方面,它是保证数据完整安全存放的方式或行为。存储就是把这两个方面结合起来,向客户提供一套数据存放解决方案。今天小编主要就这篇总结一下,操作系统中的存储方面的知识,首先,看下面一张图,小编会顺着这张图的脉络,一一介绍存储的相关知识点,有不同意见的小伙伴欢迎讨论交流。

                            

       首先,我们来看一下实存管理的单一连续分配,固定分区分配和可变分区分配,我们来看一张图,把这三个放在一起对比着来看:

                 

        把上面的内容进行对比,我们很容易可以看出来,只有可变分区分配的空间是可变的,然后单一连续分配和固定分区分配都是静态的,根据三个分配的名字,我们也可以很好的对这三个概念进行理解,接着,我们来深入了解这三个分配,首先:

         单一连续分配

         

        我们可以看得出来,把整个内存区画为一个区。它同一时间在内存当中只能装入一个程序,只能用于单用户、单

任务的执行操作。

       固定分区分配

       

      这个跟单一连续分配有异曲同工之妙,就是内存分配的比较固定,除此之外,固定分区分配还有自己的特点,就是把内存分为几个块,比如是:10K、12K、32K;那么就会有可能运行三个程序,当三个程序占用内存在这三个区域内的时候,我们就能运行。把这个分区给固定住了了,所以一旦有比这些区域要大的程序要运行,那么就玩完了,虽然总内存够用,但是也不能运行,因为分区分的太死了。

       可变分区分配

               

       打个比方:有三个过程,一开始和单一连续分配是一样的,然后当有程序要运行的时候,就给该程序分配匹配的空间,当用完之后,释放出来之后,又能拼凑成一个空白的区域,回到最初的状态,特别灵活。我们继续对可变分区分配方式进行探讨:

       最佳适应法

       选择等于或最接近需求的内存自由区进行分配。这种方法可以减少碎片,但同时也可能带来更多小得无法再用的碎片。但是这个还算有弊端的,这个我们应该怎么理解呢?比如我们有一个6K的空间,然后分配一个5K的空间给一个程序运行,那么剩余的1K一般来说就没法利用了,因为一般很少有1K的程序要运行,所以这个1K就成了碎片了,那么循环下来的话,就有很多碎片产生了。但是相对来说,这个分配方法还算是挺好的。

       首次适应法

       首次就是寻找第一个可用的,可用就是寻找大于等于作业需求的内存的自由区分配给作业。这个的好处就是缩短查找时间。

       最差适应法

       选择整个主存中最大的内存自由区。比如我有一个5K的程序要运行,然后内存中最大的自由区是64K,那么一样把64K分配给5K的程序运行,然后剩下的59K自由区还能继续利用起来。

       循环首次适应算法

       不在每次都是从头开始分配,而是连续向下匹配。我们画个图来理解:

        

       比如我们的内存是这样进行分配,那么我们现在有个作业需要12K内存占用,我们就从5K、10K、15K连续查找合适的,当找到15K的时候,我们就分配给12K,那么当我们剩余的3K的时候,刚好有一个程序是3K的需要分配内容来运行,要是我们按照首次适应法来进行分配,因为首次适应法是每次都是从头开始的,所以我们就找到5K的区域,就把5K分配了;但是要是我们按照循环首次适应的话,我们是连续分配的,这样我们就能刚好把剩余的3K分配给这个程序。

        虚存管理

        接着,我们来讲解一下虚存管理,虚存管理包括页式存储存储和段式存储管理,小编会从优缺点和地址转换图两个方面进行总结,最后通过一个例题结合理论知识来回顾我们的知识点。

        页式存储管理 

         

        通过用户程序和内存的分块,用户程序分为n个页面,页表起记录的作用。接下来我们看地址转换图:

        

       这个就是我们的地址转换器,我们想看这个是怎么个工作的,那么我们来看个例子,我们分析例子来进行理解:

       

       我们的解题过程应该是这样的,我们的逻辑地址是8644(十进制的),那么转换成二进制的为:10 0001 1100 0100;我们得知页面为4K=2的12次方,所以页内地址就为12位,所以a的后半部分为10 0001 1100 0100的后12位,为0001 1100 0100,那么剩下的最高两位为页号:10,转换成十进制为2,然后找出物理块号为8,8转换成二进制位1000,所以物理快号页内偏移拼合得1000 0001 1100 0100,化为十进制得33220。其实只要我们懂得了这个过程,那么剩下的就是进制的转换了。

        段式存储组织

        从用户出发,将一个程序分成几个块:

       

       从用户出发,将一个程序分成几个块:我们有页式存储的基础,这个就不在胯下,只是段的大小有点大。我们再看看地址转换:

        

       段式存储方式的算法和也是存储方式的算法一致,在这里就不赘述了。

       小编寄语:该博文,小编主要介绍了存储的相关知识点,分别从实存管理和虚存管理两个方面进行分析,实存管理的部分,从单一连续分配,固定分区分配和可变分区分配进行讲解,虚存管理从页式存储管理和段式存储管理进行讲解,对存储这方面的知识小编接触的不多,理解比较浅显,上述知识点的内容都是小编自己傻傻的理解,有不同理解的小伙伴欢迎讨论交流,软考之路,未完待续......

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
监控 Linux
Linux网络流量监控工具
Linux网络流量监控工具
|
6天前
|
人工智能 安全 API
CoPaw:5分钟部署你的 AI助理
源自阿里巴巴开源生态的个人 AI 助理——CoPaw。作为阿里倾力打造的开源力作,CoPaw 完美打通钉钉、飞书、Discord 等多平台对话通道,支持定时任务自动化。内置 PDF/Office 深度处理、新闻摘要等强大技能,更开放自定义扩展接口。坚持数据全程私有化部署,绝不上传云端,让每一位用户都能在大厂技术加持下,拥有安全、专属的智能助手。
|
9天前
|
人工智能 自然语言处理 JavaScript
2026年Windows+Ollama本地部署OpenClaw保姆级教程:本地AI Agent+阿里云上快速搭建
2026年OpenClaw凭借本地部署、私有化运行的特性,成为打造个人智能体的核心工具,而Ollama作为轻量级本地大模型管理工具,能让OpenClaw摆脱对云端大模型的依赖,实现**本地推理、数据不泄露、全流程私有化**的智能体验。本文基于Windows 11系统,从硬件环境准备、Ollama安装与模型定制、OpenClaw部署配置、技能扩展到常见问题排查,打造保姆级本地部署教程,同时补充阿里云OpenClaw(Clawdbot)快速部署步骤,兼顾本地私有化需求与云端7×24小时运行需求,文中所有代码命令均可直接复制执行,确保零基础用户也能快速搭建属于自己的本地智能体。
10400 80
|
7天前
|
人工智能 安全 JavaScript
阿里云上+本地部署OpenClaw(小龙虾)新手攻略:解锁10大必备Skills,零基础也能玩转AI助手
2026年,开源AI代理工具OpenClaw(昵称“小龙虾”)凭借“能实际做事”的核心优势,在GitHub斩获25万+星标,成为现象级AI工具。它最强大的魅力在于可扩展的Skills(技能包)系统——通过ClawHub插件市场的数百个技能,能让AI助手从简单聊天升级为处理办公、学习、日常事务的全能帮手。
6042 16
|
8天前
|
人工智能 自然语言处理 机器人
保姆级教程:Mac本地搭建OpenClaw及阿里云上1分钟部署OpenClaw+飞书集成实战指南
OpenClaw(曾用名Clawdbot、Moltbot)作为2026年最热门的开源个人AI助手平台,以“自然语言驱动自动化”为核心,支持对接飞书、Telegram等主流通讯工具,可替代人工完成文件操作、日历管理、邮件处理等重复性工作。其模块化架构适配多系统环境,既可以在Mac上本地化部署打造私人助手,也能通过阿里云实现7×24小时稳定运行,完美兼顾隐私性与便捷性。
5947 13
|
10天前
|
人工智能 JSON JavaScript
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
手把手教你用 OpenClaw(v2026.2.22-2)+ 飞书,10分钟零代码搭建专属AI机器人!内置飞书插件,无需额外安装;支持Claude等主流模型,命令行一键配置。告别复杂开发,像聊同事一样自然对话。
6144 15
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
|
5天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
3585 7
|
2天前
|
人工智能 JavaScript 测试技术
保姆级教程:OpenClaw阿里云及本地部署+Claude Code集成,打造全能 AI 编程助手
在AI编程工具百花齐放的2026年,Anthropic推出的Claude Code凭借72.5%的SWE-bench测试高分、25倍于GitHub Copilot的上下文窗口,成为开发者追捧的智能编程助手。但单一工具仍有局限——Claude Code擅长代码生成与审查,却缺乏灵活的部署与自动化执行能力;而OpenClaw(前身为Clawdbot)作为开源AI代理框架,能完美弥补这一短板,通过云端与本地双部署,实现“代码开发-测试-部署”全流程自动化。
1755 13