2018-12-01から1ヶ月間の記事一覧

RISC-VのFENCE.I命令を調べる

rv32i基本命令をざっと眺めていて、この命令だけなんだろう?と思ったので調査します。 RISC-V specification v2.2の2.7 Memory Modelセクションに記載があります。 hardware thread間でのメモリ操作命令実行順序を保証するための明示的な命令がFENCE命令、…

2018年に読んだ本をまとめよう

これ、毎年やらないと忘れちゃうので備忘録がてら。 大雑把なジャンル別にまとめます。 書評を書く気力が今はないので、羅列だけです。 システムプログラミング、低レイヤ技術 今年の後半あたりから、システムプログラミングや低レイヤ技術に注力しはじめま…

2018年の振り返り

今年もそろそろ終わろうとしているので、2018年に学んだことをまとめておきます。 今年は、下半期での学びが濃かったです。 分岐点は、TCFMに出合ったことと、仕事のプロジェクトを変えたこと、ですね。 その中で、自分はやはり低レイヤの技術が好きなんだ、…

SDSoC Example catalog(1)~Array Partitioning~

年内にFPGAの記事を1本書いておきたかったので、詳しくなりたいSDSoCについて書きます。 今はノリで使っていて、基礎ができていないので、1歩ずつやります。 何からやろうか、と考えたところ、私は具体例から物事を理解することが得意なので、Xilinx SDSoC E…

LLVM Tutorialをやっている(2)~7章まで~

7. Kaleidoscope: Extending the Language: Mutable Variables — LLVM 8 documentation tomo-wait-for-it-yuki.hatenablog.com 前回に引き続き、LLVMのTutorial Kaleidoscopeをやっています。 メモを残しながらやっていないので、あまりインフォーマティブな…

LLVM Tutorialをやっている(1)~4章途中~

LLVM Tutorial: Table of Contents — LLVM 8 documentation コンパイラを勉強する機運が高まっているので、ずっとやりたかったLLVMに手を出しています。 対象とする言語仕様としては、Go言語でつくるインタプリタより、かなり簡素なものです。 コード(LLVM I…

Rustで書かれたVMM firecrackerを読もう!(5)~API Server初期化再訪~

github.com tomo-wait-for-it-yuki.hatenablog.com 前回は、HTTP API Serverの初期化処理を読んでいました。 少しhyperを勉強して、勘違いしていた部分も発覚したので、分かったことを改めて書きます。分からんところは分からんですが。 bind_and_run src/ma…

子育てという不確実性に対処するために、自分という不確実性を減らしておこう!

子育てエンジニア Advent Calendar 2018 17日目の記事です。 adventar.org 私は、1歳8か月の息子がいます。 はじめに 皆様ご存知かと思いますが、今年、素晴らしい本が発売されました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリフ…

Rustで書かれたVMM firecrackerを読もう!(4)~API Server初期化~

github.com tomo-wait-for-it-yuki.hatenablog.com 前回は、Vmm::new()を読み、VMMの初期化が大体わかった気になりました。今回はAPI Serverの初期化を見ていきます。 tokioが絡む部分は、非同期処理初心者なので間違っている可能性があります。 ApiServer::…

Rustで書かれたVMM firecrackerを読もう!(3)~mainのテストとVmm::new()~

github.com tomo-wait-for-it-yuki.hatenablog.com 前回は、src/main.rsのmain関数を読みました。そういえば、main関数のテストを紹介しようと思って忘れていたので、今回書きます。 mainのテスト src/main.rsに含まれるユニットテストです。まずは、ヘルパ…

Rustで書かれたVMM firecrackerを読もう!(2)~API ServerとVMMの初期化~

github.com tomo-wait-for-it-yuki.hatenablog.com 前回は、main関数でLOGGERのオブジェクトを作るところまで見ました。 設計を知る 少し公式ドキュメントを読んで、知識を仕入れました。 firecrackerは、KVMを使ってVMを作成します。VMMにつき1つのゲストOS…

Rustで書かれたVMM firecrackerを読もう!(1)

最高の餌が与えられたので、少しずつ時間を取ってコード解析していこうと思います。 github.com firecracker build 何はともあれ、ビルドしてみましょう。 リリースビルドするときは、--releaseをつければ良いみたいです。 とりあえず、debugビルドします。 …

Ethernetのしくみとハードウェア設計技法―プロトコルの詳細からネットワーク対応機器の作成まで (TECHI―Bus Interface)を読んだ

Ethernetのしくみとハードウェア設計技法―プロトコルの詳細からネットワーク対応機器の作成まで (TECHI―Bus Interface)作者: インターフェース編集部出版社/メーカー: CQ出版発売日: 2006/07/01メディア: 単行本購入: 17人 クリック: 372回この商品を含むブ…

エンジニアのためのマネジメントキャリアパス

最近、色々キャリアパスを考える機会がありました。 今後のキャリアにどのような選択肢があるのか、を知りたくて手に取ってみました。 エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド作者: Camille Four…