操作系统408真题:共享段表的操作-程序员宅基地

技术标签: 408统考  统考408错题集  操作系统  

题目

        这个题目是2019年408操作系统的一道真题。考察的是对共享段表的理解。因为复习的时候没有怎么看教材,所以对这一块的知识就淡忘了。所以做题的时候就是凭借经验去分析的,最后就导致了一个错误的理解。
在这里插入图片描述

错误理解

        这个题目的答案选择B,但是我自己最开始做的时候,是认为B是正确的。我是这样理解的:

        我们现在假设这样的一个情景:该系统采用分段存储。虚拟地址一共32位,16位的段号,16位的段内偏移。

        由题可知,现在进程P1和进程P2共享段S,且共享段被共享段表所表述。我们假设进程P1中的共享段S的逻辑地址(也就是虚拟地址)为0x12345000到0x12348000一共3KB的内容;进程P2中的共享段S的逻辑地址为0x3450000到0x34553000也是3KB的内容(因为这两个进程就是共享的一个段,自然这个段的大小是一样的)

        那么进程P1如果访问共享段的内容,是不是要去共享段表里面找,看看这个共享段的实际物理地址在哪里!那么进程P1如何去找呢?是不是根据逻辑地址的划分,前面16位段号,结合段表寄存器中的段表基址找到这个段表项的位置。问题就出现在这里:因为进程P1和进程P2是同一个共享段表,所以他们的段基址寄存器的内容肯定是一样的。但是他们这个共享段的逻辑地址却不一样,这就导致了最后在形成这个共享段表项的物理地址的时候,出现了不同。自然,定位到共享段表的段表项也是不同的。

        所以我认为这个共享段S在不同的进程中也应该有相同的段号。

正确理解

        先看教材的上一段话
在这里插入图片描述

        我今天看到教材(P187)上给出了共享段表的使用方法。我上面的理解的错误原因在于“我认为对于共享段这段代码,进程没有用自己的段表去记录这个代码加载到内存哪里。”但是,教材的说,我们还是要把这个共享段的内存记录在进程的段表项中。那么,题目中的说的共享段表又是来干什么的呢?

        按照教材上的说法,这个共享段表记录的不仅仅是像普通段表项记录的那样子,而且还会记录“共享进程计数count、存去控制字段、段号(不同的进程可以有不同的段号)”
在这里插入图片描述

另一种理解

        在我和同学的讨论过程中,他就给我举了这样的一个例子:

比如都需要调用一个函数,程序p1需要在第一步调用,程序P2需要在第二步位置调用,这样子他们的逻辑地址肯定不一样嘛,但是最后肯定是共享的同一个。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/suliangkuanjiayou/article/details/110505608

智能推荐

基于matlab的2PSK的系统仿真_倒π现象-程序员宅基地

文章浏览阅读7.3k次,点赞12次,收藏59次。由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图2-4所示,各点的波形如图2-5所示。由于2PSK信号的载波回复过程中存在着180°的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全_倒π现象

进程间通信---无名管道-程序员宅基地

文章浏览阅读337次,点赞8次,收藏8次。【代码】进程间通信---无名管道。

Android屏幕适配-重点盘点(2)-程序员宅基地

文章浏览阅读705次,点赞17次,收藏17次。当我们出去找工作,或者准备找工作的时候,我们一定要想,我面试的目标是什么,我自己的技术栈有哪些,近期能掌握的有哪些,我的哪些短板 ,列出来,有计划的去完成,别看前两天掘金一些大佬在驳来驳去 ,他们的观点是他们的,不要因为他们的观点,膨胀了自己,影响自己的学习节奏。基础很大程度决定你自己技术层次的厚度,你再熟练框架也好,也会比你便宜的,性价比高的替代,很现实的问题但也要有危机意识,当我们年级大了,有哪些亮点,与比我们经历更旺盛的年轻小工程师,竞争。无论你现在水平怎么样一定要。

从微信扔骰子看iOS应用安全与逆向分析_frida lldb函数偏移-程序员宅基地

文章浏览阅读1.1k次。以微信扔骰子小游戏为例,记录一次完整 iOS 逆向分析的过程。_frida lldb函数偏移

LaTeX:overleaf latex 中文生僻字处理_latex 生僻字-程序员宅基地

