引言
2022 SA am2
01-08: http://127.0.0.1:4000/archives/191 09-15: http://127.0.0.1:4000/archives/192 16-20: http://127.0.0.1:4000/archives/193 21-25: http://127.0.0.1:4000/archives/194
這五題的難度還可以,原本解完充滿自信的,不小心看了下下午論述題,我瞬間沒自信了 :cry:
碎碎念
思考人生這種事情也確實是空閒的人會思考的,忙起來後也就沒時間去胡思亂想了 但忙過頭了說不定也會想呢
我現在應該是意識到自己之前的兩點不足了。首先是總覺得隨時都能複習;其次是「學無止境」這個觀念的誤用。
應該先從學無止境開始吧。「學無止境」本身是正確的,但我對這個概念的理解有些偏頗。我一直認為知識是無限的,總覺得自己不可能完全掌握任何東西,也因此產生了「什麼都不會」的心態。實際上,雖然知識的確無窮無盡,但並不代表每個領域都必須完全精通才能實際應用。有時,掌握其中一部分內容已經足以應對工作和任務了
例如我常常在通過一門考試之後,依然會覺得自己一無所知,仍然無法勝任相關工作。然而,客觀來說,只要掌握了必要的部分內容,就已經具備了完成相關任務的能力。這種心態可能和我過去受到的教育有關,常常聽到類似「世界很大」、「所學遠遠不夠」、「真正的高手有多厲害」等話語。這種觀念在一定程度上鼓勵了學習,卻也讓我過於關注自身的不足,逐漸失去了原本的信心
就像現在我聽到的多數學生也會說「我什麼都做不到」之類的話語,可能有一部分原因是這種觀念帶來的副作用
然後就是隨時都能複習的想法。倒也不是複習,更像是一種「隨時可以查閱」的依賴心理。我之前備考日文 N2 時讀到一篇文章,講述了沒有文字的人如何學習之類的,因為沒有文字的記載,對於知識的獲取如上課可能是此生只有一次機會聽到該內容,所以必須全部努力記下來才行;文章還提到了我們因為網路很便利而不去記憶一些東西,並且認為網路能檢索到的東西都是自己的知識,但假如網路不能用的話事實上是不知道那些內容的,所以真正屬於自己的知識是那些已經內化到記憶中的東西。
回到我的情況,我也是因為覺得可以隨時看,比如某條 Linux 指令啦或某段演算法程式碼之類的而不去記憶,造成一種我以為我會,但用的時候並不能寫出來,實際上應該屬於不會的範疇。這樣反覆的經歷也加深了前面提到的「什麼都不會」感覺。
總結一下,首先應當意識到未被記憶的東西應該屬於不會,並且勝任某件作業或者可以成為某種角色所需掌握的知識是有邊界的,不用去嘗試完全精通
感覺寫出來和想表達的意思還是有點偏差,文筆不好還使用了 ChatGPT,就這樣吧
21
容量が a M バイトでアクセス時間がxナノ秒の命令カッシュと、容量が b M バイトでアクセス時間がyナノ秒の主記憶をもつシステムにおいて、CPUからみた、主記憶と命令キャッシュとを合わせた平均アクセス時間を表す式はどれか。ここで、読み込みたい命令コードが命令キャッシュに存在しない確率をrし、キャッシュ管理に関するオーバヘッドは無視できるものとする。
$$ \begin{align} ア &\frac{(1-r)\cdot a}{a+b} \cdot x +\frac{r \cdot b}{a+b} \cdot y \\ イ &(1-r) \cdot x + r \cdot y \\ ウ &\frac{r \cdot a}{a+b} \cdot x + \frac{(1-r) \cdot b}{a+b} \cdot y \\ エ &r \cdot x + (1-r) \cdot y \end{align} $$題目翻譯:容量為 a MB、存取時間為 x 奈秒的指令快取和容量為 b MB、存取時間為 y 奈秒的主記憶體構成的系統中,從 CPU 的角度來看,主記憶體和指令快取的平均存取時間的表達式是哪一個?其中,所需的指令代碼不存在於指令快取中的機率為 r,可以忽略與快取管理相關的開銷
- 命中快取時間是 $(1-r) \times x$
- 未命中快取,讀取主記憶體時間為 $r \times y$
所以答案選 イ
22
データベースサーバのクラスタリング技術の特徴のうち、シェアードエブリシングはどれか。
ア クラスタリング構成にして可用性を高めることによって、故障発生時に担当していた範囲のデータを待機系のサーバに引き継ぐことができる。
イ サーバごとに管理する対象データが決まっているので、1台のサーバに故障が発生すると故障したサーバが管理する対象データを処理できなくなり、システム全体の可用性が低下する。
ウ データを複数の磁気ディスクに分割配置し、更にサーバと磁気ディスクが1対1に対応しているので、複数サーバを用いた並列処理ができる。
エ 負荷を分散し、全てのサーバのリソースを有効活用できることに加えて、データを共有することによって1台のサーバに故障が発生したときでも処理を継続することができる。
題目翻譯:在資料庫伺服器的叢集技術 (clustering) 特性中,以下哪一項描述了 Shared Everything 的特點
ア 透過叢集配置提高可用性,故障發生時可以將負責的範圍內數據轉交給備用伺服器
イ 每個伺服器負責管理特定數據,因此如果某個伺服器發生故障,則無法處理該伺服器負責的數據,系統的整體可用性會下降
ウ 數據被分割並放置在多個磁碟上,伺服器和磁碟之間是一對一的對應關係,因此可以利用多個伺服器進行平行處理
エ 在負載分散的同時可以有效利用所有伺服器資源,並且透過共享數據,即使某一台伺服器發生故障,也能繼續處理
Shared Everything 是一種資料庫叢集架構,在該架構中,所有伺服器共享相同的數據儲存。這樣一來,任何一台伺服器的資源都可以存取和處理資料庫中的所有數據,從而提高系統的備援性和容錯能力。如果一台伺服器出現故障,其他伺服器可以接管該伺服器的任務,不會導致系統整體不可用。所以答案選 エ
選項 ア 描述的是主備架構;選項 イ 描述的是 Shared Nothing 架構;選項 エ 描述的是 Shared Disk 架構 (最後兩個架構看看就好 doge)
23
幾つかのサブシステムから成るシステムの信頼性に関する記述のうち、適切なものはどれか。
ア あるサブシステムで発生したフォールトの影響が他のサブシステムに波及することを防ぐフォールトマスグは、システムのMTBFは変化させないが、MTTRの短縮につながる。
イ サブシステムにフォールトが検出されたとき、再試行すると正しい結果が得られる場合もあるので、再試行はシステムのMTBFの向上とMTTRの短縮につながる。
ウ サブシステムの稼働中に行われるフォールトの検出は、システムを停止せず行われるので、システムのMTTRは変化させないが、MTBFの向上につながる。
エ フォールトが発生したあるサブシステムを切り離して、待機系のサブシステムに自動で切り替えるフェールオーバーは、システムのMTBFは変化させないが、MTTRの短縮につながる。
題目翻譯:以下關於由多個子系統組成的系統的可靠性的描述中,哪一項是正確的
ア 故障隔離 (Fault Masking) 防止某個子系統中發生的故障影響到其他子系統,雖然不改變系統的平均無故障時間 (MTBF),但可以縮短平均修復時間 (MTTR)
イ 當檢測到子系統中有故障時,重試可能會得到正確的結果,因此重試會提升系統的 MTBF,並縮短 MTTR
ウ 在子系統運作過程中進行的故障檢測不會停止系統,因此不會改變系統的 MTTR,但可以提升 MTBF
エ 發生故障的子系統會被隔離,並自動切換到備用子系統的故障轉移 (Failover) 機制不會改變系統的 MTBF,但可以縮短 MTTR
對於多子系統組成的系統來說,可靠性通常取決於 MTBF 和 MTTR。MTBF 是 Mean Time Between Failures。MTTR 是 Mean Time To Repair (Recovery)。
Fault Masking (故障隔離) 確保故障不會蔓延至其他子系統。故障隔離的確減少了受故障影響的子系統數量,幫助快速修復,但不會直接影響系統的 MTBF,因為它只是隔離了故障,而不是防止故障的發生
重試在系統中可以用於處理偶發的錯誤。但它屬於容錯機制,並不能提高系統整體的 MTBF。因為系統的根本故障沒有減少,這一機制只是避免了某些操作失敗
故障檢測能在運作過程中提升系統的 MTBF,但與 MTTR 無關
Failover (故障轉移) 將故障系統切換至備用系統,提升系統恢復能力。這種方式透過快速替換故障系統,確實有效地縮短了 MTTR,但不會影響 MTBF,因為它只是縮短了恢復時間
總之 ア 和 エ 我是沒明白,答案選 エ。可能故障隔離不是直接恢復被故障影響的功能或組件,而故障切換在縮短恢復時間方面更加直接有效吧
24
$t_{1} \sim t_{10}$ の時刻でスケジュールされたトランザクション $T_1 \sim T_4$ がある。時刻 $t_{10}$ で $T_1$ が commit を発行する直前の、トランザクションの待ちグラフを作成した。a に当てはまるトランザクションはどれか。ここで、select(X) は共有ロックを掛けて資源 X を参照することを表し、update(X) は専有ロックを掛けて資源 X を更新することを表す。これらのロックは、commit された時にアンロックされるものとする。また、トランザクションの待ちグラフの矢印は、$T_i \rightarrow T_j$ としたとき、$T_j$ がロックしている資源のアンロックを、$T_i$ を待つことを表す。
(トランザクションのスケジュール$t_1$)
| 時刻 | $T_1$ | $T_2$ | $T_3$ | $T_4$ |
|---|---|---|---|---|
| $t_1$ | select(A) | |||
| $t_2$ | select(B) | |||
| $t_3$ | select(B) | |||
| $t_4$ | select(A) | |||
| $t_5$ | update(B) | |||
| $t_6$ | select(C) | |||
| $t_7$ | select(C) | |||
| $t_8$ | update(C) | |||
| $t_9$ | update(A) | |||
| $t_{10}$ | commit |
(トランザクションの待ちグラフ)

