タグ付けされた質問 「kernel」

15
Tanenbaum-Torvaldsの議論でTanenbaumが間違っていたのはなぜですか?
私は最近、OSクラスでTanenbaum-Torvaldsの討論会から読書を割り当てられました。討論では、タネンバウムはいくつかの予測を行います。 マイクロカーネルは未来です x86が消滅し、RISCアーキテクチャが市場を支配する (それから5年後)誰もが無料のGNU OSを実行します 議論が起こったとき、私は1歳だったので、歴史的な直観に欠けています。これらの予測がパンアウトされないのはなぜですか?タネンバウムの観点からは、彼らは将来のかなり合理的な予測であるように思えます。何が起こったので、彼らは合格しなかったのですか

12
OSを実行せずにオペレーティングシステムを実行するにはどうすればよいですか?
私は今、本当に興味があります。私はPythonプログラマーであり、この質問に戸惑いました。あなたはOSを書いています。どのように実行しますか?どういうわけか実行する必要があり、その方法は別のOS内ですか? OSにいなくてもアプリケーションを実行するにはどうすればよいですか?コンピューターに、たとえばCを実行し、実行するOSがない場合にこれらのコマンドを画面に対して実行するように指示するにはどうすればよいですか? UNIXカーネルと関係がありますか?もしそうなら、Unixカーネルとは何ですか、それともカーネル全般ですか? OSはそれよりも複雑なはずですが、どのように機能しますか?

5
スピンロックはポーリングとどう違うのですか?
スピンロックとポーリングは同じものですか? ウィキペディア: スピンロックは、ロックを取得しようとするスレッドに、ロックが使用可能かどうかを繰り返し確認しながら、単純にループ(「スピン」)で待機させるロックです。 これはひどく似ています: while(!ready); 可能な限りポーリングを避けるように教えられましたが、それは完全に準最適なものだったからです。それで、スピンロックは悪い古いポーリングの派手な名前ですか?スピンロックはポーリングとどう違うのですか?
41 locks  kernel  polling 

13
オペレーティングシステムがCおよびC ++で低レベルの処理を行うのはなぜですか?なぜC ++だけではないのですか?
WindowsのWikipediaページには、Windowsがブートローダーとタスクスイッチャー用にAssemblyで、カーネルルーチン用にC と C ++で記述されていることが記載されています。 IIRC、あなたがからC ++の関数を呼び出すことができるextern "C"「Dブロック。カーネル関数にCを使用して、純粋なCアプリがそれらを使用できるようにすることができます(printfなど)が、それらをextern "C "ブロックにラップすることができるのであれば、なぜCでコードを書くのですか?

6
アセンブリはまだ関連していますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 プロジェクトのコーディングや管理に関して、アセンブリ言語と高レベル言語の間に大きな違いはありますか?明らかに、他のほとんどの言語よりも特定の操作を実行するためにアセンブリ言語でより多くのステートメントが必要ですが、ターゲットアセンブリ言語(特にx86 / x64アセンブリ言語)に基づいてプロジェクトを実行する必要がある(またはする必要がある)方法に影響する違いがあります? アセンブリ言語と他の言語との違いがある限り、これらの言語の少なくとも一部が他の言語の利点であると推測することは理にかなっています。アセンブリ言語の特定の欠点と、それらの欠点を軽減する方法を誰かが指摘できますか? 具体的な例の1つは、スタッフの空室状況です。経験豊富なアセンブリ言語プログラマを見つけるのに苦労した人はいますか?もしそうなら、この問題を軽減するためにどのような手順を踏むことができますか?
18 assembly  kernel 

5
独自のカーネルの構築に関する野心的な学生へのアドバイス[非公開]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私は非常に野心的な大学生で、コンピューターについて知っておくべきことをほとんどすべて学びたいと思っています(必要に応じて、私は学習が大好きです)。最近、私は自分のカーネルを設計して構築するのは楽しいプロジェクトになるだろうと考えました(長いプロジェクトですが)。 基本的な情報を入手しましたが、実際に機能させるにはAssemblyとC / C ++をマスターする必要があることを知りました。私はそれらに取り組んでいますが、プログラミングの観点からカーネルが実際にどのように機能するかを学びたいです。私はLinuxカーネルのコードを閲覧するのに何時間も費やしましたが、それだけであなたを連れて行くことができます。 カーネルを構築する基本的な手順は何ですか?対処する必要があるもの 注文するのですか?私は多くのことを噛んでいることを知っていますが、私はそれを処理するのに十分決心しています。
18 c  assembly  kernel 

3
初心者のカーネルハッカーにとって、興味深いがそれほど難しくないプロジェクトは何ですか?
オペレーティングシステムのコースを受講した後、Linuxカーネルの知識を拡大し、大きなシステムでの作業を練習することに興味があります。私の手で試すことができる、興味深いがそれほど難しくないプロジェクトは何ですか? 編集:私がカーネルで何をしたかについての少しの背景。 新しいスケジューリングポリシーを実装しました ユーザースレッドと対応するミューテックスライブラリの実装(実際にはカーネルハッキングではなく、カーネル関連の理論が含まれていました)
13 linux  kernel 

5
初心者向けのLinuxカーネルソースコードを理解する方法 [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 私はメモリ管理、特にLinuxカーネルのページ置換コンポーネントに取り組むことに興味がある学生です。 カーネルソースの理解を始めるのに役立つさまざまなガイドは何ですか? Mel GormanによるLinux Virtual Memory Managerの理解とCesatiとBovetによるLinux Kernelの理解の本を読みましたが、コード全体の制御の流れについては説明していません。それらは、使用されるさまざまなデータ構造と、さまざまな機能が実行する作業を説明するだけです。これにより、コードがより複雑になります。 私のプロジェクトでは、メインストリームカーネルでページ置換アルゴリズムを調整し、一連のワークロードのパフォーマンスを分析します。わかりやすいLinuxカーネルのフレーバーはありますか(linux-2.6.xxカーネルでない場合)?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.