文章浏览阅读8.4k次,点赞7次,收藏12次。问题描述:生僻字只有特定字体才能打出来解决方案:分为xelatex和pdflatexxelatex在usepackage区:\usepackage{ctex}\setCJKfamilyfont{myfont}{SimSun.ttf}\newcommand{\MyFont}{\CJKfamily{myfont}}然后在正文中:\MyFont{奂奒奓奘奙奚奛奜奝奞奟奡奣奤奦奨奁奫妸奯奰奱奲}效果:其中SimSun.ttf是自己上传在overleaf的字体文件的文件名。overleaf_latex 生僻字

java多线程notify()无法唤醒wait()问题_sc notify()无法唤醒wait-程序员宅基地

文章浏览阅读3.9k次,点赞2次,收藏5次。创建两个Runnable,其中一个的run()方法启动并调用wait(),第二个Runnable中run()方法在一定的几秒之后,为第一个任务调用notify(),从而使得第一个Runnable能显示一条信息,用Executor来测试。public class RunnableWait implements Runnable{ public static Object obj=new Obje_sc notify()无法唤醒wait

随便推点

mess组网 中继_取代中继/子母路由 堪称最上乘的Mesh组网方式了解下-程序员宅基地

文章浏览阅读97次。试问,谁不想要一个畅快、无死角的无线网络,为此你都试过哪些行而有效的解决办法?换服务商,换网线,装AP,加无线中继,子母路由等等。。。虽然这些措施能在一定程度上改善身边的无线网络质量,但却都不是我们今天所要讲的“上上乘”组网方式。若想Wi-Fi畅快覆盖又好,还得靠它。目前,最in的组网方式不是“大马力”的高端路由,也不是“1+1”的子母路由,而是使用分布式路由器进行Wi-Fi覆盖,免布线、组网简单..._mess组网

VS2005项目中添加lib库以及代码中相对路径的问题_vs依赖库文件找不到路径-程序员宅基地

文章浏览阅读1.2k次。VS 2005项目中添加lib库 应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义。vs2005c++ 项目设置外部库方法如下:1. 添加编译所需要(依赖)的 lib 文件 在“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个lib 以空格隔开。等同于“#pragma comment(li_vs依赖库文件找不到路径

微信开发token验证失败怎么办的解决办法-程序员宅基地

文章浏览阅读2.2k次。贴一个微信公众平台的入门指南的php的token示例:2017年的官方包,demo变了,验证起来比较麻烦了,跟网上的验证视频都不一样,对于新手来说,比较难验证。会出现验证失败。贴出一个老的。保准一次成功!<?php/** * wechat php test * update time: 20141008 *///define your tokendefine("TOKEN",</div>

Windows Server 2012 R2安装SqlServer 2016-程序员宅基地

文章浏览阅读2.7k次。1.系统安装微软操作系统 Windows Server 2012 R2 官方原版镜像Windows Server 2012 R2 是由微软公司(Microsoft)设计开发的新一代的服务器专属操作系统,其核心版本号为 Windows NT 6.3 。提供企业级数据中心与混合云解决方案,直观且易于部署、具有成本效益、以应用程序为重点、以用户体验为中心,深受广大 IDC 运营商青睐。在 M..._window server 2012 r2 datacenter 装哪个版本的sqlserver

mac ssh,mac xshell,xshell替代,ssh客户端,ssh工具,远程桌面加速_mac 版 xshell远程连接工具-程序员宅基地

文章浏览阅读772次。HostBufFinalShell 发表 首页 liwei_perfect 消息 设置 我的推广 积分 0 最新回复 FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,Mac OS X,Linux,版本2.9.4,时间2018.7.19 ..._mac 版 xshell远程连接工具

第九次作业_现在想将学生绩点组成一个链表。链表结点内容包括学生姓名,学号,绩点。 输入是一-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏17次。现在想将学生绩点组成一个链表。链表结点内容包括学生姓名,学号,绩点输入是一组学生的姓名、学号和绩点,以链表形式存储。删除绩点小于平均绩点的学生结点,成为一个新链表。后按照输入的顺序,依序输出新链表的学生信息。平均绩点是输入的所有学生绩点取算术平均值。输入描述输入包括若干行。 每行是一个学生的姓名、学号和绩点,以空格隔开。最后一行是*.输出描述输出包括学生姓名。 每个学生姓名一行。样例输入sddv 005 3.6jjjbjb 1465 1.5jdsf 015_现在想将学生绩点组成一个链表。链表结点内容包括学生姓名,学号,绩点。 输入是一