ARM64アセンブリでWebサーバを自作するプロジェクトが公開
原題: Show HN: Building a web server in assembly to give my life (a lack of) meaning
なぜ重要か
低レベルプログラミング技術の実例として教育的価値があり、システムプログラミング分野の技術発展に貢献する。
開発者がMacOS向けにARM64アセンブリで完全に書かれたWebサーバ「ymawky」をGitHubで公開した。システムコールのみを使用し、libcを使わず、接続ごとにforkする仕組みで動作する。Apple Silicon専用で、Xcode Command Line Toolsが必要。
GitHubユーザーimtomtが、ARM64アセンブリで完全に書かれたWebサーバ「ymawky(ヤマウキー)」を公開した。このWebサーバは、システムコールのみを使用し、libcライブラリを使わずに動作する手書きのコードで構成されている。接続ごとにプロセスをforkする方式を採用している。
ymawkyはMacOS向けに開発されており、Apple Siliconチップ(ARM64)上でのみ動作する。ビルドにはXcode Command Line Toolsが必要で、「xcode-select --install」コマンドでインストールできる。「make」コマンドでビルドが可能で、実行時には実行ファイルと同じディレクトリにwww/フォルダが必要となる。
開発者は可能な限りポータブルに作成したとしているが、Linuxやその他のUnixシステムで動作させるには調整が必要になる可能性があると述べている。GET要求で空のファイル名(GET /)を指定した場合、www/index.htmlファイルを検索する機能を持つ。プロジェクトはGPL-3.0ライセンスで公開されている。