系统架构设计师 · 第 2 版 · 2.3

计算机软件

辨认概念的职责、条件与关系。案例和未注明原题的练习均为自编教学场景。

机位、CPU 和磁盘已经接好,预约还不能自行完成。学生的请求要由程序读懂,空闲时段要由程序校验,记录也要按规则保存。这一节沿着一次校园预约,拆开“业务由谁决定、资源由谁管理、数据由谁维护、跨系统由谁协调”。它们有依赖,也有不同的分类依据。

教材 2.3 正式分八组。操作系统和文件系统的计算较多,下面把真实已学题型补在相应组中,例题均明确标自编或改编。网络报文与链路计算在 2.5,语言工具链在 2.6 继续;本节先把它们在软件体系中的职责放准。

2.3.1 一个软件产品交付了什么,解决什么问题

软件包括程序、数据及相关文档。预约服务的程序执行时段检查,配置和预约记录是它处理的数据,接口说明与维护手册帮助人正确使用、修改它。只有一份可执行文件并不能代表所有软件交付物;文档也不要求全部被 CPU 执行。

按所起作用,教材分系统软件与应用软件。操作系统、语言处理程序、DBMS 和网络支撑软件提供基础能力;预约应用利用这些能力完成师生的业务。浏览器服务于多种网站,是通用应用;校园预约服务有特定时段、资格与机位规则,是专用应用。

预约应用、DBMS、操作系统的职责依赖与独立开发旁路
按作用分类与按执行权限划分分别回答不同问题。图画本例依赖,编译工具用于开发。
软件交付物、系统应用分类及预约服务依赖
实线表达组成或同轴分类,虚线标本例服务依赖;语言处理程序不属于每次预约都必经的运行层。

DB(Database,数据库)是有组织的数据集合;DBMS(Database Management System,数据库管理系统)是管理它的软件。它可以按教材归入系统软件,同时作为用户态服务进程运行。系统/应用按作用区分,用户态/内核态按执行权限区分,不能由“系统软件”三个字推断它一定运行在内核里。

2.3.2 同一台机器上的工作怎样得到资源

同时有许多学生预约,服务器只有有限的处理器与内存。操作系统(OS)管理处理机、存储、设备和文件,提供用户/程序接口及运行支撑。内核承担核心资源管理,外围系统程序提供 Shell、工具与服务等;具体边界依系统设计。内核特权级允许执行受保护操作,调度优先级决定谁较早获得 CPU,它们不是一个数。

教材的四个基本特征可以直接落在场景里:并发是多个活动在同一时间间隔推进,单逻辑 CPU 模型可以交替执行;共享是这些活动共同使用资源,有的资源需互斥,有的支持并发共享;虚拟把物理资源抽象成逻辑对象;不确定性(常称异步性)表示推进速度受调度和资源影响,不能随意假定两个请求每一步同时完成。正确同步有助于保持所需结果,但“异步”自身不保证结果确定。

教材类别主要问题边界
批处理成批提交作业,提高资源使用效率;单道与多道区分在内存及并发组织。通常减少交互,不能保证所有任务最快响应。
分时以时间片支持多用户交互。20 个终端各用满 50 ms、忽略开销,轮转一遍为 20×50=1000 ms;不是任意请求 1 s 内完成的承诺。
实时在规定时限内响应或完成任务。时限与失效后果在 2.4 分轴,不能只看平均快慢。
网络连接多机,提供通信与网络资源服务。各机仍可以保留独立 OS 与管理边界。
分布式协调多节点,使一定范围的资源或任务具有统一管理/使用视图。网络连接不自动等于分布式 OS;透明性依设计。
微机面向微型计算机使用环境。设备规模轴可以与分时、网络能力同时成立。
嵌入式服务专用装置,适配资源与任务要求。专用用途不自动等于硬实时。

先分清资源拥有者与执行流

程序是一份描述;进程是程序的一次执行及其资源、状态。引入线程后,进程主要承担地址空间与资源拥有,线程是相应模型中的 CPU 调度执行单位。线程各有程序计数器、寄存器状态和栈,但同进程通常共享代码、数据与打开文件等。栈各自使用,不表示硬件必定阻止一个线程访问另一个线程的栈。用户级线程是否被内核直接调度,要看它映射到内核线程的方式。

三态变化由条件触发,I/O完成先进入就绪,P操作未必阻塞
这是基本三态模型。进程/线程与资源/执行的区分另列,不能把并发画成单CPU同时执行两条指令。
就绪运行阻塞四条状态边与P操作条件
没有阻塞到运行的直接边;事件完成使它有执行条件,仍要等待调度。

就绪已经有执行条件,只等 CPU;运行正在 CPU 上执行;阻塞还缺资源或事件。调度分派使就绪→运行,抢占/时间片到使运行→就绪,请求等待使运行→阻塞,事件完成使阻塞→就绪。P 操作能取得所需令牌时继续执行,只有条件不满足且采用阻塞等待时才转为阻塞。

五态增加新建、终止;七态再区分就绪挂起与阻塞挂起。唤醒一个仍在外存的阻塞挂起进程,先变为就绪挂起;“等待条件已满足”与“已调回内存”是不同条件。已学的经典三级调度模型分别处理作业准入、内外存对换、CPU 分派,现代系统未必显式保留相同三层。FCFS 按到达次序,短作业优先需要执行长度依据,优先级调度需给优先级方向,轮转需给时间片;抢占规则也须单独说明。

CPU 空闲多久,要从资源时间线找

【改编教学例】求两作业都完成的时刻。单 CPU、单共享 I/O 设备;每个作业内计算→I/O→计算严格先后;CPU 与 I/O 均非抢占 FCFS,切换耗时 0,t=0 起算。A 在 0 ms 到达,三段为 40/60/20 ms;B 在 20 ms 到达,三段为 100/40/40 ms。到达表示进入系统,不表示当时立即获得 CPU。

CPU 先做 A 的 0–40,再做 B 的 40–140。与此同时 A 的 I/O 在 40–100,结束后就绪等待。140–160 执行 A 的末段;B 的 I/O 在 140–180,所以 CPU 160–180 暂无可运行作业,180–220 执行 B 的末段。I/O 同一设备的两段没有重叠。

指定FCFS调度下两资源逐时间区间的占用表、220ms完工与利用率
共享I/O、非抢占、切换0均为题设。图的可行排程不充当任意调度的最优证明。

完工 220 ms,CPU 忙 40+100+20+40=200 ms,利用率 200/220≈90.91%。单位相除后为比例。直接合计 CPU 得 200 ms 会漏掉强制等待;把所有 CPU 与 I/O 串加得 300 ms 又漏了不同资源的并行。

