难度 2/5
传输与传播时延
1500 B 的分组经过 100 Mbit/s 链路,单程传播时延为 2 ms。忽略排队与处理,求从开始发送到最后一位到达的时间。
查看提示
先把分组长度换为位,再将传输时延与传播时延相加。
展开分步解答
传输时延为 1500×8/100000000 s,即 0.12 ms。总时间为 2.12 ms。
结果核验:链路速率提高到 1 Gbit/s 时,传输时延降至 0.012 ms,总时间为 2.012 ms;传播时延保持 2 ms。
专题路线
学习网络传输、Web 请求、关系查询、索引与事务。
追踪 DNS 查询、TCP 连接与 HTTP 请求,计算链路时延。
编写关系查询,选择索引,分析并发事务与崩溃恢复。
说明打开一个 HTTPS 页面时,DNS、IP、TCP、TLS 与 HTTP 各自承担的任务。
以银行转账为例,说明事务原子性、隔离与日志恢复分别解决什么问题。
难度 2/5
1500 B 的分组经过 100 Mbit/s 链路,单程传播时延为 2 ms。忽略排队与处理,求从开始发送到最后一位到达的时间。
先把分组长度换为位,再将传输时延与传播时延相加。
传输时延为 1500×8/100000000 s,即 0.12 ms。总时间为 2.12 ms。
结果核验:链路速率提高到 1 Gbit/s 时,传输时延降至 0.012 ms,总时间为 2.012 ms;传播时延保持 2 ms。
难度 3/5
余额初始为 100。事务 A 和 B 都先读到 100,A 加 20 后写入 120,B 减 10 后写入 90。求最终余额与串行执行的余额,并给出一种修正方法。
比较后一次写入与两次更新都生效时的结果,关注读写操作之间的保护范围。
最终余额为 90,A 的更新丢失。两种串行顺序都得到 110。可以在事务中先锁定余额行,完成读取与更新后再释放锁;也可以使用数据库保证原子性的余额增减语句。
结果核验:采用行锁后,第二个事务读取第一个事务提交的结果,得到 100+20-10=110。