問題タブ [minix]
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.
c - Minix - システムコールが関数を正しく呼び出していませんか?
宿題のために Minix でシステム コールを作成する必要があります。ほとんどのセットアップが完了しましたが、何らかの理由で、システム コールが実際に呼び出している関数が正しく検出されません。(不適切な言葉遣いの選択を許してください。これを説明するのに最適な言葉はわかりません)。
次のコードmylib.h
で/usr/include
(および)を作成しました。/usr/src/include
mylib.h
私も適切に追加しましたMakefile
。
で定義MYCALL
し、の対応するスロットに/usr/src/include/minix/callnr.h
追加しました。do_mycall
/usr/src/servers/pm/table.h
に追加int do_mycall(void);
し/usr/src/servers/pm/proto.h
、 に簡単な関数宣言を追加しましたmisc.c
。
また、そのディレクトリ.c
に追加した独自のファイルに配置しようとしました。Makefile
、 、、に出演make
しました。/usr/src/servers/pm/
/usr/src/include
make includes
/usr/src/releasetools
ただし、 を呼び出しmycall()
て戻り値をキャッチすると、-1 になります。
私はいくつかのプリントを追加しました. の関数が呼び出されていることがわかります. mylib.h
MYCALL は のインデックスとして正しく定義されていtable.h
ますtable.h
.do_mycall
実行時にそこにあります)。したがって、私が言えることは、 in がその_syscall
関数do_mycall
に正しくマッピングされていないということだけです。
photo.h
のプロトタイプをのコードだけに置き換えようとしましたがmisc.c
(そのため、プロトタイプは失われます)、何もmake
変わらず、文句も言いませんでした。
これを引き起こしている原因を特定するのを手伝ってくれる人はいますか?
がどこで定義されているかを誰かが知っていれば_syscall
、それが役立つかもしれません。
c - minixオペレーティングシステムでcファイルを実行する方法
誰かが私に何が何で a.out
、どのように機能するのか説明してもらえますか? Unix (minix) を使用するのはこれが初めてです。2 つのファイルfilename.c
とtest.sh
(./a.out で始まる 3 行といくつかの f=values を含む) を含む 1 つのフォルダーがあります。そうでない場合は、コンパイルして実行したいだけですfilename.c
か?
python - MINIXのPythonC拡張機能
私は自分が書いたこのパッケージ(私は動作していることがわかっています)を最初に通常の方法でビルドしようとしていましたdistutils
:
まあ、結構です。distutils
は、あまり人気のないプラットフォームで頻繁に機能するモジュールの1つです。そこで、拡張部分を手動でコンパイルしてみました。
これは機能しました—つまり、_posix.so
文句を言わずに生成されました—しかし、Pythonで結果のモジュールをインポートしようとしても、次のことはできませんでした。
Googleは、これが共有ライブラリ(Python拡張機能)をロードするOSの機能に関連していることを示唆しています。調べてみると、MINIXは昨年まで共有ライブラリをまったくサポートしていなかったことがわかりましたが、今はサポートする必要があります。実際、との両方を/usr/pkg/include/python2.7/pyconfig.h
定義しているので、明らかにそうです。HAVE_DLOPEN
HAVE_DYNAMIC_LOADING
どうしたの?
cpu - VirtualBox Minix3 パニック
PCで仮想化が無効になっている場合にそのようなエラーが発生する可能性があることをグーグルで検索し、レポートを検索してください。BIOS設定を確認しましたが、有効になっています。私のCPUはCore i3です。
process - Minix 3 でシステムコール内で待機する方法
何らかの条件が真になるまで待機してから戻るシステムコールを minix 内に実装する必要があります。しかし、私は単に次のようなことをしようとしていることに気づきました
プロセスをブロックする一方で、minix で実行されている他のすべてのプロセスもブロックするため、機能しません。別の仮想端末に切り替えてログインすることさえできません。minix プロセスは互いに独立して実行されるはずだと思っていましたが、システム コールでプロセスがブロックされると、他のすべてのプロセスが同時に中断されるようです。これは正しいでしょうか?ありがとうございました
c - C - shmget/shmat をコンパイルできない
Minix システムでこれが機能しない理由を突き止めようと、頭を悩ませています。
C プログラムをコンパイルしようとすると、次のエラーが発生します。
これは私のコードです:
ご覧のとおり、これらの呼び出しに適切なヘッダー ファイルを含めましたが、まだ参照が未定義であると表示されています。これを別のプログラムでうまく使用できたので、このインスタンスでこれが機能しない理由についてのアイデアが完全になくなりました。
編集:これはシステムコール内にあります。違いはないと思います。
operating-system - 関数内から minix _syscall() を呼び出す
最近、私が書いたシステムコールに関して、minix で非常に奇妙な問題に遭遇しています。基本的に、コードは main() 関数内から正常に実行され、呼び出しは本来の処理を行います。ただし、コードを関数に入れて main() 内からその関数を呼び出すと、失敗します。次に例を示します。
コードから関数を呼び出すと、メイン関数にコードを記述した場合と同じように動作するはずです。ここで何が欠けていますか??
minix - Hurd と Minix の b/w の違いは何ですか?
両方がマイクロカーネルであることを知っているので、Mach (Hurd のベース) と Minix の違いは何ですか。アーキテクチャ上の違いはありますか? 「L4とは」について少し説明すると非常に役立ちます。これをカバーするドキュメントが見つかりません。
compilation - minix3でコンパイルしてみる
VMware Player で minix3 を使用していますが、システム コールのコンパイルに問題があります。私は実際に、システムコールに単純なコマンドを追加して、それが機能していることを確認できるかどうかを確認しようとしprintf("my message");
ましprotect.c
たusr/src/servers/vfs
。
make
私はそれを保存し、 vfs ディレクトリにいる間にコマンドでコンパイルしようとしました。protect.c
最新だそうです。
ファイルの所有者を変更しようとしました(protect.c
chownモードコードが含まれています)が、結果としてメッセージを待っています。代わりに、メッセージを出力せずにコマンドを正しく実行するだけです。
私はコンパイルで何か間違ったことをしたと思います.私はそれを修正しようとしてインターネット上で何時間も探しています. しかし、繰り返し来る唯一のコマンドはmake hdboot
. 仮想OSとしてminix3を使用しているため、このコマンドが機能しないことはわかっていますが、確認のために試してみたところ、機能しませんでした。
minix3 でのコンパイルについて何か知っている人はいますか?