变式只把 A 最后一段改成 40 ms:它在 140–180 正好填满等待,仍在 220 ms 全部完成,CPU 忙 220 ms,利用率 100%。同样的完工时间可以有不同利用率。再看设备数量:A/B 均在 0 到达,A 三段 2/8/2 ms,B 为 4/2/2 ms,CPU 先 A 后 B。共享 I/O 时 A 占 2–10,B 等到 10–12,最后 B 的 CPU 在 12–14,完工 14 ms;若各有独立 I/O,B 可在 6–8 做 I/O、8–10 做末段,A 10–12 做末段,完工 12 ms。改变设备共享条件要重排时间线。

两个缓冲能省时间,瓶颈决定省多少

【自编教学例】独立 I/O 输入路径每块耗 T,CPU 从 OS 缓冲复制到唯一用户工作区耗 M,随后处理耗 C;M/C 共用 CPU,不能重叠,用户区处理完才接下一块。单缓冲在写入 T 与读出 M 之间互斥,复制完成后可再次输入;双缓冲交替,仍不能覆盖未复制数据。忽略启动、切换和总线竞争。求 n=4 块的完成时间,给 T=10 μs,M=6 μs,C=2 μs。

首块要完整经过 T+M+C=18 μs。单缓冲在上一块复制之后,下一次输入与上一块处理可以交叠,所以后续间隔 Δ₁=max(T,C)+M=16 μs;双缓冲的稳定间隔由输入与 CPU 复制处理的较慢者决定,Δ₂=max(T,M+C)=10 μs。总时间分别为 18+(4−1)×16=66 μs 与 18+3×10=48 μs,省 18 μs。

一块输入、复制与处理的资源条件决定单双缓冲周期
首块延迟与后续间隔分开计算;复制和处理共用CPU,两个缓冲不会自动创造第三个处理器。

变式保持 T=10,改 M=5、C=8 μs:首块 23,单间隔 15,双间隔 13,总时长 68 与 62 μs,省 6 μs。简化节约式 (n−1)M只在本模型 T≥M+C 时成立;变式若套它会错得 15 μs。n=1 时两者都只有一块首项,均为 T+M+C。DMA 独立复制、多用户区或独立处理流水的模型另算。

先问信号量管什么,再写初值和位置

互斥保护共享对象的临界区,同步规定操作先后。预约余票“读—判断—减一”要作为受保护的读改写;打印完成后才通知,管的是事件,不应直接照搬余票锁。一个信号量的数字只有与它对应的资源/事件一起读才有意义。

【自编教学例】缓冲 B1 容量 3、已有 1 件,B2 容量 2、初始空。每箱用 mutex、empty、full 三个信号量分别管独占操作、空位、已有产品;最初无人持锁。初值 B1=(1,2,1),B2=(1,2,0)。改 B2 已有 1 件,则变为 (1,1,1)。“同步初值永远是 0”忽略了对象的初始状态。

互斥锁空位产品三种对象、缓冲初值和P/V动作位置
这是一个教科书方案,不声明每种缓冲实现都必须使用三个信号量。

生产者先 P(empty)→P(mutex)→放入→V(mutex)→V(full);消费者先 P(full)→P(mutex)→取出→V(mutex)→V(empty)。若生产者先拿 mutex,再在满箱上等 empty,就可能抱锁等待;消费者拿不到 mutex,也无法取出产品释放空位。串联两箱时也应先完成并释放 B1 操作,再等待 B2,避免把一个箱子的锁带进另一个箱子的等待。

教材经典有符号模型定义 P 先令 S−1,负值时排队;V 先令 S+1,结果≤0 时唤醒一名。5 进程共享 2 件可互换资源,每进程最多一次未释放申请且最多占 1 件,S 初始 2,范围 [2−5,2]=[−3,2];S=−2 表示两名等待者。变式 7 进程、3 件为 [−4,3]。这是特定计数定义,实际非负 semaphore API 的读数不能直接当负等待人数。

【自编前驱例】A→B、A→C、B→D、C→D,四条边各设初值 0 的同步信号量。A 后执行 V(s1)、V(s2),B 前 P(s1) 后 V(s3),C 前 P(s2) 后 V(s4),D 前 P(s3)、P(s4)。D 的两个条件各有来源,不能让一个前驱 V 两次就冒充两个前驱均完成。若 B/C 各向同一初值0的计数信号量释放一次,D 是唯一消费者并等待两次,也能实现这个汇合。变式加 B→C,新增 s5:B 后 V(s5),C 前 P(s5)。一边一个是清楚的编码方案,不是最少信号量数量定理。

四条前驱边分别映射到源节点V与终节点P
编号由边表决定,不能按最大编号猜末节点;新增依赖须同时增加对应释放与等待。

申请合法、资源够用、系统安全是三道检查

资源死锁的四个必要条件是互斥、占有并等待、不可剥夺、循环等待。预防通过限制条件,避免根据状态决定是否分配,检测/恢复则发现已经出现的问题再处理。不安全表示在最大需求假设下找不到保证完成的序列,不能据此直接说目前已发生死锁。

【自编银行家例】只有一种可互换资源,总量 10;进程最大需求已知且固定,完成后释放所占资源。当前表:P1 已分 2/最大 6/尚需 4;P2 为 2/3/1;P3 为 3/5/2。Available=10−(2+2+3)=3。求是否接受 P1 再要 2 件。先检查 2≤Need₁=4、2≤Available=3,再试分配为 Available=1、P1 已分 4/尚需 2。

请求前后资源守恒、Work安全序列和不安全申请
试分配同时更新Available、Allocation、Need;模拟完成回收已分资源,不凭最大需求创造资源。

Work 从 1 开始,P2 尚需 1 可以完成,收回已分 2 得 Work=3;P1 尚需 2 可完成,收回试后的 4 得 7;P3 收回 3 得 10。安全序列 P2→P1→P3,接受。改变申请为 3:试后 Available=0,尚需分别 1/1/2,没有可完成进程,拒绝。申请 5 则先超过 Need=4,属于非法申请,不必进入安全检查。若从原状态让 P3 请求 2,试后 Work=1,P3 尚需0先完成并释放5得6,P1释放2得8,P2释放2得10,也安全。

另一个【自编资源上界例】是四进程各最多要三件同类资源,不可抢占、完成才释放。八件可能让每人持二件、都等最后一件;九件能保证至少一人获得所需并完成。阈值 Σ(kᵢ−1)+1=4×2+1=9 件,来自最坏“各差一件”的占用再加一件。它判断一种资源的保证界,不能替代银行家当前状态检查,也不能直接套多资源向量。

页面是逻辑块,页框才是物理位置

连续分区让一个作业占连续区域,固定分区可能有内部未用空间,动态分区会因分配释放形成外部碎片;分页把逻辑空间按固定页大小拆开,分段按逻辑用途形成长度可不同的段,段页式再对各段分页。虚拟存储让合法地址空间的部分内容按需驻留,并提供保护与共享,容量仍受地址宽度、系统限制和后备资源制约。

