初心者やプロのプログラマーが Linux プログラミングを学ぶのに最適な本やウェブサイトは何ですか? より具体的なトピックとしては、a) フォーク、b) 共有メモリ、c) 実行コマンド、d) シグナル、e) スケジューリング アルゴリズム (ラウンドロビン、先着順、優先度スケジューリング、ショート ジョブ ファースト、マルチレベル キュー スケジューリング、マルチレベル フィードバック キュー スケジューリング) などがあります。
答え1
良い本としては、無料で入手できる「Advanced Linux Programming」があります。ここ
ネットワーク プログラミングの聖書 ;-) :UNIX ネットワーク プログラミング V1
IPC プログラミング:Unix ネットワーク プログラミング V2
強力なマニュアルページや、Tannenbaumの1つまたはスタリングスの1つただし、Linux プログラミング = C プログラミングなので、初心者であれば、優れた C プログラミングの本も探す必要があります。
答え2
プログラミングに焦点を当てているわけではないが、Linux ドキュメンテーション プロジェクト20 年以上前から存在しており (Wikipedia によると、これはオンラインの最初の Linux ウェブサイトでした)、基本的な「ハウツー」や書籍が多数含まれています。資料の一部は前世紀にまで遡り、今日では適用範囲が限られているかもしれませんが、それでも優れたリソースです。
前述のように、焦点はプログラミングではなく、システム管理です。いずれにしても、自分で調べてみてください。内容は多岐にわたります。GNU C ライブラリマニュアル(これはより基本的なGNU C リファレンスマニュアル) では、ネイティブ ライブラリのコンテキストでいくつかのトピックについて説明しています (fork と exec は、第 26 章、シグナル 24 にあります)。BSD スタイルを超えるスレッドや共有メモリについては説明していません。mmap()
これらは基本ライブラリの一部ではないためです。
のPOSIX仕様主にマニュアルページのコレクションです(通常、Linuxシステムのものよりも情報量が多いです)。POSIX準拠システム(GNU/Linuxは基本的にそうです)の共有メモリとスレッドをカバーしています。マニュアルページは、おそらく私がプログラミングするときに最も参考にするものです。必ずしもベストではありません。導入これらは、特定のトピックに関するものですが、特定の質問に対する特定の回答が必要な場合は、決定的な法律用語になります。何かがよく理解できない場合は、特定の質問を十分につなげると、一般的なトピックに関する誰かの長々とした説明を読むよりも、物事が明確になることがよくあります。