NSS Modüllerinin İsimlendirme Şeması
Önceki NSS Modül Yapısı Sonraki
NSS Modüllerinin İsimlendirme Şeması
Her işlevin ismi çeşitli parçaların bir araya getirilmesiyle oluşur:
      _nss_hizmet_işlev
hizmet şüphesiz bu işlevi içeren modülün isminden gelecektir.[105] işlev parçası C kütüphanesindeki arayüz işlevinden türetilir. Eğer kullanılan hizmet files ve bu hizmetin modülünde kullanılan işlev gethostbyname ise:
       libnss_files.so.2
modülündeki
      _nss_files_gethostbyname_r
işlevinden bahsediyor, oluruz.
Gördüğünüz gibi, yukarıda açıkladıklarımız gerçeğin tümü değildir. Aslında NSS modülleri arama işlevlerinin sadece evresel sürümlerini içerir. Yani yazılımcı aslında gethostbyname_r işlevini kullanacağından bunu işlevin isminde gethostbyname_r olarak ('gethostbayname_r'eentrant) belirtmelidir. Tüm kullanıcı arayüzü işlevleri için C kütüphanesi bu çağrıları evresel işlev çağrılarına eşler. Evresel işlevler için arayüz hemen hemen aynı olduğundan bu sıradan bir işlemdir. Evresel eşdeğeri olmayan işlevler için ise kütüphane, kullanılan dahili tamponları kullanıcı tanımlı tamponlarla değiştirerek tutar.
Yani evresel işlevlerin benzer karşılıkları olabilir. Tüm veritabanları için işlevler içermesi için ya da tüm veritabanlarının erişebileceği şekilde tasarlanmış bir hizmet modülü yoktur. Bir işlevin yokluğu halinde işlevin unavail döndüreceği varsayılmıştır (Bkz. NSS Yapılandırmasındaki Eylemler).
libnss_files.so.2 dosya ismi bir Solaris 2 sistemde nss_files.so.2 olarak görünür. Bu farktan daha önce sözedilmişti. Sun'ın NSS modülleri sadece dolaylı olarak yüklenen modüller olarak kullanılabilir.
GNU C Kitaplığındaki NSS modülleri, normal kitaplık olarak kullanılmak üzere hazırlanmıştır. Fakat, bu, şu anda geçerli değildir. Fakat modüllerdeki isim uzayının organizasyonu, bunu, Solaris'in aksine imkansız kılmamaktadır. Modüllerin kitaplık olması bundan kaynaklanmaktadır. [106]


[105] Şimdi soracaksınız, niçin bu bilgi işlevlerin de ismine sokuluyor, modülün isminde zaten var. Yanıtı, biz bunun paylaşımlı nesenelerle birlikte ilintilenmesinin mümkün olmasını istiyoruz.
[106] İkinci bir açıklama da şu: Makefile'ları, lib ile başlamayan paylaşımlı nesnelerin oluşturulması için değiştirmeye üşendik, ama bunu kimseye söylemeyin.
Önceki Üst Ana Başlık Sonraki
NSS Modül Yapısı Başlangıç NSS Modüllerinde İşlev Arayüzü
Bir Linux Kitaplığı Sayfası