Son Konu

UNIX Sistemlerde Grafik Arabirim: X Pencere Sistemi

Garfield

Yeni Üye
Katılım
9 Ocak 2022
Mesajlar
171,000
Tepkime
0
Puanları
36
Yaş
45
Credits
0
Geri Bildirim : 0 / 0 / 0
x_logo.png

UNIX sistemler, 70’li yılların oda boyutundaki bilgisayarlarında kullanılmaktaydı. O vakitler daha şahsî bilgisayar kavramı bile ortada yokken, UNIX sistemler piyasaya hakimdi. Pekala, nasıl oldu da konut kullanıcısı düzeyine geldi? Nasıl oldu da bugün cep telefonlarımıza, hatta arabalarımıza UNIX temelli işletim sistemleri hakim oldu?

1960’larda, bilgisayar kullanımını kolaylaştırmak için başlayan hareket sonucunda ortaya çıkan fare, elbet ki grafik arabirim (GUI) sistemlerinin gelişimi için bir mihenk taşı olmuştur. Fare sayesinde beşerler, daha çok bilgisayar alanında uzman olan bireylerin kullandığı betik lisanlarını öğrenmek yerine, el-göz uyumları ile bilgisayar kullanacaktı.
fare.png
Douglas Engelbart’ın tasarladığı birinci fare!
Daha sonra Xerox Palo Alto Araştırma Merkezi (PARC) çalışanları, bu fikirlerden etkilenerek kendi bilgisayarları olan Xerox Alto’yu geliştirdiler. Bu bilgisayarın başkalarından bir farkı vardı; birinci masaüstü ve grafik arabirim sistemini içerisinde barındırıyordu.
alto-349x480.jpg
Xerox Alto; birinci grafik arabirimin kullanıldığı bilgisayar.
Birinci grafik arabirimin kullanıldığı bilgisayar, Xerox’un piyasaya sürdüğü Alto modeliydi. Lakin Alto; konut kullanıcısı için değil, üniversite araştırmaları için tasarlanmıştı.

Daha sonra Steve Jobs ismindeki genç bir adam, Xerox’un tesislerini ve bu araştırmalarını ayrıntılı bir biçimde gözlemlemek ismine borsada süreç yaparak Xerox’a 1 milyon dolar para kazandırdı. Xerox çalışanları, Jobs’a Alto projesini de gösterdi. Daha sonra, Jobs’un başında bir ampul yandı, grafik arabirimi herkesin kullanımına açacaktı!

Eski PARC çalışanlarının da içinde bulunduğu Apple mühendis grubu, Lisa sistemini geliştirmişti. Lisa, mesken kullanıcılarını birinci kez grafik arabirim ile tanıştırıyordu. Ama bir meşakkat vardı: Lisa’nın fiyatı çok değerliydi. Steve Jobs, grafiksel kullanıcı arayüzünün (GUI) kendisine muvaffakiyet getireceğine inanıyordu ve 1984 yılında Macintosh’u piyasaya sürdü. Macintosh, Lisa’ya nazaran daha ucuz bir sistemdi ve Apple’ın büyük bir başarısıydı. Böylelikle Steve Jobs, grafik arabirim sistemini konut kullanıcılarına indirmeyi başarmıştı!

X Pencere Sistemi, daha öncesinde MIT tarafından “Project Athena” ismi altında geliştirilen bir projeydi. Daha sonra bu proje X.Org vakfına geçti ve 1987 yılından beri 11. sürümde olduğu için bu protokole birçok yerde kısaca “X11” dendiğini de görebilirsiniz. X protokolünün geliştirilme emeli ise; her grafik arabirimli uygulamanın kendi içinde bir grafik arabirim sistemine sahip olma zorunluluğunun kaldırılmasıydı. Böylelikle, geliştiricilerin üzerinden çok büyük bir yük kalkmış olacak ve kullanıcı tarafında ise büyük performans iyileştirilmeleri olacaktı. Ayrıyeten istemeyen kullanıcıların da GUI kullanmak üzere bir zaruriliği kalmayacaktı.
autodraw-3_24_2021-640x320.png
X Pencere Sistemi’nin (X11) çalışma diyagramı.
X Pencere Sistemi üstteki diyagramda da görüldüğü üzere ağ tabanlı çalışan açık kaynaklı bir protokoldür. Bu protokoldeki ana bileşen olan X Pencere Sunucusu; bağlı olan istemcilerin çıktı aygıtlarında hizalanması, klavye ve fare üzere aygıtlardan girdi alınması ve bu girdilerin işlenerek çıktı aygıtlarına yazılması üzere şeylerden sorumludur. En ünlü X Pencere Sunucusu implementasyonu, X.Org Vakfı’nın topluluk tarafından geliştirilen X sunucusudur. Natürel ki XFree86 üzere farklı farklı X Pencere Sunucuları da mevcut.