【自编分页例】按字节寻址,页 4 KiB=4096 B=2¹² B,合法页号0–5。表为 0→帧4、1→7、2→3、3未驻留、4→5、5→9,其他页均驻留且权限允许。求逻辑地址 21C4H=8644 B 的物理地址:除 4096 得页号2、余数452=1C4H;查得帧3,PA=3×4096+452=12740 B=31C4H。页号被替换,偏移保持。

先检查页号合法和驻留,再用页框与保留偏移合成物理地址
4KiB的12位偏移恰为三位十六进制,2KiB的11位偏移不能照此截取。

变式把页改成 2 KiB,并明确仍用同一给定映射表:8644÷2048 得页4、偏移452,查帧5,物理地址 5×2048+452=10692 B=29C4H。页号/帧号已变,不能仍剪后三位十六进制数。原4 KiB模型下 3004H 属合法页3但未驻留,需缺页处理;6000H 的页6超过表长6,不能查表合成。缺页不一定从磁盘读文件,首次分配匿名页、写时复制等情形要看实际映射;非法访问的处理也依系统。TLB 缓存地址映射,Cache 缓存内容,在 2.2已经分开。

【独立容量例】满32位字节虚空间,4 KiB页,平坦单级页表每项4 B、不省略未使用项。项数 2³²/2¹²=2²⁰,页表 2²⁰×4 B=4 MiB。这算的是映射元数据,不能把它当全部数据驻留量,也不能和上面仅6个合法页的24 KiB逻辑空间混为同一张表。

【自编分段例】表长3,段0基址1000 B/长度400 B,段1为4000/600,段2为9000/200。逻辑(1,599)先检查段号1合法,再检查 0≤599<600,物理地址4599 B。(1,600)恰等于段长,已经越界;(3,0)段号越界。变式仅把段1长度改成601,(1,600)才合法并映射4600 B。基址能相加不证明访问合法。

替换谁,要让算法的状态完整走一遍

【自编静态 NRU 例】访问位 A、修改位 M 的四类按00、01、10、11排列,候选限驻留页。页0/帧4为(1,0),页1/帧7为(0,1),页2/帧3为(0,0),页3不驻留且位(0,0)。选择逻辑页2,释放物理帧3。表中最低位类别也不能让未驻留页成为回收对象。若全清访问位,页0与页2同类,本例额外规定选最小页号才得页0;没有平局规则就不能唯一选择。Clock 的扫描指针和清位过程另定,不能当静态 NRU 排序的别名。

【自编替换例】三空帧,访问串 1,2,3,1,4,2,初装算缺页。FIFO 命中不改变装入次序;LRU 命中更新最近使用。两者前三次装填,第四次1命中。第五次4,FIFO淘汰最早装入1,LRU淘汰最近最久没用的2;第六次2,FIFO命中,LRU缺页并淘汰3。总缺页 4 与5,缺页率4/6与5/6;真正淘汰为1与2次,不能把装填也称淘汰。

相同访问串下FIFO与LRU的装入序和最近使用状态
本例FIFO缺页较少不证明它总体优于LRU;改初始驻留或帧数须重算。

变式补一个初始已驻留且最近使用页会改变第一次装填及后续选择,不能保持冷启动次数。OPT 使用未来访问信息作理论比较,实际在线系统无法一般地预知全部未来;工作集过大导致频繁缺页时应检查负载与驻留量,不能只换算法名称。

柱面距离、旋转等待和传输时间各有单位

【自编寻道例】机械盘柱面0–199,头在50,所有请求在t=0排队,列表10/45/90/55;等距按列表先到者。SSTF(最短寻道优先)路径 50→45→55→90→10,移动 5+10+35+80=130 柱面。LOOK 初向增大方向,只到最后请求后折返,路径50→55→90→45→10,移动120柱面。SCAN同向但规定先到物理端199再折返,路径50→55→90→199→45→10,移动338柱面。端点和折返规则改变了模型,不能按答案临时把SCAN改名LOOK。

固定请求集合下三种寻道轨迹及旋转访问时间的独立计算
柱面移动距离尚未乘寻道耗时;平均半圈只适用于均匀随机相位,不能按扇区号码猜先后。

【自编访问时间例】7200 r/min,随机旋转相位均匀,平均等半圈,寻道5 ms、传输0.5 ms,不计排队/缓存。一圈 60/7200 s=8.333… ms,平均旋转4.166… ms,平均访问 5+4.166…+0.5≈9.67 ms。变式目标刚到磁头下,旋转为0,总5.5 ms;刚错过需近一圈,总接近13.833… ms。SSD不套机械寻道。持续新请求下的饥饿讨论需动态条件,本有限队列不能自行证明公平性。

2.3.3 数据库管理数据,数据模型描述组织规则

学生、机位和预约之间有联系。关系模型可以用学生表、机位表、预约表表达;键唯一性、引用关系和“同一机位同一时段仅一条生效预约”是不同约束,最后一条要用明确的唯一约束或事务控制实现。关系本身不依赖行的物理先后。数据模型的三要素是数据结构、数据操作、完整性约束:分别说明能表示什么、能怎样处理、什么状态合法。

教材早期模型含层次、网状、关系;其后列出关系、键值、列存储、文档和搜索引擎数据库。理解时再拆轴:关系/键值/文档描述组织或访问模型,行存/列存描述存放方式,集中/分布描述部署。关系数据库也可列存、分布;不能把“分布式”当与“关系型”互斥的第四种模型。文档可包含嵌套字段与结构,允许文档结构不同不表示没有验证规则。

设计从需求分析→概念结构→逻辑结构→物理结构→应用程序设计→运行维护推进。概念阶段抽象对象与联系,逻辑阶段转成目标数据模型并处理约束,物理阶段结合 DBMS、硬件和 OS 选存储组织、索引等。教材强调以数据模型为中心,静态结构与动态行为均要考虑,并会反复调整;直观、规范、计算机辅助、自动化是设计方法类别,不是接在六阶段之后的四个额外阶段。具体规范化与 SQL 在第六章深入。

DDB四层结构与第二层内含的三种模式
第二层的全局概念、分片、分配模式没有升成三个正式层。透明性是应用隐藏细节的边界,另列。
全局外层全局概念层局部概念层局部内层的包含映射
四层描述不同范围的逻辑或物理结构,第二层先有全局结构,再解释划分和放置。

分布式数据库在多节点保存数据,需要说明所用分片/复制策略、放置和节点模式的映射,并非所有设计都同时切分且多副本。分片透明隐藏如何拆分,复制透明隐藏多副本细节,位置透明隐藏所在节点,局部模型透明隐藏节点底层模型差异。它们不能和四层按编号一一配对。一个节点可在允许范围局部自治,跨节点处理仍需协调规则;自治不意味着任意忽略全局约束。

