BSD Nedir?GregLeheygrog@FreeBSD.org
&tm-attrib.freebsd;
&tm-attrib.apple;
&tm-attrib.linux;
&tm-attrib.opengroup;
&tm-attrib.sun;
&tm-attrib.xfree86;
&tm-attrib.general;
$FreeBSD$$FreeBSD$Açık kod dünyasında
Linux kelimesi neredeysecişletim
sistemi ile eşanlamlıdır fakat
açık kaynak kodlu &unix; sadece
Linux deðildir. İnternet
İşletim Sistemi Sayacı 'na göre
Nisan 1999 itibarı ilecdünyada internete baðlı
makinaların %31.3 'ücLinux, %14.6 'ü ise &unix; 'tir.
Yahoo! gibi
dünyanın en büyük organizasyonlarından
biri BSD kullanmaktadır.
Dünyanın en meşgul FTP sunucularından biri
olan ftp.cdrom.com
günde 1.4 TB dosya transferi için BSD
kullanmaktadır.Öyleyse sır nedir? Neden BSD daha iyi bilinmiyor?
Bu küçük yazı, bu ve diðer
soruların cevaplarını
aramaktadır.Bu yazıda BSD ve Lİnux arasındaki farklar
bu şekilde ifade edilecektir.BSD nedir?BSD Berkeley Software Distribution 'ın
kısaltılmışıdır.
Bu isim California Üniversitesi, Berkeley 'in kaynak kodu
daðıtımı olan AT&T 'nin &unix; 'i
için bir eklentiler zinciridir. Bir çok
açık kaynak kodlu işletim sistemi projesi,
4.4BSD-Lite olarak bilinen kaynak kodu
daðıtımını temel kabul eder.
Ek olarak bunlar, özellikle GNU projesi olmak üzere
diðer bir çok açık kod projesini de
kapsar. BSD 'in içeriði:BSD çekirdeði işlem zamanlama,
hafıza yönetimi, simetrik çoklu
işlemci(SMP), aygıt sürücüleri ve
diðerlerini kapsar.Linux çekirdeðinden farklı
olarak kapasite ve güçte bir çok
farklı BSD çekirdeði
vardır.C kütüphanesi, sistem API 'sinin temellidirBSD C kütüphanesi GNU projesi
tabanlı deðildir, Berkeley kodu
temellidir.Kabuk, dosya araçları derleyiciler ve
linkerler gibi araçlar.Bazı araçlar
dışında bir çoðu projesinden
saðlanmıştır.X Windows sistemi grafik ekran arabirimi.Birçok BSD türevinde kullanılan X
Window sistemi ayrı bir proje olan
&xfree86; projesi 'nde
devam ettirilmektdir. Linux 'te bu sistemi kullanmaktadır.
BSD KDE ya da GNOME gibi bir görsel
masaüstü ile öntanımlı
olarak gelmez. Fakat istenirse bunlar da
kullanılabilir.Bir çok diðer program ve araçlar.Ne gerçek bir &unix; 'mi?BSD işletim sistemi bir kopya deðildir, fakat temelde
&unix; 'in atası sayılan AT&T'nin işletim
sisteminin kaynak kodundan oluşur. Ayrıca bu kod
System V &unix; 'in de atasıdır. Bu durum sizi belki
şaşırtmış olabilir. Yada AT&T
hiç bir zaman kaynak kodunu vermemiş olmasına
raðmen bu nasıl olabilir?AT&T &unix; 'inin açık kaynak kodlu
olmadıðı doðrudur ve kopya hakkı
düşünüldüðünde BSD kesinlikle bir
&unix; deðildir fakat diðer taraftan
AT&T diðer projelerden ve özellikle Berkeleydeki
California Üniversitesi Computer Science Research Group
(CSRG -Bilgisayar Bilimi Araşatırma Grubu)undan
AT&T &unix; 'e bir çok kod dahil ettiði
düşünülmelidir. 1976 'dan başlayarak
CSRG yazdıkları yazılımı
içeren teyp 'leri daðıtarak bunu Berkeley
Software Distribution ya da BSD
olarak nitelendirdi.BSD ilk sürümleri asıl olarak
kullanıcı programlarından oluşuyordu
ta ki dramatik bir şekilde CSRG
karşılılı olarak DARPA (Defence
Advanced Projects Research Agency) ile aðlarındaki
(ARPANET) iletişim protokollerini güncellemek için
sözleşme imzalayana kadar. Bu yeni protokol
İnternet Protokolü daha sonra da
TCP/IP olarak adlandırıldı.
BSD nin asıl geniş alanlara
yayılmış sürümü 1982 de piyasaya
sürülen 4.2 BSD 'dir.1980 'lerde bir çok küçük
çaplı işletim sistemi şirketi piyasaya
çıktı. Ve birçokları kendi
işletim sistemlerini yazmak yerine &unix;
işletim sistemini lisanslamayı tercih ettiler.
Özelde SUN Microsystems 4.2BSD temelli &unix; üzerinde
deðişiklikler yaparak &sunos; adıyla
lisansladı. AT&T &unix; 'in ticari olarak
satılmasına izin verince, çok kısa bir
süre içinde System V adını alacak System
III isimli küçük uygulamalarla satışa
başlandı. System V networking uygulama ve
bileşenlerini içermiyordu, bu sebeble piyasaya
sürülen bir çok uygulama BSD 'den
özellikle að teknolojileri alanında TCP/IP
protokolünü kullanmaya başladı. Bunun
yanında csh kabuðu ve
vi editörünü de kendi
sistemlerine dahil etti. BSD 'den alınan bütün bu
eklentilere Berkeley Extensions adı
verildi.Piyasaya sunulan BSD kasetleri AT&T kaynak kodu ve
gerekli olan olan UNIX lisansını içeriyordu.
90larda CSRG'a ayrılan fon azalınca grup kapanma ile
karşı karşıya kaldı ve bazı
grup üyeleri AT&T 'nin kodunu içermeyen BSD
Açık kaynak kod olarak daðıtılan
kodlarını daðıtmaya karar verdi ve bu
Networking Tape 2 ya da kısaca
Net/2 adı verilen
daðıtım ile gerçekleşti. Net/2 tam
anlamıyla bir işletim sistemi deðildi
çünkü yaklaşık olarak %20
oranındaki kernel kaynak kodu eksikti. CSRG üyelerinde
William F. Jolitz geriye kalan %20 lik kodu yazarak 1992'de
386BSD ismiyle piyasaya sürdü.
Aynı zaman zarfında eski CSRG üyelerinden
oluşan bir grup Berkeley
Software Design Inc. adı verilen işletim
sisteminin betasını piyasaya sürdüler ve
bu işletim sisteminin adı daha sonra BSD/OS olarak
deðiştirildi.386BSD hiçbir zaman güvenilir bir işletim
sistemi olamadı. Onun yerine 1993 yılında
iki ayrı proje doðdu. Bunlar:
NetBSD ve
FreeBSD.
NetBSD 93'ün başlarında tamamlandı ancak
&os; 'nin ilk versiyonu yılın sonuna kadar
hazır durumda deðildi. Bu süre içerisinde kodu
devam ettirilmekte güçlük çekilince
karışıklıðı önlemek ve
yönetimi kolay kılmak için ayrıldı.
Projeler farklı amaçlar gütmeye başladı.
1996 'da NetBSD 'den ayrılarak doðan
OpenBSD doðdu.BSD neden daha iyi tanınmıyor?Aşaðıdaki birçok sebebe baðlı
olarak BSD tam olarak bilinmemektedir:BSD programcıları çoðu zaman
pazarlama amacı gütmek yerine kendi
kodlarını geliştirme ile
ilgileniyorlar. Linux 'lerin popülaritesi özellikle
baskı (ve kitap piyasası) ve şirketlerin
desteði linuxlere özel destek ve güncellik
saðlıyor buna karşılık BSDnin
bu şekilde herhangi bir destekçisi yoktur.
Fakat bu gün geçtikçe
deðişmektedir.BSD programcıları Linux
programcılarından daha tecrübeliler
ve işletim sisteminin kullanım
kolaylıðı ile daha az ilgileniyorlar
Yeni kullanıcılar Linuxleri daha
kullanışlı olarak kabul ediyor
ve destekliyorlar.1992, AT&T BSDI
'a dava açtı ve bu yazılımın
AT&T 'ye ait olan lisanslı kaynak kodunu
içerdiðini iddia etti. Dava 1994'te anlaşma
ile sona erdi. Fakat davanın hayaleti insanları
avlamaya devam etti. Mart 2000'de ise web üzerine,
davanın mahkeme tarafından geçmişte
sonuçlandırıldıðını
haykıran bir makale yayınlandı.Davanın ortaya
çıkardıðı önemli bir
detayda isimlendirmeydi. 1980 'lerde BSD aynı zamanda
BSD &unix; olarakta bilinmekteydi. AT&T 'ye
ait kodların son
kalıntılarının da BSD'den
çıkartılması ile birlikte BSD &unix;
adından kurtuldu. Bu sebeble birçok kitapta
the 4.3BSD &unix; operating system ve
the 4.4BSD operating system
isimlerini görebilirsiniz.BSD ile ilgili olarak akılda kalan genellikle
daðınık ve saldırgan olduðudur.
There is a perception that the BSD projects are fragmented and
belligerent. Wall Street
Journal'da bir makalede BSD projelerinin
balkan ülkelerinin ürünü
olduðundan bahsedildi. Davada olduðu gibi burada da
akılda kalan bu tip düşünceler BSD'nin
geçmişteki konumu ve durumudur.BSD ve Linux nasıl
karşılaştırmasıLinux (mesela Debian Linux) ile BSD arasındaki
asıl farklılık nedir? Normal
kullanıcılar için fark aslında
çok küçüktür yani ikiside &unix;
benzeri işletim sistemidir. Her ikiside ticari olmayan
amaçlar için geliştirildi (Tabiki bu diðer
bazı ticari Linux daðıtımlarındaki
gibi deðildir). Bu bölümde BSD'nin
yapısına bakıp Linux ile
karşılaştıracaðız. Genel
olarak söylediklerimiz &os;'ye yakın olacak
çünkü yaygın olarak kullanılan BSD
versiyonu &os; 'dir.BSD'nin sahibi kimdir?Hiç kimse veya hiçbir kuruluş BSD'nin
sahibi deðildir. BSD bütün dünya
üzerinde teknik olarak üst düzeyde ve uzman bir
çok insan tarafından geliştirildi. ve BSD'nin
bazı bileşenleri farklı açık
kaynak kodu geliştiricileri tarafından
saðlandı.BSD nasıl geliştirildi ve güncellendi?BSD çekirdeði Açık kaynak
geliştirim modeli ile geliştirilmiştir.
Her proje erişimi herkese açık olan
kaynak kodu aðacı altında
Concurrent Versions
System (CVS) ile daðıtıldı.
Bu sistemde BSD ile alakalı doküman ve diðer
dosyalar da bulunmaktadır. CVS ile herhangi bir
kişi check out (yani gerekli
dosyaların bir kopyasını sistemine indirerek)
yaparak sistemin herhangi bir bolümüne sahip
olabilmektedir.Dünya üzerinde odukça fazla sayıda
programcı BSD'nin gelişimine katkıda bulunur.
Bu programcı ve geliştiriciler temelde üç
kısma ayrılır:Contributors(Katkıta
Bulunanlar) doküman ya da kod yazarlar.
Bu grubun direk olarak kod aðacına herhangi bir
kod eklenmelerine izin verilmez. Bu kişilerin
yazdıðı kodlar committer
tarafından incelenip ana sistemde dahil edilirler.Committers kaynak aðacına
kod ekleme yetkisinde sahip geliştiriciler. Committer
olabilmek için
çalıştıðı
alan üzerinde çok yüksek bilgi seviyesine
sahip olması gerekir.Bazı commiterler bütün kaynak koduna
ulaşma yetkisine sahiptirler diðerleri ise
gerçek koddan ayrı tutulurlar.
Dökümantasyonla ilgilenenler normal olarak kernel
koduna ulaşma yetkisine sahip deðillerdir.
Principal Architect olarak adlandırılan
çekirdek takımındaki
bazı şahısların ise
back out adı verilen kaynak
kodu aðacındaki kodları silme hakkı
vardır. Bütün committer 'lar
yapılan her bir commit (işlem) için
e-posta alırlar ve böylece gizlice
bir kodun kaynak kodu aðacına girmesi
engellenmiş olur.Core team (Çekirdek
Takımı).
&os; ve NetBSD kesinlikle bir çekirdek
takıma sahiptir.
Çekirdek takım projenin gelişimi ve
oluşturulması sırasında
programlarını yaparlar ve rolleri tam olarak
belli deðildir.
Çekirdek takımı üyesi olmak
için program geliştirici (developer) olma
zorunluluðu yoktur ve buda son derece normaldir.
Çekirdek takım için
kurallar bir projeden diðerine farklılık
gösterebilir ve genel olarak
çekirdek takımın projenin gelişme
ve gidişat noktasındaki görüş ve
fikirleri kesinlikle Çekirdek Takım üyesi
olmayan kişilerin görüş ve
fikirlerinden daha üstün tutulur.İşte bütün bu düzenlemeler
Linux'ten birçok noktada farklılık
gösterir:Hiç kimse sistem içeriðini kontrol
edemez. Pratikte bu farklılık göze
çok önemli gelebilir. Asıl mimar
(Chief Architect) kodun asıl koddan
çıkartılması isteðinde
bulunabilir ve hatta Linux projelerinde birçok
kişi deðişiklikler yapabilir.Diðer taraftan merkezi bir depo vardır.
Bu depo eski tüm versiyonlarda dahil olmak üzere
bir noktada toplanmış olarak işletim
sistemine ait tüm kodları
barındırır.BSD projeleri yalnızca kernel(çekirdek)
olarak deðil bütün işletim
sistemi olarak kabul edilir. Bu özellik
yalnızca marjinal olarak faydalıdır.
Ne BSD nede Linux programlar olmadan yararlı deðildir.
Ve bu programlar Linux altında BSD altında
kullanıldıðı gibi
kullanılır.CVS kod aðacının (source tree)
biçimlendirilmiş olmasının
bir neticesi olarak BSD gelişim evreleri gayet
açıktır ve herhangi bir versiyona ait
bilgi versiyon numarası yada piyasaya sürülme
tarihi ile bulunabilir. Hatta CVS güncellemelere izin
bile verir. Örneðin &os; deposu ortalama
günde 100 kez güncellenir ancak bu güncellemeler
çoðu kez çok küçüktür.
BSD SürümleriHer BSD projesi üç tane farklı
sürüm içerir. Linuxteki gibi bu
sürümler 1.4.1 ya da da 3.5.0 olarak belirlenir.
Ek olarak versiyon numaraları kendi amacını
belirten bir son eke sahiptir:Geliştirilmiş olan versiyon
CURRENT (Geçerli En Son)
olarak adlandırılır. &os;'de
CURRENT'a bir numara atanır. Örneðin &os;
5.0-CURRENT. NetBSD açık bir biçimde
farklı isimlendirme şeması
kullanır. Kullanılan bu şema tek
harften oluşan bir son ektir ki bu son ek dahili
arayüzdeki deðişikliði ifade eder.
Örneðin NetBSD 1.4.3G gibi. OpenBSD her hangi
bir numara ataması yapmaz
(OpenBSD-current). Bütün yeni sürümler
sistemde bu şekilde kullanılır.Belirli aralılarla yılda iki ila dört
defa projeler CD-ROM ile edinme yada ftp sitelerinden
ücretsiz olarak download etmek için
piyasaya sürülür(RELEASE). Örneðin
OpenBSD 2.6 RELEASE. Yada NetBSD 1.4-RELEASE. Piyasaya
sürülen Sürüm
(RELEASE) versiyonu son kullanıcı
için gerekli olan sürümdür ve sistemin
normal versiyonudur. Ayrıca
NetBSD ayrıca yama sürümleri
(patch releases) Örneðin NetBSD 1.4.2 gibi.
Bu sürümler üç
basamaklıdır.RELEASE versiyonlarda her hangi bir hata (bug)
bulunðunda hatalar düzeltilir ve CVS kaynak kodu
aðacına (source tree) dahil edilir. &os; 'de
son elde edilen sürüm STABLE
(saðlam versiyon) olarak adlandırılır
ancak OpenBSD ve NetBSD RELEASE versiyon ismini kullanmaya
devam eder. CURRENT versiyonun test edilmesi
sırasında yeni ama küçük
özellikler sisteme dahil edilebilir.Bütün bunların aksine Linux'te iki
ayrı kod aðacı (code tree) vardır:
Stable (Saðlam) versiyon ve Development (Gelişmekte olan)
versiyon. Stable versiyon çift sayılardan
oluşan minor versiyon numaralarına
sahiptir. 2.0, 2.2, 2.4 gibi. Development versiyon ise tek
sayılardan oluşan minor versiyon numaralarına
sahiptir. 2.1, 2.3, 2.5 gibi.
Bazı durumlarda deðişik Linux
daðıtım firmaları kendi
geliştirdikleri ürünleri
TurboLinux 6.0 with kernel 2.2.14
şeklinde piyasaya sürebilir.BSD'nin in hangi versiyonları bulunabilir?Birçok Linux sürümünün aksine
açık kaynak kodu olan yanlızca üç
tane BSD sürümü vardır.her BSD projesi
kendi kod aðacı (source tree) ve çekirdeðine
sahiptir. Ve pratikte kullanıcıların
projelere kendi ekledikleri kodlarla Linuxteki kodlar
arasında daha az farklılık vardır.Her projenin amacını gruplamak gerçekten
zordur: Farklılıklar kişilere özeldir.
Genel olarak:&os; yüksek performans ve son
kullanıcılar için kullanım
kolaylıðı amacını güder.
Ve ISP firmaları için favori işletim
sistemdir. PCler ve Compaq'ın Alpha işlemcileri
üzerinde çalışır. &os;
açık bir farkla diðer projelere oranla daha
fazla kişi tarafından
kullanılır.NetBSD azami seviyede taşınabilirlilik
hedefler. NetBSD üzerinde elbette
çalışır! ile de bu
belirtilmiş olur. Ek olarak sade dizayna sahip olmak
önemlidir. NetBSD palmtoplardan
büyük serverlara kadar her yarde
çalışır ve NASA'nın uzay
çalışmalarında da
kullanılmıştır.Özel olarakda
Intel-olmayan donanımlar için iyi
seçimdir.OpenBSD kod temizliðini ve güvenliðini
hedef alır. Açık kaynak
kod geliştirim modeli ve sıkı kod
incelemesini içerir ve banka
ABD hükümet bakanlıkları, hisse
senedi kurumları gibi güvenlik
temelli işletmeler için bir işletim
sistemi olmayı hedefler. NetBSD
gibi birçok platformda
çalışabilir.Bunlardan başka açık kod olamayan iki
deðişik ki deðişik iki BSD &unix;
işletim sistemi mevcuttur. Bunlar BSD/OS ve
Apple'ın geliştirdiði &macos; X:BSD/OS 4.4 BSD türetilmiş en eski
sürümdür. Açık kaynak kodlu
deðildir ve bu sebeble kod çok
küçük bir maliyetle satın
alınabilir. Bir çok açıdan
&os;'ye benzer ve bir çok geliştirici iki
sistemlede çalışır.&macos;
X
Apple Computer Inc.'in
&macintosh; serisinin en son üyesidir. Bu işletim
sisteminin çekirdeði BSD tabanlıdır
ve Darwin,
olarak adlandırılır. Diðer
versiyonların aksine işletim aksine
çekirdek açık kaynak kodludur. Bu
gelişimin bir neticesi olarakda
Apple geliştiricileri &os; committer
'ıdır. Bu çekirdeðin üzerinde
Aqua/Quartz grafik arabirimi ve &macos; 'un diðer
ürünleri vardır. Fakat bu X arabiriminin
kodu kapalıdır. Bu işletim sistemi
x86 and PPC mimarilerinde
çalışır.BSD kullanım lisansının GNU
kullanım lisansından farkı nedir?Linux kapalı kod (closed source)
yazılımını saf
dışı bırakmak için
tasarlanmış
GNU General
Public License (GPL) lisansı ile
daðıtılır. GPL lisanslı bir
ürün kullanarak geliştirilen bir
yazılımda mutlaka GPL lisansı ile
daðıtılmalıdır. Fakat
BSD
lisansı daha az
kısıtlayıcıdır ve binary
daðıtıma izin verir. Bu özellikle
gömülü uygulamalar için çekici bir
lisans türüdür.Daha başka ne bilmeliyim?BSDler için Linuxlere oranla daha az
programın üretildiði zamanlarda BSD
geliştiricileri Linux programlarını BSD
altında çalıştırmayı
saðlayan Linux uyumluluk paketini ortaya
çıkardılar. Bu Paket, Linux sistem
çaðrılarını düzgün
yapabilmek için her iki çekirdek
deðişikliklerini ve C Library (C
kütüphanesi) gibi Linux uyumluluk
dosyalarını içerir. Linux
programlarını Linux makinesi ile BSD makinesi
altında çalıştırmak
arasında hız bakımından her hangi
bir kayda deðer fark yoktur.BSD 'nin All from one supplier (Herşey
tek elden) mantıðı Linuxlerde
aynı sıklıkla yapılan
güncelleme işlemlerinin daha kolay olduðu
anlamına gelir. BSD kütüphane versiyon
güncellemelerini eski versiyon kütüphaneleri ile
uyumlu olarak yapar ve bu eski Binary kodları
çalıştırmayı mümkün
kılar.BSD'mi Linux'mü kullanmalıyım?Bunların hepsinin pratikteki anlamı nedir?
Kim BSD kim Linux kullanmalı?Bu hakikatten cevaplanması zor bir sorudur.
Bir kaç öneri şuşekilde
sıralanabilir:If it ain't broke, don't fix it
(Bozulmuyorsa düzeltme). Eðer halihazırda
açık kodlu bir işletim sistemi
kullanıyorsanız ve ondan memnunsanız
deðişiklik yapmak için iyi bir sebeb
yoktur.BSD sistemi, özellikle &os; dikkate deðer
bir şekilde Linuxlerden daha fazla performans
saðlayabilir. Fakat bu herkesi aynı derecede
etkileyen birşey deðildir ve bir çok
durumda yok denecek kadar az performans farkı
vardır. Ama bazı özel durumlarda da
Linux'de &os;'den daha iyi olarak nitelendirilebilir.Genelde BSD sistemi güvenilirlilik
açısından daha iyi üne
sahiptir. ve bu genelde daha olgun koda sahip
oluşundan kaynaklanır.BSD lisansı GPL Lisansından daha dikkat
çekicidir.BSD Linux kodlarını
çalıştırabilir ama Linux
BSD kodlarını
çalıştıranilir. Bunun bir
neticesi olarakda BSD için Linux'den daha fazla
yazılım vardır.BSD için kim yardım servis ve eðitim
saðlıyor?BSDi her zaman BSD/OS'u desteklemektedir ve yakın
zaman önce &os; ile bir anlaşma
imzalamışlardır.Ek olarak her projenin kendi yardım yada kiralama
departmanı vardır: &os;,
NetBSD,
and
OpenBSD.