İstemci uygulamalar, UNIX sisteminizde kullandığınız ve grafik arabirime sahip tüm uygulamalardır. Örneğin internet tarayıcınız, medya oynatıcınız, metin düzenleyiciniz üzere. Direkt olarak X pencere sisteminin API’si olan XLib kütüphanesi kullanılmasa da, birçok grafik arabirime sahip uygulama, bir framework vasıtasıyla X Pencere Sunucusu ile haberleşmektedir.
twm_window_manager-600x480.jpg
X.Org’un seçtiği varsayılan pencere yöneticisi: “twm”
X Pencere Sunucusu ile birlikte “twm” ismi verilen bir pencere yöneticisi de gelmektedir. Bu pencere yöneticisi şayet olmaz ise, açılan pencerelerin yerlerini değiştirmek üzere kolay süreçleri bile yapamayız. Doğal ki “twm” yerine diğer alternatif pencere yöneticileri de kullanılabilir, örneğin “i3 Pencere Yöneticisi” yahut “Marco” üzere.
xeyes-marco-640x323.jpg
“Marco” pencere yöneticisi ve istemci uygulamalar.
Ayrıyeten X Pencere Sunucusu ile birlikte varsayılan olarak XDM imaj yöneticisi (display manager) gelmektedir. Bir manzara yöneticisinin vazifesi, UNIX sistemlerde terminal ile yapılan girişi grafik arabirim ile yapmaktır.
Xdm_Screenshot-640x480.jpg
XDM Manzara Yöneticisi.
Görmüş olduğunuz üzere X protokolü, çok modüler bir protokoldür. Daha sayamadığımız modüller de bulunduğunu belirtelim.

x_terminal-640x427.jpg


X protokolünün çıkış yaptığı 80’lerde RAM bellekler hem kıymetli, hem de küçük boyutluydu. Bill Gates’in o vakitler “640 KB’ın herkese yeteceğinden” bahsetmesi ile anlaşılabileceği üzere, X protokolünün zamane bilgisayarlarında çalışması çok güç olacaktı. Her piksele 1 byte dersek ve ekranımızı 800×600 çözünürlükte kabul edecek olursak, bir pencerenin tam ekran yapılması neredeyse yarım MB bellek alanını işgal edecekti. O vakitler ağır bir iş yaptığınızı ve 10 tane pencere açmak istediğinizi düşünün. Değerli bellek alanınızın 5 MB’lık kısmını pencerelere ayırmak pek düzgün bir seçenek üzere gözükmüyor.

İşte X.Org Vakfı’ndaki mühendisler kara kara düşünürken, art planda olan pencerenin piksellerini RAM’den uzaklaştırarak yer açabileceklerini farkediyorlar ve bunun için de yeni bir “olay” ekliyorlar. Yani arkaplanda duran pencere tekrar faal olduğu vakit, X Pencere Sunucusu’na tekrar etkin olduğuna dair bir olay yollayarak haber veriyor ve bu türlü bir durumda piksellerini yine çizdiriyor.

Bunu görsel bir biçimde sizlere anlatmak isterdik, ancak çağdaş bilgisayarlar bu süreçleri çok süratli yapabildiği için biz farketmeden bu sistem arkaplanda çalışıyor. Ayrıyeten bu sistemin aynısının Microsoft Windows’ta da kullanıldığını dipnot olarak belirtelim.

Bu yazımızda sizlere grafik arabirim sistemlerinin evrimini, UNIX’in bundan nasıl etkilendiğini ve X Pencere Sistemi’nin nasıl çalıştığını anlattık. Sorularınızı Technopat Sosyal’de sorabilir, eklemek istediğiniz kısımları ise yorumlar kısmında belirtebilirsiniz.
 
Üst Alt