教材第五阶段正式称应用程序设计,包含应用方法、开发计划、系统架构与安全策略;一些已学题源的六阶段用“数据库实施”作第五项,指建库、装载及应用实现等任务,作答须看该题的阶段名称与产物。运行维护包含转储/恢复、安全与完整性控制、性能监测和必要的重组/重构,不是设计一次以后只保持表名。

完全分布式数据库的教材特征为分布性、逻辑相关性、场地透明性、自治性。多地点保存、同一逻辑任务相关、隐藏地点细节、各节点有一定自治可以同时成立。教材还强调集中控制、数据独立、冗余可控及有效存取;集中控制指相应的全局管理协调,不表示所有数据都物理集中在一个节点,冗余可控也不表示完全没有副本。

预约写入属于在线业务处理,历史预约汇总可移交数据仓库分析。数据仓库在已学扩展中强调面向主题、集成、随时间保留和相对稳定;OLTP/OLAP按工作负载区分,不能仅根据存储行列给绝对性能排名。教材正式产品小项为 Oracle、IBM DB2、Sybase、Microsoft SQL Server;MySQL、Access另作开场例。这里只保留关系数据库产品身份与教材定位,品牌历史、版本容量和性能描述不作今天的排名或承诺。

大型DBMS的七项教材能力可按职责记:网络环境、支持较大规模应用、并发锁控制、安全控制、备份恢复、完整性维护、分布式处理。锁帮助协调并发,安全与完整性仍要配置规则,备份/恢复仍需验证。教程具体并发量及GB级容量为历史示例,不是现代产品的统一上限。

2.3.4 文件系统把名字、内容和物理块联系起来

预约导出表保存为一个文件。文件系统负责按名存取、目录、元数据、空间管理与权限等;DBMS可以在它之上保存数据、日志,也存在直接使用块设备等实现。文件是数据组织对象,文件系统是管理它的软件。写入文件成功本身不保证所有数据库事务语义与掉电持久性,仍需相应协议和配置。

逻辑结构物理分配访问方式三个观察轴与硬软链接
同一个记录文件可采用索引分配并顺序访问;名称链接与内容块组织也分开。
记录字节流、连续链接索引、顺序随机分别问不同问题
三轴可组合,不能把随机访问认作第四种物理分配方式。

逻辑结构看内容组织:无结构字节流或有结构记录,记录还可定长、变长。物理分配看磁盘块:连续分配易顺序读和直接定位,但扩展及外部碎片要考虑;链接分配能接不连续块,隐式链逐块走,显式链如 FAT 把链表集中管理;索引分配保存块地址,支持按索引查找但消耗索引空间。访问方式看读法:顺序推进或按偏移直接访问。数据库记录文件也能按索引分配,今天顺序扫描、明天随机读某条,三项同时成立。

文件分类的依据教材名称怎样避免混轴
性质与用途系统文件、库文件、用户文件描述承担的作用。
保存期限临时、档案、永久文件描述管理期限,不等于物理分配方式。
保护方式只读、读/写、可执行、不保护权限集合可组合;“可执行”不自动排除可读。
UNIX教学类型普通文件、目录文件、设备/特殊文件是教材概括,具体系统还可细分链接、管道、套接字等。

FAT、VFAT、NTFS、Ext2、HPFS是教材列的文件系统名称,用来认识实现家族,不作当前推荐或现代类型全集。目录把名字映射到文件控制信息;单级目录简单但有命名冲突,二级按用户分,树形提供路径层次。FCB(文件控制块)记录属性与位置等;inode 是典型具体结构,未必把完整文件名存入自身。它可直接指数据,也可经外置索引块,图中的链是间接索引例。空闲区表记录空闲区起址与长度,位图一位对应一块,空闲块链跟随指针,成组链接把若干空闲块地址集中组织。首适应/最佳适应是在给定空闲表上选区的策略,不能仅凭表确定唯一分配。

先数块,再决定每块用几位表示

【自编位图例】300 GiB磁盘,块4 MiB,全容量可分且整除,每块一位,不计保留块。块数 N=300×1024/4=76800,位图76800 bit,除8为9600 B;若按完整32 bit字存,76800/32=2400 字。字数不是数据块数,位图字节数也不是磁盘容量。变式块改1 MiB,块数307200,位图38400 B/9600字。

位图容量逐级换单位与0基1基编号边界
每数据块一位;字对齐与紧密字节存储的取整不同,编号先明确基数。

不整除变式 N=33块:紧密按字节存 ⌈33/8⌉=5 B;完整32 bit字存 ⌈33/32⌉=2 字=8 B。多出的位没有增加真实数据块。0基块/字/位下,块2053为 2053=64×32+5,字号64/位号5;全部1基时先减1,2052=64×32+4,再加1得字号65/位号5。块32在全0基为(1,0),全1基为(1,32),是容易漏掉的字边界。这里0空闲、1占用,分配后置1;相反约定就要反向操作。

索引深度决定容量与查找路径,缓存决定读盘次数

【自编混合索引例】inode已在内存,有5直接、2一级间接、1二级间接指针;块1 KiB=1024 B,块号4 B,索引块无首部、全放地址。一个索引块容纳 n=1024/4=256 项。0基逻辑块范围分别是直接0–4,第一一级5–260,第二一级261–516,二级517–66052。最大数据块 5+2×256+256²=66053,乘1024得 67,638,272 B≈64.505 MiB,底层空间足够且未计索引元数据。

混合索引的覆盖范围、逻辑字节到二级索引的逐步拆分
数据容量不加索引块。路径按0基项号走,读盘次数另列缓存与inode条件。

求逻辑字节795655的位置:795655=777×1024+7,是逻辑块777内偏移7。减去二级起点517,得 260=1×256+4,对应二级根的第1号项、下一层的第4号项。题设相关索引块与目标数据块均未缓存,inode 指根块700,700[1]→702,702[4]→数据块900,结果为物理块900内偏移7。相关索引块与目标数据块都未缓存时,读两个索引块和一个数据块,共3次;inode已在内存不再加一次。

变式求逻辑块516:它是第二个一级范围最后一块,相对项号255,给721[255]→901;读一个索引和一个数据块,共2次。逻辑块517才进入二级,边界必须保留。索引缓存命中会减少实际读盘,inode不在内存又要加相应读取。另一个量纲反例:4 KiB块/4 B块号的纯二级索引可管 1024² 数据块,字节为 1024²×4096=4 GiB,旧笔记“4 TB”多乘了1024。

文件的逻辑字节不含块尾碎片

【改编教学例】7条定长2048 B记录,块4096 B,记录不跨块、无块头,按物理块58/89/96/101存放。成组因子 f=⌊4096/2048⌋=2,文件有效14336 B。0基逻辑偏移12288为第7条记录首字节,逻辑块3→物理块101内0。8191在块89内4095,8192转到96内0。末块只用12288–14335,14336恰在EOF,不属于现有有效内容。

