Başlangıçta sadece aptal terminalleri vardı - ilk başta aslında teletypewriters (bir elektrikli daktiloya benzer, ancak bir rulo kağıt ile) (dolayısıyla / dev / tty - TeleTYpers), ancak daha sonra ekran + klavye-kombinasyonları - sadece bir anahtar kodu gönderdi bilgisayara ve bilgisayara, terminale harfini yazan bir komut geri gönderdi (yani terminal yerel yankı olmadan, bilgisayarın terminale kullanıcının terminalde ne yazdığını yazması gerekiyordu) - bu sebeplerden biriydi. neden bu kadar önemli Unix komutları bu kadar kısa. Terminallerin çoğu seri hatlarla bağlandı, ancak (en azından) biri doğrudan bilgisayara bağlandı (genellikle aynı oda) - bu konsoldu. Yalnızca bir kaç kullanıcının "konsol" üzerinde çalışması için güvenildi (bu genellikle tek kullanıcı modunda kullanılabilen tek "terminal" idi).
Daha sonra xterm
, ekran ve grafik ekran kartı, klavye, fare ve basit bir işlemcili bazı grafik terminaller ("xterminals" adı verilen, -program ile karıştırılmaması gereken ) vardı; bu da sadece bir X sunucusunu çalıştırabilir. Kendileri herhangi bir hesaplama yapmadılar, bu yüzden X istemcileri bağlı oldukları bilgisayarda çalışıyorlardı. Bazılarının sabit diskleri vardı, ancak ağ üzerinden de önyüklenebilirlerdi. PC'ler çok ucuz ve güçlü olmadan önce 1990'ların başında popülerdiler.
Bir "terminal emülatörü" - xterm
veya gibi programlarla açtığınız "terminal penceresi" konsole
- bu aptal terminallerin işlevselliğini taklit etmeye çalışır. Ayrıca PuTTY
(Windows) gibi programlar terminalleri taklit eder.
"Konsol" (klavye + ekran) ve "bilgisayar" ın tek bir ünite olduğu PC ile, bunun yerine "sanal terminaller" (Linux'ta, Alt + F1'den Alt + F6 tuşlarına) gelir; eski tip terminalleri taklit ediyorum. Tabii ki, Unix / Linux, bir bekar kullanıcı tarafından sıkça kullanılan bir masaüstü işletim sistemi haline geldiğinde, şimdi işinizin çoğunu "konsolda" yapıyorsunuz, kullanıcıların daha önce seri hatlarla bağlanan terminalleri kullanmışlar.
Elbette programları başlatan kabuk. Ve çevre ayarları ile kendi kopyasını çıkarmak için fork-systemcall (C dili) kullanır, ardından exec-systemcall bu kopyayı çalıştırmak istediğiniz komuta dönüştürmek için kullanılır. Kabuk, komut tamamlanana kadar (komut arka planda çalıştırılmadıkça) askıya alınır. Komut stdin, stdout ve stderr için ayarları kabuktan devralırken, komut terminal ekranına yazacak ve terminal klavyesinden girdi alacaktır.