A project by Hack Club
このサイトはcpu.landの記事をMITライセンスに基づき翻訳したものです。

Putting the “You” in CPU

コンピュータでプログラムを実行する際に実際に何が起こるのかを知りたいですか? この記事では、マルチプロセッシングの仕組み、システムコールの実際の意味、ハードウェア割り込みを使用してコンピュータがメモリを管理する方法、そしてLinuxが実行ファイルを読み込む方法について学びます。

By Lexi Mattick & Hack Club · July, 2023

はじめに… Edit on GitHub

私はコンピュータでたくさんのことをしてきましたが、私の知識には常にギャップがありました:コンピュータでプログラムを実行するときに実際に何が起こるのか? このギャップについて考えました - 必要な低レベルの知識のほとんどは持っていましたが、すべてを組み合わせるのに苦労していました。プログラムは本当にCPU上で直接実行されているのでしょうか、それとも何か別のことが起こっているのでしょうか? syscallsを使用したことはありますが、それらは実際にはどのように動作するのでしょうか? それらは本当に何なのでしょうか? 複数のプログラムはどのように同時に実行されるのでしょうか?

手書きのデジタルの図。長い髪のある人が、バイナリを摂取するコンピュータをのぞき込んで困惑しています。突然、アイデアが浮かびます! 彼らはデスクトップコンピュータで研究を始め、悪い姿勢で作業しています。

私は我慢できず、できる限り多くのことを勉強しはじめました。大学に行っていない場合、包括的なシステムリソースはあまりありませんので、いろいろな質のさまざまなソースを大量に調査し、時には矛盾する情報をふるいにかける必要がありました。数週間の研究とほぼ40ページに及ぶノートの後、コンピュータが起動してプログラムが実行されるまでの仕組みをはるかによく理解できるようになったと思います。私は自分が学んだことを説明するための一つの確かな記事があれば最高だと思っていたので、自分が欲しかった記事を書いています。

そして、よく言われるように「誰かに説明できるようになってはじめて、物事を理解したといえる」のでね。

急いでいますか? すでにこれらのことを知っている気がしますか?

第3章を読むと、新しいことを学べると保証します。あなたがLinus Torvaldsでない限り。

チャプター1に進む: 基礎