NetWare Yüklenebilir Modül - NetWare Loadable Module

NetWare Yüklenebilir Modülü
Dosya adı uzantısı
.nlm
sihirli sayı NetWare Yüklenebilir Modülü
Tarafından geliştirilmiş roman
Biçim türü Yürütülebilir , Paylaşılan kitaplık

Bir NetWare Yüklenebilir Modülü ( NLM ) bir olduğunu yüklenebilir kernel modülü (bir ikili yüklenebilir kod modülü) Novell NetWare işletim sistemi. NLM'ler donanım sürücülerini, sunucu işlevlerini (örneğin kümeleme), uygulamaları (örneğin GroupWise ), sistem kitaplıklarını veya yardımcı programları uygulayabilir .

NLM'ler, Intel 80386 tabanlı NetWare 3.x sürümünden başlayarak desteklendi . NetWare'in önceki sürümlerinde monolitik bir çekirdeğe sahipti ve önemli donanım veya işlevsellik değişiklikleri, çekirdeğin nesne modüllerinden yeniden bağlanmasını gerektiriyordu.

İlk üçüncü taraf NLM'lerle ilgili kararlılık sorunları nedeniyle, virüsten koruma programları, yedekleme programları ve belirli veritabanı ürünleri gibi birkaç istisna dışında sunucu uygulama programlaması için hiçbir zaman popüler olmadılar .

işlevsellik

Yükleme üzerine, bir NLM, NetWare çekirdeğinden bellek ve işlem iş parçacıkları gibi kaynakları ister. NetWare çekirdeği bu tür istekleri izler ve belirli bir NLM'ye atanan belleği ve diğer kaynakları tanımlayabilir. NLM'ler, bağımlı oldukları diğer NLM'leri otomatik olarak yükleyebilir.

NLM'ler, NetWare konsol isteminde bulunan komut sözlüğünü genişleterek, komutları NetWare çekirdeğine kaydedebilir.

Düzgün kodlandığında, NLM'ler yeniden girebilir ve aynı kodun birden çok örneğinin yüklenmesine ve çalıştırılmasına izin verir.

Programlama sorunları

Başlangıçta Novell, çekirdek API belgeleri ve bir C derleyicisi ( Watcom ) dahil olmak üzere NLM programlaması için bir geliştirme araç takımı yayınladı , ancak NLM yürütülebilir işlevi için üçüncü taraf desteği çok sınırlıydı.

Erken NetWare sürümlerinde (v4.x'ten önce), tüm işlemler belirli bellek koruması olmadan çekirdek adres alanında yürütülürdü . Bu nedenle , NLM'lerdeki hataların , çekirdeğin veya diğer NLM'nin adres alanının üzerine yazması ve nihayetinde sunucuyu çökertmesi mümkün oldu - anabilgisayardan türetilen Novell terminolojisinde bu, ABEND veya ABnormal END olarak biliniyordu .

Ayrıca NetWare, önleyici olmayan veya işbirlikçi bir çoklu görev modeli kullandı; bu, çekirdeğe düzenli olarak veri sağlamak için bir NLM'nin gerekli olduğu anlamına geliyordu. Örneğin sonsuz bir döngü yürüten bir NLM bu nedenle durdurulamadı.

Novell , NetWare v4.x'te, NetWare v5.x'teki Korumalı Adres Alanlarına genişletilen sınırlı bir bellek koruması biçimini tanıttı. Bu mekanizmalar sayesinde, düzgün kodlanmış NLM'ler kendi adres alanlarına yüklenebilir ve hatalı çalışan NLM'lerin çekirdek bütünlüğünden ödün vermeleri önlenebilir.

derleyiciler

NLM üreten resmi derleyiciler şunlardır:

NLM geliştirme, GNU cc ve binutils ile de mümkündür. Daha fazla ayrıntı, Martin Hinner tarafından hazırlanan NetWare Yüklenebilir Modül Programlama NASIL belgesinde mevcuttur.

NIOS ile istemci tarafı NLM'ler

Bunu Mart 1995'te duyuran Novell, 1996'da yeni bir 32-bit DOS/Windows NetWare istemcisini ( ODI32/NIOS tabanlı İstemci 32 ) tanıttı ve ODI /VLM tabanlı eski 16-bit istemcinin yerini aldı . Bu NIOS bileşen ( NetWare I / O alt sistemi ) 'e benzer kullanılan teknikler DPMS yeniden konumlandırmak ve çalıştırmak NLMS için korumalı mod ve genişletilmiş bellek azaltmak için geleneksel bellek 5 kb, 2 aşağı doğru müşterinin ayak izi.

Ayrıca bakınız

Referanslar

daha fazla okuma