允许记录跨块与不跨块时逻辑字节映射不同
完整块的物理长度与可存逻辑内容长度不一定相等,尾部碎片不算文件内容。

变式7条300 B记录、块1024 B、仍不跨块:每块最多3条,每个满块有效900 B、尾124 B为内部碎片,第三块只有一条300 B记录、未用724 B,物理块58/89/96足够。逻辑字节1800先算记录号6,是物理块96内0;1900是96内100。直接拿1800除1024会错落在89。只有规则改成允许跨块且连续字节流布局时,1800才位于89内776。这是题设改变后的另一个布局。

按内容做结构化扫描与文件名的链接也要分开。典型 Linux 硬链接是同一文件的多个等价目录名,不能跨挂载文件系统;删除一个名字不让另一个名字消失。最后链接删除后,若仍有进程打开文件,空间回收还要等这些打开引用结束。符号链接是保存目标路径的独立对象,可指向跨文件系统路径;目标改名/删除可能使它悬空,删除链接不删除目标。它不自带网络访问协议。link 手册、unlink 手册给出了这些实现边界。

典型UNIX权限用 R/W/X 表示读、写、执行,按文件主 owner、同组 group、其他 others 三类设置,权限可以组合。目录的 x 表示路径搜索/通过,不能照搬为“执行目录中的所有程序”;具体访问还要核每级路径与目标权限。访问矩阵按用户/域与对象列权限;ACL 从对象角度列谁能做什么,能力表从主体角度列它能访问哪些对象。口令、加密与权限检查可以协作,不能互相替代。使用文件前检查访问权限与合法位置,回到上面的地址或索引公式时也同样先查条件。

2.3.5 协议约定通信,软件实现约定

浏览器和服务器能交换数据,是因为双方遵循约定的格式、动作与顺序。语法约定数据/控制信息格式,语义约定动作与响应含义,时序约定事件顺序与速率协调。协议规范、协议栈实现、应用调用接口分别是规则、实现和使用入口。HTTP是规则体系,具体服务器与浏览器实现它;LAN/WAN/无线/移动是使用环境或协议家族的讨论范围,不能都当成单个同层协议名。

协议三要素、实现与接口及字节交付到业务处理的边界
这节定位网络支撑软件;HTTP TCP IP的完整层次与封装在2.5展开。

本例经 TCP 传预约请求,可靠有序字节交付不等于预约已经提交数据库。连接中断时,服务端可能尚未处理,也可能已提交但回复没到;应用应按业务标识查询结果、设计幂等重试,不能仅凭网络错误推回滚。TCP/IP协议族与地址/端口、设备、封装、DNS/DHCP等在2.5继续,不在此另算CIDR或链路时延。

2.3.6 中间件协调已有系统之间的共同问题

业务程序要接多种数据库和通知服务,若每套应用都独自处理跨平台通信、会话、事务与认证,重复工作会增多。中间件提供可复用接口与服务,屏蔽一部分底层差异。教材把它放在操作系统、网络、数据库之上,应用之下;这是职责层示意,真实部署可能是库、同机服务或独立服务器,也不要求所有中间件都同时依赖数据库。

按职责列的教材八类它主要处理什么
通信处理/消息应用之间传递消息,常用于异步协作。
事务处理/交易协调参与者、事务执行与恢复,可结合调度和负载管理。
数据存取管理跨数据格式或数据源提供访问、转换等服务。
Web服务器承载Web交互及相关运行服务。
安全认证、授权、加密等服务;安全风险来源不只有OS。
跨平台和架构支持不同平台、语言或构件的协作。
专用平台把领域参考模式、构件库及运行支撑组合起来。
网络网络管理、接入、测试等支撑。
请求交付数据库提交消息受理通知完成四个不同结果
队列受理未等于通知完成。数据库事务与消息之间还需明确一致性方案,箭头不自动提供原子性。
业务提交与异步消息的独立边界及消费者确认重试
教材MQSeries用于消息、Tuxedo用于事务的例子是职责线索,不是永不阻塞或永不宕机的保证。

预约成功后发短信,消息队列让业务与通知时间解耦,接收方不必在投递瞬间在线。但可靠性仍依赖持久化、生产确认、消费者确认/重试、监控以及幂等策略;队列满也可能背压或拒绝。数据库已提交而投递失败仍是需要处理的一段,不能只画“事务提交→消息”就宣布两者原子。教材 IBM MQSeries 是消息例,BEA Tuxedo 是交易例,历史名称保留为考试定位;“永不停机”“绝不丢失”要改读为目标,并核实际配置与故障条件。

MQSeries的教材资源是消息与队列;Tuxedo例还涉及监视恢复、交易协调与负载调度,职责可以交叠。已学 J2EE 历史题中,Web容器管理 Servlet/JSP,EJB容器管理企业Bean并提供相应服务。原生 Tomcat 的角色是 Servlet 容器;能通过库访问远端EJB不等于自身成为EJB容器。加入其它实现后组合的能力另论。Apache Tomcat 官方FAQ明确区分了这个职责。中间件有助于移植和复用,但接口、配置、数据模型与版本仍需适配。

2.3.7 构件靠契约协作,容器提供运行服务

把机位资格检查做成可复用构件,其外部调用明确接口,不直接改它的内部实现。构件自包容、可复用,可交付为源代码或二进制等形式;自包容不表示没有外部依赖。提供接口告诉别人能调用什么,需要接口告诉组装者必须提供什么,约束、版本及部署条件也要核对。不要把“构件”一词推成必然无状态,接口可约定状态和生命周期。

教材组装模型为设计构件组装→建立构件库→构建应用软件→测试与发布。需求确定后先设计构件关系,再开发、复用或采购;能并行开发不代表任意拼装就正确。复用和扩展方便,但设计、学习和适配有成本,性能可能有取舍,第三方质量还需验证。测试需覆盖组合后的契约,不只看每个构件独自成功。

客户端存根ORB POA Servant及接口仓库的不同职责
重点针对已学CORBA职责误判。图为简化静态调用,动态调用与具体策略另依规范。
CORBA通信请求到服务器实现之间的调用适配关系
ORB承担通信分派基础,POA做服务器对象与实现的适配,Servant执行操作;接口仓库存描述。

CORBA(公共对象请求代理体系结构)教材分 ORB、公共对象服务、公共设施三层:通信基础、命名/事务/安全等通用服务、更接近业务协作的设施。调用链内再区分角色:ORB传递/分派请求;POA(便携式对象适配器)按策略定位和激活实现;Servant真正执行对象操作;接口仓库保存接口描述。一个对象与Servant的对应并非永远一对一。OMG ORB Basics说明了这些职责与策略,问实现适配时不能只用“ORB软总线”替换答案。