ア $T_1$
イ $T_2$
ウ $T_3$
エ $T_4$
題目翻譯:在時刻 $t_{1} \sim t_{10}$ 之間,排程了交易 $T_1 \sim T_4$。在時刻 $t_{10}$ 時,交易 $T_1$ 在 commit 前,構建了交易的等待圖。請問在圖中位置 a 所指的交易是哪一個?這裡,select(X) 表示對資源加共享鎖並讀取,update(X) 表示對資源加排他鎖並修改。所有的鎖會在交易提交時解鎖。並且在等待圖中,箭頭 $T_i \rightarrow T_j$ 表示交易 $T_i$ 正在等待交易 $T_j$ 解鎖其持有的資源
關於資料庫的並行控制 (X 鎖和 S 鎖) 可以參見: https://blog.yexca.net/archives/92
這裡首先共享鎖 (S 鎖) 是可以被其他交易讀取的,所以並不會發生阻塞,也就是一直到 $t_5$ 時刻 $T_4$ 的 update(B) 想對資源 B 加排他鎖 (X 鎖),但資源 B 此時被 $T_2$ 和 $T_3$ 加共享鎖而阻塞,圖中受到兩個阻塞的有 b 和 c。也就是 $T_4$ 可能是 b 或者 c
然後 $t_8$ 時刻 $T_2$ 想對 C 加排他鎖,此時資源 C 被 $T_1$ 阻塞 (因為 $T_1$ 持有 S 鎖),所以 $T_1$ 阻塞 $T_2$。圖中只有一個阻塞的是 a。基本可以斷定其就是 $T_2$
最後 $t_9$ 想對 A 施加排他鎖,此時 A 被 $T_1$ 和 $T_4$ 施加共享鎖,所以被其阻塞,符合條件的有 b 和 c。
之後就是提交釋放鎖了,未被阻塞的只有 $T_1$ 所以是 d,根據上述分析可以知道 a 是 $T_2$、b 是 $T_4$、c 是 $T_3$。所以答案選 イ
25
図は、既存の電話機とPBXを使用した企業内の内線網を、IPネットワークに統合する場合の接続構成を示している。図中の $a \sim c$ に該当する装置の適切な組合せはどれか。

