- Linux Foundation の認定資格である RISC-V Foundational Associate (RVFA) に合格した
- Web に RVFA 受験者のポエムが殆ど見つけられなかったので、自分のポエムを残しておく
※ポエムなので、あまり推敲していません、長いです。
RISC-V Foundational Associate (RVFA)
RISC-V Foundational Associate (RVFA) は、RISC-V というオープンソースで保守されている CPU (の命令セット仕様) に関する基本知識とスキルを証明する認定資格です。
試験の内容については、受験時の Agreement のために口外できないため、上記の Web ページを参照ください。ざっと以下のような知識が求められます。
- RISC-Vの歴史や、オープンソースで保守している団体、貢献の方法などの政治的な話。
- 命令セットのモジュラー性、アセンブリ言語の書き方、高級言語からの変換と呼び出し規約、各種レジスタの扱いなどの RISC-V そのものの技術的な話。
- OSやファームウェア、ランタイム、ハイパーバイザなど、RISC-V に関わるシステムソフトウェアに関する話。
OSや言語処理系などの低レイヤーの知識はある前提で、比較的ディープな世界感ではあるのですが、Foundational Associate の名称が示す通り、試験問題の傾向は広く浅くです。
この認定を得たら RISC-V のアセンブリがすぐ扱えるとか、OS が書けるかというと、難しいと思います。そういうことをするためには、どういうものが必要かを学んで、何を調べないといけないかを理解している、くらいが妥当でしょうか。
ちなみに、受験は英語のみです。
学習方法
私は、専門が OS 屋なので、前提知識として求められている OS や言語処理系に関する知識を改めて勉強しなおすことはしていません。そのあたりの知識の学習方法は、Qiita やら Zenn やらに情報が溢れているので、そちらにおまかせします。
RVFA の出題範囲の学習は、試験申込時に一緒に購入できる RISC-V Fundamentals (LFD210) という e-learning のトレーニングをやっていました。RVFA の受験料は 250 USD で、LFD210 の受講料は 99 USD なのですが、同時に購入すると 299 USD で購入できます*1。
このトレーニングでは、出題範囲の内容だけでなく、各種仕様書やドキュメント、ツールなどへのリンクがまとめられています。
私は、トレーニングを消化していると、OS屋としてやってきた経験から「そういや、x86 のあれは RISC-V ではどうなってるんだろう」といった疑問が沸いてきたので、その範囲も一緒に読みふけっていました。
受験の流れ
予約
試験監督員付きのオンライン試験です。受験の24時間前までに、試験監督員の予定を確保します。 他の試験を受けた人のポエムでは、英語圏が昼間の時間ならスムーズとの情報もありましたが、日本の平日昼間を指定しても全然大丈夫でした。
この時に、身分証明書の写真を登録するのですが、アカウントに登録した名前と身分証明書の記載は完全一致している必要があります。
英語圏の試験監督員とあたっても大丈夫なように、アカウントをローマ字にしておいて、身分証明書をパスポートにしておくと、スムーズにいくらしいです。こちらも、私はアカウントを漢字にして、マイナンバーカードを登録しましたが、特に問題無く進みました*2。
試験場所の確保
RVFA で一番大変だったのは、勉強や試験ではなく受験するまでの環境作りでした。
受験する部屋にはポスターやカレンダーなどの文字情報は排除されている必要があり、かつ、受験に必要な機材と1杯の水以外は持ち込み禁止です。また、試験中には一切の会話が禁止され、口を大きく動かしたり、発声したり、会話らしきもの聞こえたりすると、試験監督員から注意があります。
そのため、自宅で受験する場合には、部屋中の物を外に出し、かつ、同居人から声をかけられたり、テレビの音が入ったりしないように注意しなければなりません*3。
受験当日
試験開始まで
予約した時間の 30 分前から受験システムにログインできます。受験前の前準備に30分くらいかかるので、ログイン可能になったら、すぐ入っておいた方がいいです。
自分がログインすると、数分ほどで試験監督員がログインしてきます。その後、試験監督員の指示に従い、Web カメラで、部屋の左の壁・後ろの壁・右の壁・正面・天井・机の下・モニタの裏を撮影します。この時、余計なものがあると質問されたり、部屋の外に出すように指示されます*4。
- 私の場合は、マシンにつながっていない HDMI ケーブルがあったので、モニタから抜いて部屋の外に出すよう指示されたのと、足下にPCのACアダプタがあったので「これは何だ?」と質問されました。
- 一杯の水の持ち込みは許可されますが、余計なやりとりをしたくなかったので、自分は持ち込みませんでした。すると「水は持ち込み可だが、君は持ち込まないのか?」と質問されたので、大した差は無かったです。
部屋の撮影と物の移動を終えると、Web カメラで両耳を撮影して、イヤホンをしていないことを見せるよう指示があります。その後、常に両目と口を撮影できる位置に Web カメラを固定するよう指示されます。
ここまでくれば、受験が開始できます。
受験
RVFA は、選択式の試験問題 48 問を 90 分で回答します。一般的な e-lerning 試験と同じです。画面と表情は試験監督員に監視されています。
私は、時間の経過と共に姿勢が崩れて Web カメラと顔の角度がずれていたようで、試験中に何度か「Webカメラで顔を映せ」と注意されました。
試験時間が終わると、チャット欄にシステムから完了の通知が入り、自動的に試験システムからログアウトされ、終了です。結果は 24 時間以内に来ると記載がありましたが、30分後くらいにはもう届いていました。
合格していれば Linux Foundation Training のプロフィールページから認定証のPDFがダウンロードできます。
受験後
認定証と同時に、Linux Foundation Training における自分のプロフィールや、Credly や LinkedIn に登録できるバッヂが発行されますが、こちらは半日くらい経ったあとに発行されました。
登録したメールアドレスに Credly へのバッヂ登録のメールが届くので、アカウントを持っていたらボタンひとつで登録できます。私の場合、先述したオンライントレーニングの LFD210 も、修了バッヂが発行されるので、それと一緒に登録しました。
終わりに
受験の動機は、会社の中でスキルアップや資格取得を推し進める雰囲気が高まる中、何かひとつ取得して黙っていただこうという、非常に後ろ向きなものでしたが、実際にやってみると中々楽しかったです。
必要に迫られての調査や学習では必要な箇所のみを調べるので、資格でもなければ全体を俯瞰して学ぶことは基本的にはありません。低レイヤーをターゲットとした資格試験は非常に少ないので、貴重な経験だったかと思います。
*1:ちなみに、私は所属している会社が Linux Foundation に参画しており、一定額以下の試験を無料で受験・受講できるチケットがもらえたので、それを使いました。
*2:日本の平日昼間でもスムーズに割り当てがあったことから考えると、試験監督員が漢字が読める人だったのかも知れません。
*3:自分はファミリタイプのマンションに独り暮らしなので、寝室の物を別の部屋に追い出すだけですみましたが、そうでない人は会社の会議室やレンタルスペースなどを借りた方が早いかも知れません。
*4:全て英語を用いたオンラインチャットでのやりとりになります。リスニングやスピーキングができる必要はないですが、翻訳ツールなしで中学英語レベルのやりとりをリアルタイムにできるくらいの英語力は必要です。