これは、デ ア コルーニャ大学のコンピューター サイエンス 2 年生のオペレーティング システム科目のプロジェクトです。すべての割り当ては、各関数の説明とともに labAssignments フォルダーにあります。
このプログラムは、bash や zsh が行うものと同様のシェルで構成されており、いくつかの機能が組み込まれており、*nix システム上で他のコマンドを実行する機能も備えています。
コマンド「 ayuda 」を実行すると、含まれているすべての関数のリストが表示され、知りたいコマンドである「 ayuda command 」コマンドを実行すると、各機能の簡単な説明が表示されます。名前が含まれているコマンドと競合しない限り、システムにインストールされている他のコマンドを他のシェルと同様に実行することもできます。シェルを終了するには、 salir 、 fin 、 byeまたはexitを実行できます。
Linux BSD や MacOS などの *nix オペレーティング システムに gcc をインストールする必要があります。次のコマンドでコンパイルできます。
make
そしてそれを次のように実行します:
./shell
作業と理解を容易にするために、コードはさまざまなファイルに分割されています。
main 関数に加えて、プロンプト関数と処理関数が含まれます。
簡単な説明が記載されたリスト固有のものを除く、すべての関数のすべてのヘッダーが含まれます。私たちが使用するすべてのライブラリを含めます。コードで使用される構造体とデータ型を定義します。
作成時に指定されたさまざまな種類の値を保存するために、リストの実装を 1 つだけ使用することにしました。これらのリストの作成は、p4.c の main 関数で確認できます。
コマンドのリストとその基本機能が含まれていますが、そのほとんどは補助機能に依存しています。
前のカテゴリに当てはまらないその他の関数がすべて含まれています。ナビゲートしやすくするために、commands.c 内のコードの大部分を分離することにしました。