Definisi
Dokumen ini menyediakan definisi kata dan frasa tertentu dalam ruang ini dan digunakan sebagai referensi di seluruh kumpulan dokumen ini.
Aplikasi baris perintah, atau terkadang disebut "aplikasi konsol" dan/atau disebut sebagai "klien" dari subsistem konsol, adalah program yang beroperasi terutama pada aliran informasi teks atau karakter. Mereka umumnya tidak berisi elemen antarmuka pengguna mereka sendiri dan mendelegasikan peran output/tampilan dan input/interaksi ke aplikasi hosting. Aplikasi baris perintah menerima aliran teks pada handel input STDIN
standar mereka yang mewakili input keyboard pengguna, memproses informasi tersebut, lalu merespons dengan aliran teks pada output STDOUT
standar mereka untuk ditampilkan kembali ke monitor pengguna. Tentu saja, ini telah berevolusi dari waktu ke waktu untuk perangkat input tambahan dan skenario jarak jauh, tetapi filosofi dasar yang sama tetap sama: klien baris perintah beroperasi pada teks dan orang lain mengelola tampilan/input.
Handel standar adalah seri, , STDIN
STDOUT
, dan STDERR
, yang diperkenalkan sebagai bagian dari ruang proses pada startup. Mereka mewakili tempat untuk informasi yang akan diterima dalam perjalanan masuk dan dikirim kembali saat keluar (termasuk tempat khusus untuk melaporkan kesalahan). Untuk aplikasi baris perintah, ini harus selalu ada saat aplikasi dimulai. Mereka diwarisi dari induk secara otomatis, diatur secara eksplisit oleh induk, atau dibuat secara otomatis oleh sistem operasi jika tidak ditentukan/diizinkan. Untuk aplikasi Windows klasik, ini mungkin kosong saat startup. Namun, mereka dapat secara implisit atau eksplisit diwarisi dari induk atau dialokasikan, dilampirkan, dan dibebaskan selama runtime oleh aplikasi itu sendiri.
Handel standar tidak menyiratkan jenis perangkat tertentu yang terpasang. Namun, dalam kasus aplikasi baris perintah, perangkat umumnya adalah perangkat konsol, file (dari pengalihan dalam shell), atau pipa (dari shell yang menghubungkan output satu utilitas ke input berikutnya). Ini mungkin juga soket atau jenis perangkat lainnya.
Pada platform non-Windows, perangkat TTY dan PTY masing-masing mewakili perangkat fisik sejati atau perangkat semu yang dibuat perangkat lunak yang konsepnya sama dengan sesi konsol Windows: saluran tempat komunikasi antara aplikasi klien baris perintah dan aplikasi interaktivitas host server atau perangkat keyboard/tampilan fisik dapat bertukar informasi berbasis teks.
Dalam ruang ini, kami menyebut "klien" sebagai aplikasi yang melakukan pekerjaan pemrosesan informasi dan menjalankan perintah. Aplikasi "server" adalah aplikasi yang bertanggung jawab atas antarmuka pengguna dan merupakan pekerja untuk menerjemahkan input dan output ke dalam bentuk standar atas nama klien.
Ini adalah istilah catch-all yang mewakili semua modul yang memengaruhi konsol dan operasi baris perintah. Ini secara khusus mengacu pada bendera yang merupakan bagian dari header Portable Executable yang menentukan apakah aplikasi awal adalah aplikasi baris perintah/konsol (dan harus memiliki handel standar untuk memulai) atau aplikasi windows (dan tidak membutuhkannya).
Host konsol, aplikasi klien baris perintah, driver konsol, permukaan API konsol, infrastruktur pseudoconsole, terminal, lembar properti konfigurasi, mekanisme dan stub di dalam pemuat proses, dan utilitas apa pun yang terkait dengan pekerjaan bentuk aplikasi ini dianggap milik grup ini.
Windows Console Host, atau conhost.exe
, adalah aplikasi server untuk semua API Konsol Windows serta antarmuka pengguna Windows klasik untuk bekerja dengan aplikasi baris perintah. Isi lengkap biner ini, baik server API maupun UI, secara historis milik Windows csrss.exe
, proses sistem penting, dan dialihkan untuk tujuan keamanan dan isolasi. Ke depannya, conhost.exe
akan terus bertanggung jawab atas layanan dan terjemahan panggilan API, tetapi komponen antarmuka pengguna dimaksudkan untuk didelegasikan melalui pseudoconsole ke terminal.
Ini adalah simulasi Windows dari pseudoterminal atau "PTY" dari platform lain. Ini mencoba untuk mencocokkan filosofi antarmuka umum PTY, menyediakan saluran komunikasi berbasis teks dua arah sederhana, tetapi melengkapinya di Windows dengan lapisan kompatibilitas besar untuk menerjemahkan luasnya aplikasi Windows yang ditulis sebelum perubahan filosofi desain ini dari permukaan API konsol klasik ke dalam bentuk komunikasi saluran teks sederhana. Terminal dapat menggunakan pseudoconsole untuk mengambil kepemilikan elemen antarmuka pengguna dari host konsol, conhost.exe
, sambil membiarkannya bertanggung jawab atas layanan API, terjemahan, dan upaya kompatibilitas.
Terminal adalah modul antarmuka pengguna dan interaksi untuk aplikasi baris perintah. Saat ini, ini adalah representasi perangkat lunak dari apa yang digunakan untuk menjadi perangkat fisik secara historis dengan monitor tampilan, keyboard, dan saluran komunikasi serial dua arah. Ini bertanggung jawab untuk mengumpulkan input dari pengguna dalam berbagai bentuk, menerjemahkannya dan mengodekannya dan informasi perintah khusus ke dalam satu aliran teks, dan mengirimkannya ke PTY untuk transmisi ke STDIN
saluran aplikasi klien baris perintah. Ini juga bertanggung jawab untuk menerima informasi kembali, melalui PTY, yang berasal dari saluran aplikasi STDOUT
klien, mendekode informasi khusus dalam payload, meletakkan semua teks dan perintah tambahan, dan menyajikannya secara grafis kepada pengguna akhir.