CCM(CORBA构件模型)的三项是抽象构件模型、构件容器结构、配置与打包规范,分别描述结构/互操作、运行管理及交付配置。它们是规范的不同内容,不是每次请求先后经过的三步。

J2EE是历史企业Java平台规范。JavaBean是遵循约定的可复用Java组件,不只用于浏览器;EJB是企业Bean的构件与容器规范。历史J2EE 1.4/EJB 2.x含会话Bean、实体Bean与消息驱动Bean;会话Bean可分有状态/无状态,实体Bean表达持久数据,与会话Bean都可涉及事务,不能写成“只有实体处理事务”。容器可提供安全、事务、命名、生命周期等服务。今天的平台与持久化规范演化不能反过来改旧题版本口径。J2EE 1.4 Containers、Session Bean、Entity Bean供核历史边界。

DNA 2000是教材的微软历史分布计算架构,ASP、COM/DCOM/COM+、事务及集群等在其中提供协作支撑。COM是构件对象模型,DCOM扩展分布式调用,COM+整合相应运行服务。CORBA、J2EE、DNA是标准/架构族;容器、协议、产品和Bean类别需各自回答题目的问题,不能把名称排成一个互斥列表。

2.3.8 应用软件把这些能力组织成用户任务

应用直接服务任务。教材通用软件包括文字处理、电子表格、图形图像、媒体播放、网络通信、演示、信息检索、个人信息管理和游戏;浏览器也是本节常见应用例。通用/专用按适用范围分,个人/企业按用户分,文字/图像/音视频按功能分,一款软件可以同时满足多个描述。定制常有开发成本,但不能据类别断言所有专用软件售价都更高。

预约应用利用系统软件中间件和构件并收集分边界证据
一个最终用户功能跨多个软件职责。页面提示、数据提交与通知终态应分别核实。

教材部分行文把通用/定制并列,后面又用“专用”标题;映射教材术语时应分清:定制是开发取得方式,专用是用途范围。机构也能买专用商品包,通用软件也可被定制扩展,两轴并非一一对应。

学生看到“预约成功”,下一步应明确这个提示承诺的结果:数据已提交,还是仅请求已受理?若门禁未开,沿请求标识核对接入、业务提交、消息处理、设备终态的实际证据。一个TCP确认不能证明数据库提交,一个消费确认也不能证明物理门已开;单条日志与“查无某行”不足以排他判定根因。协议、中间件与数据库各提供一段能力,应用设计和验证把它们组成完整任务。

再回看软件体系:分类先找依据,调用先找接口,等待先找资源,计算先冻结条件。预约的业务规则由应用决定,OS调度资源,DBMS管理数据,文件系统映射名字和块,中间件组织跨系统协作,构件按契约被复用。接下来讨论嵌入式装置时,还要增加资源受限、时限和失效后果这些条件。

2.3 速查

软件作用与执行权限分开

程序、数据、相关文档共同构成软件交付物。系统/应用按作用;用户态/内核态按权限。DBMS服务可在用户态运行而归系统软件。

DB是数据集合,DBMS是管理软件;编译器处理源程序,OS管理执行资源。回看职责图

状态取决于等待条件

就绪只等CPU;运行占CPU;阻塞还等事件或资源。唤醒→就绪,仍需分派。P成功可继续;P需等待才阻塞。

进程拥有资源,线程各有PC/寄存器/栈;同进程通常共享地址空间,栈各自使用不等于硬件绝对隔离。回看状态与执行

时序先画资源占用

单逻辑CPU/单共享I/O、非抢占FCFS、切换0;作业内CPU→I/O→CPU,到达0/20、A40/60/20与B100/40/40ms:完工220ms,CPU忙200ms,利用率90.91%。

A末段改40ms正好填空,完工仍220ms而忙220ms、100%。设备共享条件改变须重排,不能直接加各段。回看完整排程

缓冲周期由争用决定

本模型独立I/O输入T,CPU复制M再处理C,n为块数;M/C共CPU、唯一用户区;单缓冲T/M互斥、双交替、无额外开销。首块T+M+C;单后续max(T,C)+M,双max(T,M+C);总为首块+(n−1)Δ。

n4、T10/M6/C2μs→66/48μs;改M5/C8→68/62、省6。简式省(n−1)M仅T≥M+C;n1无重叠收益。回看资源前提

PV对象与初态一起读

容量k、已有r、无人持锁:(mutex,empty,full)=(1,k−r,r)。先等产品/空位再进短临界区,避免满/空箱抱锁等待。

前驱边初0,源后V、终前P;D多个前驱须满足全部条件。经典有符号P先减负则等、V先加必要时唤醒;5进程/2资源、每人至多一未释放申请且释放配对:S∈[−3,2];非负API另读。回看对象、动作与汇合

银行家试分配更新三量

Request≤Need、≤Available之后,试更新Available、Alloc、Need。模拟完成回收已分,Max保持;找一个安全序列即可,不要求唯一。

单类资源总10、Alloc2/2/3、Max6/3/5:P1要2试后Work1→3→7→10安全;独立要3不安全,要5非法。不安全不能推出当前死锁。回看试分配与保证界

地址先检查再合成

字节页大小L:逻辑商为页、余为偏移;先验页合法/驻留/权限允许,查物理帧F,PA=F×L+偏移。页4KiB:21C4H→页2/帧3→31C4H;明确同表改2KiB→页4/帧5→29C4H。

合法未驻留与越界分开。段偏移严格小于段长;段1基4000/长600,599→4599B,600越界,长改601才合法。回看页、帧、段边界

置换状态完整走一遍

三空帧串1,2,3,1,4,2:FIFO命中不改装入序,缺4次/淘汰1次;LRU命中刷新使用序,缺5次/淘汰2次。本串不作总体排名。

静态NRU按A/M类00、01、10、11,仅驻留候选;淘汰逻辑页不等于同号物理帧。平局规则与Clock指针必须另给。回看逐步队列

磁盘路径与时间分开

柱面0–199、头50、请求t0为10/45/90/55、等距按列表先到;LOOK/SCAN初向增大:指定规则SSTF130、LOOK120、SCAN338柱面。LOOK在最后请求折返,SCAN到端199;本批服务至10即止。

7200r/min均匀相位,寻道5ms/传输0.5ms,无排队缓存:平均9.67ms;旋转0为5.5ms,近一圈为近13.833ms。回看单位与端点

数据库的模型、存放、部署

结构/操作/完整性是数据模型三要素。关系/文档等模型,行/列存,集中/分布分别问不同问题。概念设计到目标模型是逻辑设计;物理设计选存储组织。

DDB四层,第二层内含全局概念/分片/分配三模式;透明性另轴。教材第五阶段叫应用程序设计,旧题实施口径看题名和产物。回看设计与层次

