March 2021
Intermediate to advanced
800 pages
8h 35m
Japanese
ほとんどの人間ができないけれどもコンピュータならばできること。
段ボール箱の中に閉じ込められて倉庫でじっとしていることなどがそうだ。
──ジャック・ハンディー
ここから3つの章は今までの章よりも少し難しくなる。この章ではデータと時間の問題(逐次アクセスか並行アクセスか)を扱う。16章ではデータと格納場所の問題(特殊ファイル、データベースの読み書き)、17章ではデータと移動の問題(ネットワーク)を扱う。
個別のプログラムを実行すると、オペレーティングシステムはプロセスを1つ作る。プロセスはシステムリソース(CPU、メモリ、ディスクスペース)とOSのカーネルのデータ構造(ファイル、ネットワーク接続、利用統計など)を使う。プロセスはほかのプロセスからは切り離されている。ほかのプロセスが何をしているのかを覗いたり、ほかのプロセスの作業を邪魔したりすることはできない。
オペレーティングシステムは、実行されているすべてのプロセスを管理しており、それぞれに少しずつ実行時間を与えては、ほかのプロセスに移っていく。これは、すべてのプロセスに公平に処理の機会を与え、ユーザに対して機敏に反応するという2つの目的のためだ。プロセスの状態は、macOSのアクティビティモニタやWindowsのタスクマネージャ、Linuxのtopコマンドなどのグラフィカルインタフェースで表示できる。
プロセスデータにはプログラム自身からもアクセスできる。標準ライブラリのosモジュールは、システム情報にアクセスするための方法を提供している。たとえば、次の関数は、実行されているPythonインタプリタのプロセスIDとカレントディレクトリ ...
Read now
Unlock full access