VÇTD
(VÇTD Çomar Tasarımı Değildir)
Serdar Köylü, A. Murat Eren, Gürer Özen
24 Kasım 2004
İçindekiler
1.2 İşletim Sistemleri
Windows, OS/2, MacOS X gibi ticari işletim sistemlerinde, sistemin
parçaları ve kullanıcının çalışma ortamını oluşturan uygulamalar genellikle
tek bir merkezden çıktıkları için, uyum sorunları işletim sisteminin
çağrıları (API si) üzerinden çözülmektedir. Ayarları toplu halde tutan
merkezi bir kütük; çokluortam, ağ protokolü, donanım yöneticisi gibi
parçalar için parçaların yerleşebileceği modül yapıları bulunmaktadır.
Bu yöntemde şu noksanlıkları görüyoruz:
-
Uygulamaların ayarlarına merkezi erişim sunulması, tek başına istenen
faydayı getirmemektedir. Bir genel model olmadığı için, bu bilgileri
kullanmak isteyen kullanıcı yada diğer uygulamaların, bilgiyi sunan
uygulama ve ayarları hakkında detaylı bilgiye sahip olması sorunu
hala ortadadır.
- Uygulamalar ve yönetim sistemi arasında API düzeyinde bir ilişki,
iki grubu iç içe geçirip direkt bağlantı sağlayacağı için, parçaların
bağımsızlığını azaltacaktır. Bu da, ayrı ayrı parçaların geliştiricilerinin,
adam/ay modelinde bağımsız çalışmak yerine, bir araya gelip karşılıklı
iletişim ve senkronizasyon ile çalışmasına, dolayısıyla geliştirme
işlerinin ölçeklenebilirliğinin azalmasına yol açmaktadır.
- Parçaların farklı ellerden çıktıkları ve alternatiflerin bol olduğu
özgür yazılım modeline uymamaktadır.
- Dağıtımımıza girecek uygulamaları yeni API leri kullanacak şekilde
değiştirmek, uygulama kodunu çok iyi incelemeyi, yapılan değişikliklerin
yeni sorunlara yol açmadığını kapsamlı olarak analiz etmeyi gerektirmektedir.
Bu da büyük zaman ve emek harcamasına yol açacaktır.
- Bir alt sistemin yetersiz kaldığı görülüp yeni bir alt sistem yapısı
geliştirildiğinde, API değişikliğine yol açmamak için API üzerindeki
değer ve çağrılara kapsamları dışında anlamlar ve görevler yüklenmekte,
ve API yi öğrenmek ve kullanmak isteyenlerin işi çok zorlaşmaktadır.
Ya da API değişikliği yapılmakta, ve varolan uygulamaların yeni API
yi taşınması, eski ve üçüncü parti uygulamalar için uyumluluk katmanları
hazırlanması gibi fazladan sorunlar çıkmaktadır.
- Her dile API desteği verebilmek için ya CORBA gibi karmaşıklığı arttıracak
teknolojiler ya da bakım işlerini yükseltecek çok sayıda ``wrapper''
hazırlanması gereklidir.