同一文件可兼有三个描述

逻辑结构看字节流/记录,物理分配看连续/链接/索引,访问看顺序/直接。记录式+索引分配+顺序扫描可同时成立。

硬链接是同一文件的等价名字;软链接保存目标路径。权限与目录遍历另看R/W/X对象,文件名不必存于inode本体。回看三轴与名称

位图先数块,再换单位

全容量可分、整除、每块一位且无首部:300GiB/4MiB→76800块/位→9600B→2400个32bit字。33位紧密字节存5B,整字存8B;补齐位不增加真实数据块。

全0基同名2053→(64,5),全1基→(65,5)。边界同名32→(1,0)/(1,32)。先明确块/字/位基数与0空闲或1空闲约定。回看取整与原点

索引深度与缓存分别影响答案

1KiB块、4B块号、索引块无首部全地址→每索引256项;5直接+2一级+1二级→66053数据块,67,638,272B,不加索引元数据。

0基逻辑字节795655B→逻辑块777/偏移7B→二级项(1,4),按本例给定指针→数据900内7;inode内存而相关索引/数据冷,3读。改到逻辑516一级末项则2读。回看范围与路径

记录逻辑字节不含块尾空隙

全部0基、不跨块、无首部,物理块按文件次序列出;成组f=⌊块长/记录长⌋。7条2048B/4096B块58/89/96/101:偏移12288→101内0,文件有效到14335。

改300B/1024B、块58/89/96:每满块有效900B,偏移1800→96内0;只有改成可跨块连续流才是89内776。回看布局条件

传输接收与业务完成分界

协议语法/语义/时序规定格式、含义与顺序条件。TCP确认说明字节被对端TCP接收,不证明应用已读、DB已提交或门禁已动作。

消息受理、消费确认、业务终态分别核证。失败重投可重复效果,业务标识/幂等与事务一致性方案须明确。回看协议 · 回看消息

构件复用核契约与依赖

CORBA请求职责:客户端存根→ORB通信→服务器POA适配→Servant执行;接口仓库存描述,公共服务经ORB通信,层与职责分开。

自包容可有明确依赖。EJB2.x历史会话/实体/消息驱动,事务不只实体;普通JavaBean和JPA Entity另对象/版本。回看角色边界

应用软件把支撑服务组织成用途

通用/专用描述适用范围,购买/定制描述取得方式;专用商品包可购买。应用可同时依赖OS、DBMS、中间件和构件,不强制四者排成固定链。

同一请求ID追踪页面响应、应用处理、数据库提交、消息投递/消费及实际业务结果,证据各归对象。回看端到端职责

2.3 自测

选择后显示解析。题源性质逐题标明;本页作答不回写正式错题本。

已答 0 / 42
01 / 自编 · 软件分类轴

DBMS服务作为用户态进程管理预约数据,按教程归为系统软件。哪项判断成立?

02 / 改编 · 状态转换;本章题109/38

基本三态模型中,运行执行流等待未完成I/O而阻塞,随后I/O完成。尚未重新分派CPU时应处于什么状态?

03 / 自编 · P操作条件

采用阻塞信号量等待模型,运行线程P(empty)时有可取得的空位令牌,操作成功。正确的基本状态判断是?

04 / 改编 · 进程线程;本章题151/113

同进程的两个内核可调度线程各有执行栈。哪一说法准确?

05 / 改编 · CPU/I-O时序;本章题212

单CPU、单共享I/O,均非抢占FCFS,切换0;每作业内CPU→IO→CPU。A在0ms到达,40/60/20ms;B在20ms到达,100/40/40ms。两作业完工时刻与CPU忙时是?

06 / 自编 · 时序条件迁移

单逻辑CPU、单共享I/O,均非抢占FCFS,切换0;作业内CPU→IO→CPU。A到达0ms,40/60/40ms;B到达20ms,100/40/40ms。相较A末段为20ms的情况,正确结果是?

07 / 改编 · 单双缓冲;本章题24机制

独立I/O每块T;CPU复制M再处理C,共同CPU/唯一用户区。单OS缓冲T与M互斥,双交替;无额外开销。n4、T10/M6/C2μs,首块均18μs。总单/双时长为?

08 / 自编 · 缓冲瓶颈迁移

独立I/O每块T;CPU复制M再处理C,共同单逻辑CPU/唯一用户区;单OS缓冲T/M互斥、双交替、无额外开销。n=4,T=10μs、M=5μs、C=8μs。首块23μs;单后续15、双后续13μs。双比单节约多少?

09 / 改编 · PV初态;本章题93/94机制

一缓冲容量3已有1件,最初无人持锁;采用mutex/empty/full分别管锁/空位/产品。三元组初值应为?

10 / 自编 · 抱锁等待

容量有限缓冲已满;生产者先P(mutex)取得锁,再P(empty)等待。消费者须同mutex保护取出。风险是?

11 / 改编 · 前驱PV;三独立初答机制

A→B、A→C、B→D、C→D;每边一个初值0信号量,B→D为s3,C→D为s4。D开始前正确等待是?

12 / 自编 · 计数信号量汇合边界

B/C各完成一次后各V同一初值0计数信号量一次;D是唯一消费者,开始前P两次。这与B独自V两次有何区别?

13 / 改编 · 资源负计数;打印机机制

经典有符号P先减负则等待、V先加必要时唤醒;5进程共享2件可互换资源,每人至多一份未释放申请且释放配对。S的范围为?

14 / 自编 · 银行家安全

单类资源总10,P1/P2/P3已分2/2/3、最大6/3/5,Available3。独立试P1请求2,哪个序列证明可接受?

15 / 改编 · 不安全非已死锁;银行家机制

单类资源总10,P1/P2/P3已分2/2/3、最大6/3/5,Available3。独立试P1请求3:试后Avail0,Need1/1/2,无进程可按最大需求假设完成。判断是?

16 / 改编 · 单资源保证界;中级支撑

4进程各最多需3件同类可复用资源,互斥、不可抢占、可持有后继续申请、完成才释放。保证避免此资源死锁至少需要多少件?

17 / 改编 · 页地址;本章題117机制

字节编址、页4KiB,合法页0–5且页2驻留帧3、权限允许。逻辑21C4H=8644B的物理地址是?

18 / 自编 · 非整十六进制切分

页改2KiB,字节编址;明给页4驻留帧5且权限允许。逻辑21C4H=8644B应得到?

19 / 自编 · 合法与驻留

字节编址4KiB页,合法页0–5;页3未驻留。访问3004H与6000H,分别应先怎样处理?

20 / 自编 · 平坦页表容量

满32位字节虚空间,4KiB页,平坦单级页表4B/项,不省略未用项、不计额外首部。页表数据量为?

21 / 改编 · 段边界;本章題55/34机制

