Skip to Main Content
並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ
book

並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ

by 高野 祐輝
August 2021
Intermediate to advanced content levelIntermediate to advanced
384 pages
5h 31m
Japanese
O'Reilly Japan, Inc.
Content preview from 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ

6章マルチタスク

 本書ではこれまで並行について議論を行ったものの、実際のCPU上、特にプロセスの数がCPUの数より多い場合に、物理的にどのように動作させるかについては説明していなかった。マルチタスクと並行はほぼ同じ意味であり、マルチタスクは並行にプロセスを動作させることである。マルチタスク、マルチタスキングとはOSなどの分野で用いられる用語であり、本書では、これらは単一のCPU上で複数のプロセスを並行に動作させるための技術を指すものとして捉えて解説する。

 本章では、まずはじめに、マルチタスク、マルチタスキングの概念的な意味を明確にし、その周辺用語について説明する。その後、Rust言語を用いて、AArch64アーキテクチャを対象としたユーザランド実装のスレッド(グリーンスレッドと呼ぶ)の実装を行う。本実装は非常に簡素ではあるものの、OSプロセスや、スレッド、あるいはErlangやGo言語の動作原理を明らかにするはずである。最後に、作成したグリーンスレッドの上で、簡易的なアクターモデルの実装を行う。

6.1 マルチタスク

 本節では、マルチタスク関係の用語と概略、およびマルチタスクの戦略について説明する。

6.1.1 ジキル博士とハイド氏

 「ジキル博士とハイド氏」とは、多重人格を題材にした怪奇物語である。ジキル博士はある日、ジキル博士の精神を善であるジキルと悪であるハイドに分割することに成功し、その結果悲劇を迎えてしまう。このような多重人格者は創作物語にしばしば登場する。著者が読んだ作品だと、ドラゴンボールのランチさん、幽遊白書の仙水忍、十三番目の人格─ISOLAの森谷千尋、24人のビリーミリガンのビリー(これは創作ではなく実話だが)、などがある。ここでは、医学的な視点から人体と脳の機序について説明するのではなく、どのようにすれば、このような多重人格を実現できるかという視点から想像してみよう。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理

データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理

Martin Kleppmann, 斉藤 太郎, 玉川 竜司

Publisher Resources

ISBN: 9784873119595Other