xv6

XV6でタイマ割り込みはどのように発生しますか?
xv6

XV6でタイマ割り込みはどのように発生しますか?

thread_schedule()thread_yield()現在のスレッドのレジスタと状態を保存し、次のスレッドのレジスタと状態をロードすることが目的である、などの関数を使用してスレッド切り替えを実装しました。 これで、タイマー割り込みを使用してxv6で同じことをしたいのですが、どのように機能するのかわかりません。 ...

Admin

xv6の実装でgrepが機能しますか?
xv6

xv6の実装でgrepが機能しますか?

char buf[1024]; void grep(char *pattern, int fd) { int n, m; char *p, *q; m = 0; while((n = read(fd, buf+m, sizeof(buf)-m-1)) > 0){ m += n; buf[m] = '\0'; p = buf; while((q = strchr(p, '\n')) != 0){ *q = 0; if(match(pattern, p)){ *q ...

Admin

ユーザープロセスがカーネルアドレス空間からメモリを読み取れないのはなぜですか?
xv6

ユーザープロセスがカーネルアドレス空間からメモリを読み取れないのはなぜですか?

ユーザープロセスがカーネルアドレス空間にデータを書き込んだり変更したりできない理由は、かなり明白です。しかし、なぜ彼らがデータを読み取ることができないのかわかりません。この場合、分割罠があることを知っていますが、その理由は何ですか? ユーザープロセスがカーネルアドレス空間のデータのみを読み取ることができる場合、どのような問題が発生しますか? 事前にありがとう ...

Admin

shell/initはどのようにstdioストリームを生成しますか?
xv6

shell/initはどのようにstdioストリームを生成しますか?

MITソースを読んでいます。xv6オペレーティングシステム。クリップは次の始めに表示されますsh.c。 // Ensure that three file descriptors are open. while((fd = open("console", O_RDWR)) >= 0){ if(fd >= 3){ close(fd); break; } } 私はこれが次のように確認することを知っています。少なくとも新しく割り当てられたファイルディスクリプタが3より高い(または等しい)ことを確認して、3つ...

Admin

基本ファイル記述子用の open() コンソール
xv6

基本ファイル記述子用の open() コンソール

私はCのシェルプログラムの実装について読んでいます(MIT 6.828オペレーティングシステムエンジニアリングプロセスのxv6シェル)。 シェルの機能はmain()次のコードで始まります。 //Assumes three file descriptors open while((fd = open("console", O_RDWR)) >= 0){ if(fd >= 3){ close(fd) break; } } 以下は、上記のコードを説明するxv6本の引用です。 シェルは、コン...

Admin

長い話を短く
xv6

長い話を短く

背景:仮想化にQEMUを使用しています。xv6-riscvWSL2の上にあります。私はLinuxコマンドを連想させるようなきちんとしたオペレーティングシステムのシャットダウンプロセスを作成しようとしていますexit。私は現在qemuを終了するためにCtrl-を使用していますが、a xオペレーティングシステム内でプログラム的にこれを行うことができることを願っています。 私はLinuxexitコマンドが現在シェルを閉じていることを知っています。つまり、アクティブシェルが残っているかどうかを検出するカーネル空間方法と、QEMUが閉じていることを知らせる方法が必要で...

Admin

ファイル記述子とプロセステーブルの関係は何ですか?
xv6

ファイル記述子とプロセステーブルの関係は何ですか?

私はオペレーティングシステムに興味があります。それで、オペレーティングシステムについて学ぶためにxv6の本を読んでいます。このトピックに関する私の最初の本です。理解できない一行を読みました。 内部的には、xv6カーネルはファイル記述子を各プロセステーブルのインデックスとして使用するため、各プロセスは0から始まるファイル記述子の専用スペースを持ちます。 ファイル記述子は、書き込みまたは読み取り可能なデータストリームを表すと思います。プロセステーブルとはどのような関係がありますか?ファイル記述子テーブルは、開かれたファイルリソースを表すプロセスメモリ...

Admin