問題タブ [xv6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unix - Windowsでxv6をコンパイルして実行する方法は?
重複の可能性:
Windowsでxv6をコンパイルして実行する方法は?
私たちのコースではxv6を教えられています。現在、Windows のパテを使用して学校のLinuxサーバーにログインするために使用しています。
そこで、(vimを使用して)xv6のソースに変更を加え、それをコンパイルしてqemuで実行します。
サーバーに接続できるとは限らないため、Windowsを使用してxv6をコンパイルして実行できるようにしたいと考えています(一部のエミュレーターでは明らかに)。
上記のような作業に使用できるエミュレーターは何ですか?(コードを編集し、コンパイルして実行します)そしてどのように?
windows - Windowsでxv6をコンパイルして実行するには?
私たちはコースでxv6を教えられています。現在、私たちはWindowsで パテを使用して学校のLinuxサーバーにログインするために使用しています。
そこで xv6 のソースに変更を加え (vim を使用)、コンパイルしてqemuで実行するだけです。
サーバーに常に接続できるとは限らないため、ウィンドウを使用してxv6をコンパイルおよび実行できるようにしたい(明らかに一部のエミュレーターで)。
上記の種類の作業に使用できるエミュレータは何ですか? (コードを編集し、コンパイルして実行する)そしてどのように?
operating-system - xv6 でシステム コール / ユーティリティを追加するにはどうすればよいですか
XV6 でシステム コール / ユーティリティを追加する方法について教えてください / 参考文献を教えてもらえますか
グーグルでの徹底的な検索は無益であり、困難な方法でのハッキングもこれまでのところ生産的ではありませんでした.
参考書には、助けを借りて始めるためのハローワールドの例もありませんでした。
c - syscall()のxv6rev6奇妙なコード
次のif、xv6-rev6コードの3279〜3285行が使用されている理由は誰でも理解できます。
だけでなく:
c - xv6のMakefile
xv6のコードを読んでいますが、Makefileを読むのが難しいと感じています。次のステートメントがどのように機能するかを教えてください。
そして、Makefileを詳細に学ぶ方法は?良い本をお勧めしますか?
ありがとうございました!
gdb - gdbを使用したxv6でのユーザーコードのデバッグ
xv6に基づくOSクラスを実行していて、その上で実行する必要のあるプログラムを作成しました。
でカーネルコードをデバッグできることは知っていますmake qemu-gdb
が、自分のユーザープログラムをデバッグする方法がわかりません。
デバッグしたいとしcat
ましょう。どうすればそれを実行できますか?
ありがとう
PS xv6タグはありませんか?この質問はここに行くべきですか?
c - 指定されたパスを操作する再帰関数
シンボリック リンク (AKA ショートカット) をサポートするために、教訓的な OS xv6 (c で記述) の変更に取り組んでいます。シンボリック リンクは、リンク先へのパスを含むタイプ T_SYM のファイルです。そのために、パスとバッファーを取得し、バッファーを「実際の」パスで埋める再帰関数を作成しました (つまり、パスにリンクが含まれている場合は、実際のパスに置き換える必要があり、リンクは次の場所で発生する可能性があります)。パスの任意のレベル)。
基本的に、パス a/b/c/d と f から a/b へのリンクがある場合、次の操作は同等である必要があります。
CD a/b/c/d
CD f/c/d
これでコードが書かれましたが、私が解決しようとしている問題は、パスが「/」で始まる問題です(パスが絶対パスで相対パスではないことを意味します)。現在、/dir1 という名前のパスで実行すると、dir1 のように扱われます (絶対ではなく相対)。
これはメイン関数であり、再帰関数を呼び出します。pathname は指定されたパスで、buf には実際のパスが含まれます。
これが再帰部分です。この関数は、i ノード構造 (システム内のファイルまたはディレクトリを表す) を返します。realpath 内に実際のパスを構築します。ilock と iunlock は、inode を安全に使用するために使用されています。
私はそれを正しく行うために多くの方法を試しましたが、成功しませんでした。誰かが問題を見つけたら、解決策を聞いてうれしいです。ありがとう、エヤル
c - Linuxでディレクトリを手動で見つける方法は?
Linuxで現在のディレクトリを表示するコマンドを作成しようとしています。「pwd」コマンドを使用できることはわかっていますが、それを自分で実装する必要があります!...つまり、いわゆる「findme」コマンドを入力するときに、自分がいるディレクトリに戻りたいと考えています。一瞬。「findme」コマンドを作成できましたが (これは非常に単純です)、ディレクトリ全体を表示するために、コマンドを実行した後に自分がどこにいるかを知るにはどうすればよいでしょうか?
operating-system - qemu で xv6 を起動できません
私は Debian Wheezy を使用しており、qemu で xv6 を実行したいと考えています。libsdl1.2-dev をインストールしてから、make qemu を実行します。しかし、エラーが発生しました: SDL を初期化できませんでした(デバイスが見つかりませんでした)終了します。
system-calls - xv6 での vfork() の実装
システム コール vfork(copy on write) を追加したい場合、syscall.c で正確に何を編集する必要がありますか? vfork のコードのフラグメントをどこに追加しますか。要するに、xv6 で vfork を実装するにはどうすればよいでしょうか?