UNIX sistemler, 70’li yılların oda boyutundaki bilgisayarlarında kullanılmaktaydı. bu biçimdelar daha şahsi 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 kullanmasını kolaylaştırmak için başlayan hareket kararında ortaya çıkan fare, elbet ki grafik arabirim (GUI) sistemlerinin gelişimi için bir mihenk taşı olmuştur. Fare yardımıyla beşerler, daha fazlaca bilgisayar alanında uzman olan şahısların kullandığı betik lisanlarını öğrenmek yerine, el-göz uyumları ile bilgisayar kullanacaktı.
Douglas Engelbart’ın tasarladığı birinci fare!
ondan sonrasında 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.
Xerox Alto; birinci grafik arabirimin kullanıldığı bilgisayar.
Birinci grafik arabirimin kullanıldığı bilgisayar, Xerox’un piyasaya sürdüğü Alto modeliydi. Ama Alto; mesken kullanıcısı için değil, üniversite araştırmaları için tasarlanmıştı.
ondan sonrasında 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. çabucak sonrasında, Jobs’un başında bir ampul yandı, grafik arabirimi her insanın kullanmasına açacaktı!
Eski PARC çalışanlarının da ortasında bulunduğu Apple mühendis grubu, Lisa sistemini geliştirmişti. Lisa, konut kullanıcılarını birinci kez grafik arabirim ile tanıştırıyordu. Lakin bir sorun vardı: Lisa’nın fiyatı epey kıymetliydi. 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 bakılırsa daha ucuz bir sistemdi ve Apple’ın büyük bir başarısıydı. bu biçimdece Steve Jobs, grafik arabirim sistemini konut kullanıcılarına indirmeyi başarmıştı!
X Pencere Sistemi, daha öncesinde MIT tarafınca “Project Athena” ismi altında geliştirilen bir projeydi. sonrasındasında bu proje X.Org vakfına geçti ve 1987 yılından beri 11. sürümde olduğu için bu protokole birden fazla yerde özetlemek gerekirse “X11” dendiğini de nazaranbilirsiniz. X protokolünün geliştirilme hedefi ise; her grafik arabirimli uygulamanın kendi ortasında bir grafik arabirim sistemine sahip olma zorunluluğunun kaldırılmasıydı. bu biçimdece, geliştiricilerin üzerinden fazlaca 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 mecburiliği kalmayacaktı.
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ınca geliştirilen X sunucusudur. Olağan 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, birden fazla grafik arabirime sahip uygulama, bir framework vasıtasıyla X Pencere Sunucusu ile haberleşmektedir.
X.Org’un seçtiği var iseyı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 sıradan süreçleri bile yapamayız. Natürel ki “twm” yerine öteki alternatif pencere yöneticileri de kullanılabilir, mesela “i3 Pencere Yöneticisi” yahut “Marco” üzere.
“Marco” pencere yöneticisi ve istemci uygulamalar.
Ayrıyeten X Pencere Sunucusu ile birlikte var iseyılan olarak XDM imaj yöneticisi (display manager) gelmektedir. Bir manzara yöneticisinin nazaranvi, UNIX sistemlerde terminal ile yapılan girişi grafik arabirim ile yapmaktır.
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 protokolünün çıkış yaptığı 80’lerde RAM bellekler hem değerli, tıpkı vakitte küçük boyutluydu. Bill Gates’in bu biçimdelar “640 KB’ın herkese yeteceğinden” bahsetmesi ile anlaşılabileceği üzere, X protokolünün zamane bilgisayarlarında çalışması epeyce sıkıntı 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. bu biçimdelar 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 yeterli 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 yeniden etkin olduğu vakit, X Pencere Sunucusu’na tekrar etkin olduğuna dair bir olay yollayarak haber veriyor ve bu biçimde bir durumda piksellerini bir daha çizdiriyor.
Bunu görsel bir halde sizlere anlatmak isterdik, ama çağdaş bilgisayarlar bu süreçleri fazlaca 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.
1960’larda, bilgisayar kullanmasını kolaylaştırmak için başlayan hareket kararında ortaya çıkan fare, elbet ki grafik arabirim (GUI) sistemlerinin gelişimi için bir mihenk taşı olmuştur. Fare yardımıyla beşerler, daha fazlaca bilgisayar alanında uzman olan şahısların kullandığı betik lisanlarını öğrenmek yerine, el-göz uyumları ile bilgisayar kullanacaktı.
Douglas Engelbart’ın tasarladığı birinci fare!
ondan sonrasında 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.
Xerox Alto; birinci grafik arabirimin kullanıldığı bilgisayar.
Birinci grafik arabirimin kullanıldığı bilgisayar, Xerox’un piyasaya sürdüğü Alto modeliydi. Ama Alto; mesken kullanıcısı için değil, üniversite araştırmaları için tasarlanmıştı.
ondan sonrasında 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. çabucak sonrasında, Jobs’un başında bir ampul yandı, grafik arabirimi her insanın kullanmasına açacaktı!
Eski PARC çalışanlarının da ortasında bulunduğu Apple mühendis grubu, Lisa sistemini geliştirmişti. Lisa, konut kullanıcılarını birinci kez grafik arabirim ile tanıştırıyordu. Lakin bir sorun vardı: Lisa’nın fiyatı epey kıymetliydi. 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 bakılırsa daha ucuz bir sistemdi ve Apple’ın büyük bir başarısıydı. bu biçimdece Steve Jobs, grafik arabirim sistemini konut kullanıcılarına indirmeyi başarmıştı!
X Pencere Sistemi, daha öncesinde MIT tarafınca “Project Athena” ismi altında geliştirilen bir projeydi. sonrasındasında bu proje X.Org vakfına geçti ve 1987 yılından beri 11. sürümde olduğu için bu protokole birden fazla yerde özetlemek gerekirse “X11” dendiğini de nazaranbilirsiniz. X protokolünün geliştirilme hedefi ise; her grafik arabirimli uygulamanın kendi ortasında bir grafik arabirim sistemine sahip olma zorunluluğunun kaldırılmasıydı. bu biçimdece, geliştiricilerin üzerinden fazlaca 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 mecburiliği kalmayacaktı.
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ınca geliştirilen X sunucusudur. Olağan 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, birden fazla grafik arabirime sahip uygulama, bir framework vasıtasıyla X Pencere Sunucusu ile haberleşmektedir.
X.Org’un seçtiği var iseyı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 sıradan süreçleri bile yapamayız. Natürel ki “twm” yerine öteki alternatif pencere yöneticileri de kullanılabilir, mesela “i3 Pencere Yöneticisi” yahut “Marco” üzere.
“Marco” pencere yöneticisi ve istemci uygulamalar.
Ayrıyeten X Pencere Sunucusu ile birlikte var iseyılan olarak XDM imaj yöneticisi (display manager) gelmektedir. Bir manzara yöneticisinin nazaranvi, UNIX sistemlerde terminal ile yapılan girişi grafik arabirim ile yapmaktır.
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 protokolünün çıkış yaptığı 80’lerde RAM bellekler hem değerli, tıpkı vakitte küçük boyutluydu. Bill Gates’in bu biçimdelar “640 KB’ın herkese yeteceğinden” bahsetmesi ile anlaşılabileceği üzere, X protokolünün zamane bilgisayarlarında çalışması epeyce sıkıntı 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. bu biçimdelar 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 yeterli 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 yeniden etkin olduğu vakit, X Pencere Sunucusu’na tekrar etkin olduğuna dair bir olay yollayarak haber veriyor ve bu biçimde bir durumda piksellerini bir daha çizdiriyor.
Bunu görsel bir halde sizlere anlatmak isterdik, ama çağdaş bilgisayarlar bu süreçleri fazlaca 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.