問題タブ [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.
minix - _sendrec.sにある手順
src / lib / i386 / rts/_sendrec.sにある次の手順に出くわしました
最初に、次のステートメントが書き出されます。
上記のステートメントをどのように解釈しますか?たとえば、SRCDEST = 8の場合、SRCDESTの値は8であると読む必要があります。そうである場合、次のステートメントは私には意味がありません。そうでない場合、SRCDEST、MESSAGE、両方とは何ですか?それらは組み込み関数ですか?はいの場合、それらは.sファイルのどこで定義されていますか?
コメントに基づいて、eax = dest-src
。destとsrcの値は何ですか?
ebx = message pointer
。それはebxがベースポインタへの参照であることを意味しますか?に関してはmov ecx, BOTH ! _sendrec(srcdest, ptr)
、ここで正確に何が起こっているのですか?誰かが次のステートメントに光を当てるか、私にリンクを1つか2つ指摘してくれたらありがたいです。何日もウェブを検索していて、情報を見つけることができません。お時間をいただきありがとうございます。
minix - Minix3 読み取り専用の問題
main.c
MINIX 3のカーネル フォルダー (dir ) 内のファイルを上書きする方法があるかどうかを知りたいのですが、ファイル内の/usr/src/kernel/main.c
コードを変更したい (関連するリスクはわかっています) が、問題はできないことです。それを保存。としてログインしようとしましたがbin
、root
それでも同じ問題が発生します。
これを行う別の方法はありますか?
c - Minix - C でスタック トレースを作成する
これは Minix (http://www.minix3.org) を使用しています。
Uni のプロジェクトでは、fkey を使用してスタック トレースを作成しています。プロセス テーブルにアクセスでき、プロセス カウンター、スタック ポインター、およびベース ポインターを出力しています。今、私は立ち往生しています - スタック呼び出しをステップバックするときに、呼び出されているサブルーチンの名前を出力できるようにする必要があります。
例: proc "getty"、SP: 0x1669 PC: 0x41B0 BP: 41B4 があります。
私の説明:
SP は、スタック ポインターが現在ある場所 (実行中のどこか) を指しています。
PC は次に実行される命令を指しており、各ステップで 1 ずつインクリメントされます
BP は現在のサブルーチンの先頭を指しています
これらのメモリ アドレスからサブルーチン名を取得するにはどうすればよいでしょうか。また、スタックを逆行するにはどうすればよいでしょうか。
ls - MINIX で正しいブロック数を表示するには「ls -s」が必要
minix を含む OS のコースを受講していますが、アドバイスが欲しいです。
ls -s
Linux と同じことを行う ように minix を変更する方法を見つけようとしています。
minix と linuxls -s
は似ていますが、故意に : を使用してファイルを作成するdd of=XXXX bs=4096 count=1 seek=5
と、linux ではファイル サイズが 4 ブロックと表示され、minix では 24 ブロックと表示されることを理解しています。
minix とは異なり、Linux は 20 個の空のブロックがあることを認識し、空のブロックを無視して論理サイズを報告するため、これが発生する理由を理解しています。
どこから始めたらよいか悩んでいたのですが、講師に教えてもらったservers/fs/stadir.c
ので、クラスを調べてみました。
私が関連していると思う唯一の部分(st_sizeを含む)は次のとおりです。
これは、minix ソース コードの 27700 ~ 27706 行です。
誰かがどこを見るべきか、または正しい場所を見ているかどうか、ヒントなどを教えてもらえますか。
c - Does Fork() in UNIX create processes which run in unison or sequentially?
When using a fork() function in a program which is running in a Unix like operating system (i.e MINIX 3) does it create a number of separate processes which are handled independently and can therefore finish ahead of each other (which is actually what I want) or will it create a series of sequential processes which only finish in the order they were created.
Here is the code I'm using to fork()
Thanks for your time
system-calls - Minix 3 のプロセスのシステム コールをカウントし、F8 キーを使用してプロセス/システム コールの数を出力します。
すべてのプロセス (ユーザー、システムなど) が使用するシステム コールの数をカウントし、すべてのプロセスの結果をF8
. ボタンにすべてを印刷させるには、プロセスフィールドを変更して追加し、proc.c
変更する必要があると思います。proc.h
keyboard.c
F8
アプローチ方法についての助けをいただければ幸いです。
linux - JVM の MINIX への移植
タイトルからわかるように、何らかの理由で Minix で .class ファイルを実行できるようにする必要があります (コンパイラは必要ありません)。それで、誰かが私に何か方向性を示したり、文献を提案したり、アドバイスをくれたりできますか? 一般的に、あなたならどうしますか?
今まで私は見つけましたOpenJDK
(しかし、それはまさに私が探しているものではありません)。Tanenbaum の「オペレーティング システムの設計と実装」も読みました。Minix の内部構造について多くの洞察を得ることができました。
c - MinixのEXEC呼び出しで親メモリを解放するにはどうすればよいですか?
EXEC 呼び出しでは、親プロセスのメモリを削除してメモリを作成することで、より大きな「子プロセス」を許可しようとしています。
私は MINIX 3.2 を使用しており、変更されたバージョンのinexec.c
を呼び出すように変更する予定です。alloc_new_mem
alloc.c
alloc.c のソース コードは次のとおりです - https://github.com/minix3/minix/blob/master/servers/vm/alloc.c
ポインタを探しています。
OS: MINIX3 ファイル: alloc.c
kernel - PIDを使用してサーバーレイヤーからプロセス名を取得する方法
プロセスの名前を使用できるようにしたいのですが、servers/sched/schedule.c
構造schedproc
にname変数が含まれていません。endpoint_lookup()
関数を使用して構造体へのポインターを取得することを考えましproc
たが、で定義されているため、(ユーザースペースから)kernel/proc.c
内部で呼び出すことができるかどうかわかりませんでした。schedule.c
kernel - /kernel/system からのファイルへの Minix の書き込み
(Minix)/home/log.txt
から特別なログ ファイル (たとえば、) にいくつかの情報を書き込む必要があります。kernel/system/do_kill.c
私はすでに試しました:
しかし、ファイルが表示されません。(ただしprintf()
、コンソールにテキストが表示されます)。
を使用するfprintf()
と、コンパイル中にエラーが発生します ( make clean all
from /usr/src/tools
)。