Кіріспе
Операциялық жүйе механизмі. Name Service Switch (NSS) – glibc интерфейсі, компьютерді әртүрлі жалпы конфигурациялық деректер базаларының және атауларды ажырату механизмдерінің көздерімен байланыстырады. Бұл көздерге жергілікті операциялық жүйе файлдары (мысалы, /etc/passwd, /etc/group және /etc/hosts), Домендік атаулар жүйесі (DNS), Желілік ақпараттық қызмет (NIS, NIS+) және LDAP жатады.
The Name Service Switch (NSS) is an interface of glibc that connects a computer with a variety of sources of common configuration databases and name resolution mechanisms. These sources include local operating system files (such as , , and ), the Domain Name System (DNS), the Network Information Service (NIS, NIS+), and LDAP.
Тарих
Бұрынғы Unix-ке ұқсас жүйелер тек жергілікті файлдарға қол жеткізе алатын немесе файлдарға немесе желіде сақталған деректер қорына қол жеткізу үшін қатаң бағдарламаланған ережелерге ие болатын. Ultrix ерекше жағдай болды, оның NSS конфигурациялық файлының мүмкіндігі Sun Microsystems компаниясының Solaris операциялық жүйесі үшін алғаш рет NSS-ті жасауымен бірдей болды. Sun Microsystems және AT&T Unix System Laboratories бірлесіп UNIX System V, BSD және Xenix жүйелерін біріктіру арқылы әзірлеген SVR4 стандартына Solaris-тің сәйкестігі үшін, үшінші тараптар SVR4 стандартына сәйкес Transport Independent RPC (TI RPC) қолданбаларын қайта жазбастан немесе операциялық жүйені қайта құрастырмастан, өздері таңдаған (OSI немесе IP) тасымалдау қабаты үшін атау қызметін іске асыру мүмкіндігіне ие болуы керек болды. Sun компаниясы Solaris жүйесінде NIS+ каталог қызметін NIS-ті алмастыру үшін енгізді, бұл көшуді жеңілдету үшін екі каталог қызметінің кәсіпорында бірге болуын қажет етті. Sun инженерлері Томас Маслен мен Санджай Дани алғаш рет Name Service Switch-ті жобалап, іске асырды. Олар nsswitch.conf файлының сипаттамасымен және деректер қорына қол жеткізу модульдерін динамикалық түрде жүктелетін кітапханалар ретінде жүктеуді іске асыру шешімімен Solaris талаптарын орындады, бұл мүмкіндікті алғаш рет Sun енгізді. Sun инженерлерінің конфигурациялық файлдың бастапқы дизайны және атау қызметінің артқы кітапханаларын жүктеуі операциялық жүйелердің дамуымен және жаңа атау қызметтерінің енгізілуімен уақыттың сынағынан өтті. Соңғы жылдарда бағдарламашылар NSS конфигурациялық файлын FreeBSD, NetBSD, Linux, HP UX, IRIX және AIX сияқты көптеген басқа операциялық жүйелерге дерлік бірдей іске асырулармен порттады. NSS ойлап табылғанынан кейін екі он жылдықтан астам уақыт өткен соң, GNU libc оны шамамен бірдей іске асырады.
Sun Microsystems first developed the NSS for their Solaris operating system. Solaris' compliance with SVR4, which Sun Microsystems and AT&T Unix System Laboratories jointly developed by merging UNIX System V, BSD and Xenix, required that third parties be able to plug in name service implementations for the transport layer of their choosing (OSI or IP) without rewriting SVR4 compliant Transport Independent RPC (TI RPC) applications or rebuilding the operating system. Sun introduced the NIS+ directory service in Solaris to supersede NIS, which required co existence of the two directory services within an enterprise to ease migration. Sun engineers Thomas Maslen and Sanjay Dani were the first to design and implement the Name Service Switch. They fulfilled Solaris requirements with the nsswitch. conf file specification and the implementation choice to load database access modules as dynamically loaded libraries, which Sun was also the first to introduce. Sun engineers' original design of the configuration file and runtime loading of name service back end libraries has withstood the test of time as operating systems have evolved and new name services are introduced. Over the years, programmers ported the NSS configuration file with nearly identical implementations to many other operating systems including FreeBSD, NetBSD, Linux, HP UX, IRIX and AIX. More than two decades after the NSS was invented, GNU libc implements it almost identically.