コマンドラインインタプリタは、通常のGUIプログラムと同じ方法でカーネル/デバイスドライバと対話しますか?

コマンドラインインタプリタは、通常のGUIプログラムと同じ方法でカーネル/デバイスドライバと対話しますか?

たとえば、オフロードはファイルシステムで実装されます。

ビデオ解像度の変更は、ビデオレンダリングハードウェアを使用してモニターのディスプレイを追跡および管理するコンピュータプログラムで実施される。

コマンドラインから結果を変更できます(私はLinuxのUbuntuでこれを行いました)。

LinuxカーネルAPIを解析するコマンドインタフェースは、GUIプログラムで解像度を変更するのと似ていますか、それともこの形式でCLIが異なりますか?

私の質問があまりにも混乱しないことを願っています。それでは、適切に編集します。

答え1

Linuxでは、実際にはGUIアプリケーションとターミナルアプリケーションの間に意味のある違いはありません。実際、Xはちょうど別のアプリ- かなり洗練された作業を行いますが、オペレーティングシステムに関する限り特別なものではありません。 Xができることは他のアプリケーションでも行うことができ、最終的にXはディスプレイと入力デバイスを管理し、統合APIを公開し、基本ハードウェアに関係なく画面に描画、ポインティングデバイス入力を読み取るなどのタスクを実行しますします。さまざまなツールキット(Qt、GTKなど)がこれらの基盤の上に構築され、ユーザーモードアプリケーションを開発するための高度な方法を提供し、入力テキストボックス、メニュー、クリック可能なボタン、リストビューなどの高度な機能を提供します。

一部のLinuxアプリケーションでは、モニタが現在端末に接続されているかどうかに応じて、使用するインターフェイスを選択するデュアルユーザーインターフェイスも表示されます。 X インターフェイスが必要かどうかに応じて、より多くのバージョンが別々のバージョンで提供されます。たとえば、EmacsとVimがあります。

これは、GUIがすべての意図と目的のためにオペレーティングシステム自体の不可欠な部分であるWindowsまたはOS Xとは非常に対照的です。たとえば、Windows Server Coreでは、Explorerや他の多くの項目が削除されていますが、デフォルトではコマンドプロンプトウィンドウに移動することを除いて、GUIはそのまま残りました。今それ慣れるまでに時間がかかります。

Linuxカーネルは、独自のコマンドライン(ブートマネージャを介して編集できます)を除くすべてのコマンドラインには興味がありません。それ以上のもの($ PATH処理とファイル名のグロービングを含む)は、GNOMEデスクトップ、bashシェル、システム初期化アプリケーション(通常/ sbin / init - そのアプリケーションがイエスにもかかわらず)などのユーザースペースアプリケーションによって処理されます。一部カーネルの一部とユーザー領域プログラムの間のハイブリッドで、他のプログラムと同様にユーザー空間で実行され、カーネル、テキストエディタ、またはその他の項目によって与えられた特別な権限はありません。

Ubuntuは「本質的にLinux」ではありません。 「本質的にLinux」です。 Debian、Slackware、RHEL、SuSE、その他のディストリビューションなどのLinuxディストリビューションです。他のほとんどの主要ディストリビューションと同様に、独自のソフトウェアの一部をパッケージ化できますが、Linuxではないことはありません。しかし、Debianと密接に関連しています。できるLinuxなしで使用できます(たとえば、以前のDebianとほぼ同じですが、FreeBSDカーネルの上で実行されているDebian / kFreeBSD)。

関連情報