Bosh sahifa Wiki BSD

BSD

BSD — Berkeley Software Distribution, Kaliforniya universitetining Berkeley kampusida Unix asosida rivojlantirilgan operatsion tizimlar va dasturiy ta’minot tarqatmasi. Tarixiy BSD Unix tarmoq steki, socket API, virtual xotira va ko‘plab utilitalarning rivojiga katta ta’sir ko‘rsatgan. Hozirgi FreeBSD, OpenBSD va NetBSD mustaqil ochiq kodli operatsion tizimlar bo‘lib, umumiy BSD merosiga ega.

Tarixiy rivojlanish

BSD 1970-yillarda AT&T Unix manba kodi asosidagi qo‘shimcha va o‘zgarishlar sifatida boshlangan. 4BSD oilasi TCP/IP implementatsiyasi va Berkeley sockets interfeysini keng tarqatgan. Vaqt o‘tishi bilan AT&Tga tegishli koddan ajratilgan erkin tarqatmalar yaratildi. 386BSD loyihasi x86 kompyuterlari uchun ochiq variantlardan biri bo‘lib, keyingi FreeBSD va NetBSD loyihalariga zamin yaratdi.

BSD bitta zamonaviy operatsion tizim nomi emas. Har loyiha o‘z kernel, userland, release jarayoni va boshqaruviga ega. Ular kod almashishi mumkin, ammo paket, konfiguratsiya va imkoniyatlari aynan bir xil emas.

FreeBSD

FreeBSD umumiy maqsadli server, storage, networking va desktop vazifalarida ishlatiladi. Base system kernel va asosiy userlandni bir loyiha sifatida rivojlantiradi. Uchinchi tomon dasturlari Ports Collection yoki binary package orqali o‘rnatiladi.

Jails operatsion tizim darajasidagi izolyatsiya mexanizmi bo‘lib, process, filesystem, foydalanuvchi va tarmoq ko‘rinishini cheklaydi. ZFS FreeBSDda keng qo‘llanadigan filesystem va volume managerdir. DTrace, bhyve hypervisor va pf yoki ipfw kabi tarmoq vositalari ham ekotizimning muhim qismlaridir.

OpenBSD va NetBSD

OpenBSD kod auditiga, xavfsiz defaultlarga va kriptografik vositalarga alohida e’tibor beradi. OpenSSH loyihasi OpenBSD hamjamiyatidan kelib chiqqan. pf firewall ham dastlab OpenBSDda yaratilgan. Loyihaning xavfsizlik yondashuvi faqat “xatosiz” degani emas; kod soddaligi, privilege separation va proaktiv himoya mexanizmlariga urg‘u beriladi.

NetBSD portativlik maqsadi bilan ko‘plab apparat arxitekturalarini qo‘llab-quvvatlashga intiladi. Uning build tizimi boshqa hostda maqsad arxitektura uchun butun base systemni cross-compile qilish imkonini beradi. pkgsrc paket tizimi NetBSDdan tashqari boshqa Unixga o‘xshash tizimlarda ham ishlashi mumkin.

BSD litsenziyalari

BSD nomi permissive litsenziyalar oilasiga ham tegishli. 2-clause va 3-clause BSD litsenziyalari mualliflik xabari va disclaimer saqlanishi sharti bilan kodni ishlatish, o‘zgartirish va yopiq mahsulotga qo‘shishga ruxsat beradi. Ular copyleft litsenziyalari kabi hosila kodni ayni litsenziyada ochishni talab qilmaydi.

“BSD litsenziyasi” deyilganda aniq variant tekshiriladi. Eski 4-clause variant advertising clausega ega bo‘lgan. Dastur litsenziyasi bilan operatsion tizim nomini aralashtirmaslik kerak: BSD tizimi ichidagi barcha uchinchi tomon komponentlari aynan bitta litsenziyada bo‘lishi shart emas.

Base system va paketlar

BSD tizimlarida base system kernel, C kutubxonasi, shell va asosiy utilitalarni yagona release sifatida taqdim etadi. Uchinchi tomon paketlari alohida package manager orqali boshqariladi. Bu Linux distributivlaridagi tashkil etish usulidan farq qilishi mumkin, chunki Linux kernel va userland ko‘pincha ko‘plab mustaqil upstream loyihalardan yig‘iladi.

Konfiguratsiya va servis boshqaruvi ham loyiha bo‘yicha farq qiladi. FreeBSDda rc.conf boot va servis sozlamalarining muhim qismi, OpenBSDda rcctl servislarni boshqaradi. Bir BSD uchun yozilgan administrator buyrug‘i boshqasida aynan ishlaydi deb taxmin qilinmaydi; tegishli manual page asosiy hujjat hisoblanadi.

Bog‘liq tushunchalar

Unix, FreeBSD, OpenBSD, NetBSD, BSD license, socket API, POSIX