段表长3,段1基址4000B、长度600B,合法偏移定义0≤w<长度。(1,599)、(1,600)、(3,0)的判断是?

22 / 自编 · NRU一致表

静态NRU类别00/01/10/11,A访问/M修改。驻留页0帧4=(1,0)、1帧7=(0,1)、2帧3=(0,0);页3未驻留=(0,0)。应淘汰及回收?

23 / 自编 · FIFO/LRU轨迹

3个初始空帧,访问1,2,3,1,4,2;初装算缺页,FIFO命中不更新装入序,LRU命中更新最近使用。缺页数是?

24 / 自编 · SCAN/LOOK条件

柱面0–199、初50;全请求t0排队10/45/90/55。向增大方向,SCAN规定到端199再折返,LOOK在末请求折返。到本批最后请求服务完的移动量是?

25 / 自编 · 旋转单位

机械盘7200r/min、随机相位均匀,寻道5ms、传输0.5ms,无排队/缓存。平均访问时间约多少?

26 / 改编 · 位图容量;本章題148机制

300GiB全可分容量、块4MiB,整除;每块1位,按完整32bit字存位图,无首部。需要多少字?

27 / 自编 · 位图取整

33个数据块每块1位,分别紧密按字节存与按完整32bit字存,无首部。存储字节数为?

28 / 改编 · 位图基数;本章題23机制

字长32bit,块/字号/位号全部0基,块2053定位在哪?若三个编号都改1基,同名块2053定位在哪?

29 / 改编 · 混合索引容量;本章inode机制

5直接+2一级+1二级指针,块1KiB、块号4B,索引块全地址无首部,空间足够。只计文件数据容量,可寻址块数为?

30 / 自编 · inode寻址与冷缓存

5直接+2一级+1二级指针,块1KiB、块号4B、索引块全地址无首部。0基逻辑块;inode在内存、相关索引与数据均未缓存。逻辑字节795655,双间接始517,根700[1]→702,702[4]→900。读取目标字节的结果是?

31 / 自编 · 二级索引量纲纠错

纯二级索引,每块4KiB,块号4B、无索引首部,一个根可指1024个下级索引,每下级指1024个数据块。文件数据容量为?

32 / 改编 · 定长记录成组;本章題90机制

7条2048B记录不跨4096B块,无首部,物理块按58/89/96/101存,0基逻辑字节12288在哪?

33 / 自编 · 不整除记录布局

7条300B记录不跨1024B块、无首部,物理块按文件顺序为58/89/96。0基文件逻辑字节1800在哪?

34 / 自编 · 硬链接唯一选项

Linux普通文件a与b为硬链接且无异常故障;删除名称a,b仍存在。哪项成立?

35 / 自编 · DDB层内包含

按本教程DDB四层结构,哪项正确?

36 / 改编 · 数据库阶段;跨章第6章题19机制

某阶段将与DBMS无关的E-R概念模型转换为目标关系模式并处理规范化。按设计产物,它属于?

37 / 自编 · 协议与业务结果

客户端预约请求的TCP字节已被对端确认,但业务响应未收到。仅凭TCP确认能确定什么?

38 / 自编 · 消费确认与幂等

消费程序已完成一次扣款,但未确认消息即崩溃;系统按配置重投该消息。下游设计最需要哪项?

39 / 改编 · CORBA职责;4独立初答机制

CORBA服务端要按策略把对象引用对应到实际实现并定位/激活Servant。细粒度职责对应谁?

40 / 自编 · 构件契约

复用一个自包容构件,它公开接口且声明依赖外部身份服务。哪一判断成立?

41 / 改编 · 历史EJB口径;本章题71/137机制

题设明确J2EE1.4/EJB2.x历史模型。下列哪项合适?

42 / 自编 · 应用用途与取得方式

学校购买现成教务管理商品包,服务特定教务规则。怎样区分“专用”与“定制”?

尚未启用本地进度。

教材对应与来源

正式范围为《系统架构设计师教程(第2版)》2.3.1–2.3.8,教材 Markdown 1438–2014 行;八个正式小小节逐项覆盖并各保留手写 Mermaid 源码与本地 SVG。当前正文按软件、操作系统、数据库、文件系统、网络协议、中间件、软件构件、应用软件展开。进程/缓冲/PV/安全/地址/置换/磁盘/文件计算是组内教学专题,不冒称教材2.10以后的新小节。

本节结合教材、相关试题与学习资料整理,按具体考点展开机制和易混条件。个人作答与制作记录不随公开版提供。

42道自测逐题标自编或改编,24自编、18改编,ID为s23-q01–s23-q42、初版version1。改编指机制取材,未保留原题完整数据/选项/年份的,不称原题还原。旧题存在页表/状态图缺失、双真硬链接选项、银行家Need未更新、页替换解释冲突、二级索引“4TB”等问题;本册写完整教学题设并独立求解,不用旧“官方答案”字段直接签正确。

计算题分别说明模型、资源数、初始条件与边界,先写出关系,再代入数值。自测解析保留推导与必要条件,便于回查。

补充与校正实际核对的主要来源与使用边界
页映射、虚空间、缺页动作Linux Memory Management Concepts、Linux mmap(2):MAP_PRIVATE。缺页动作依匿名页/文件页/写时复制等实际映射,本册不说缺页一律读盘;现代机制补充不替换教学题给定页表。
硬链接、名字移除与文件生命周期Linux link(2)、Linux unlink(2)。删除一个名称与其它硬链接、开放引用分别判断;不沿旧题两个真选项构造单选。
TCP接收确认边界RFC 9293 §3.4及§3.10.7.4。确认相应字节由对端TCP接收,不自动证明应用读取、事务提交或设备动作;本节讲职责,具体封装/寻址在2.5展开。
CORBA通信、POA与实现职责OMG ORB Basics与教材1955–1967行。POA为服务端适配,Servant执行;接口描述与公共服务不是每次请求必经的顺序节点。现代规范演化不当教程经典层次的额外第五层。
EJB版本、会话/实体/消息驱动与事务Oracle J2EE 1.4:J2EE Containers、What Is a Session Bean?、What Is an Entity Bean?、What Is a Message-Driven Bean?。本册明确历史EJB2.x口径,不说事务专属实体,不把JPA Entity等同旧实体Bean或把JavaBean限于浏览器客户端。
Web容器与服务器产品身份Apache Tomcat:Is Tomcat an EJB server?。产品身份作必要校正,不把Tomcat称全功能企业应用服务器,不给当今产品性能排名。

教程正式数据库产品和文件系统家族按历史教材名称保留;GB级容量、并发数字不作当前统一上限。DDB的四层、透明性、数据库模型/部署/存放、文件逻辑/物理/访问及专用用途/取得方式各按其分类轴解释。未能核原卷的来源缺口保留,不向原知识点、错题本或学习记录自动回写。