| - | a | b | c |
|---|---|---|---|
| ア | PBX | VoIPゲートウェイ | ルータ |
| イ | PBX | ルータ | VoIPゲートウェイ |
| ウ | VoIPゲートウェイ | PBX | ルータ |
| エ | VoIPゲートウェイ | ルータ | PBX |
題目翻譯:圖中展示了一個企業內部的內線網路在整合到 IP 網路時的連接構成。請問圖中 $a \sim c$ 所對應的設備正確組合是哪一項
| - | a | b | c |
|---|---|---|---|
| ア | PBX | VoIP 閘道器 | 路由器 |
| イ | PBX | 路由器 | VoIP 閘道器 |
| ウ | VoIP 閘道器 | PBX | 路由器 |
| エ | VoIP 閘道器 | 路由器 | PBX |
為了將傳統電話系統整合進 IP 網路結構,需要一些設備:
- PBX (Private Branch Exchange,專用分機交換機):這是傳統電話系統的核心設備,負責管理和控制企業內部電話的交換與連接
- VoIP 閘道器:充當傳統電話系統與 IP 網路之間的橋梁,將類比訊號轉換為 IP 封包,以便在 IP 網路上傳輸
- 路由器:負責在 IP 網路上管理和轉發封包,確保封包能夠到達目的地
所以答案選 ア