1.Temel Kavramlar
2.Açık Kaynak Kodlu Yazlım
3.GNU Genel Kamu Lisansı (GPL)
4.UNIX Tarihçesi ve Gelişimi
5.Linux’un Ortaya Çıkışı
6.Açık Kaynak Kodlu İşletim Sistemi Kurulumu
7.Kuruluma Hazırlık
8.Örnek Bir Kalıp Yazdırma İşlemi
9.Disk Bölümleri
- Temel Kavramlar
İşletim sistemi, bilgisayar donanımının doğrudan denetimi ve yönetiminden, temel
sistem işlemlerinden ve uygulama programlarını çalıştırmaktan sorumlu olan sistem
yazılımıdır. İşletim sistemi, bütün diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve kütük
sistemine erişimini sağlar. Birden çok program aynı anda çalışıyorsa, işletim sistemi her
programa yeterli sistem kaynağını ayırmaktan ve birbirleri ile çakışmamalarını sağlamaktan
da sorumludur.İşletim sistemlerinde kullanıcı ile bilgisayar donanımı arasında genel olarak üç
katmandan söz edilebilir. Şekil 1.1’de görülen bu katmanlar; kabuk, sistem çağrıları ve
çekirdek olarak adlandırılır.
İşletim sisteminin kullanıcıya görünen kısmı kabuk (shell) olarak nitelendirilir.
Örneğin bir programı çalıştırmak için kullanıcının komut vermesi kabuk üzerinden
gerçekleştirilir. DOS komut yorumlayıcısı ya da Pardus için “konsole”, kabuğa örnek olarak
gösterilebilir. Grafik kullanıcı arayüzü ise kabuk üzerinde çalışan bir katman olarak
düşünülebilir.
İşletim sisteminin kalbi, yazılımların donanımlar üzerinde çalışabilmesini sağlayan
katman ise çekirdek (kernel) katmanıdır. Kabuk, çekirdeğin çevresini sararken; donanımlar
ile iletişim kurmak ise çekirdeğin işidir.
Sistem çağrıları (system calls), kabuk ile çekirdek arasındaki iletişimi sağlayan alt
düzey işlevlerdir.
- Açık Kaynak Kodlu Yazılım
Açık kaynak yazılım (open-source software) veya açık kaynak kodlu yazılım, kaynak
kodu isteyen herkese açık olan yazılımlardır. Bu tür yazılımların ayırt edici özelliği
kullanıcıya yazılımı değiştirme özgürlüğü sağlamasıdır. Açık kaynak kodlu yazılımlar,
uyarlanabilir, sağlam, hızlı ve güvenlidir. Açık kaynak kod dünyası, yeni bir yazılım üretme
biçimi, yeni iş modelleri sunmaktadır. Dünyanın her tarafından bilişim uzmanlarınca imece
yöntemi ile endüstri standartlarında geliştirilen açık kaynak kod yazılımları, insanlığın ortak
malıdır.
Programcılar yazılımları geliştirirken kullandıkları programlama dilleriyle kaynak
dosyaları oluştururlar. Daha sonra derlemeli dillerde (C, C++, Java, Pascal) bu dosyayı
derleyerek çalıştırılabilir hale çevirirler. Açık kaynaklı yazılım savunucuları her üretilen ve
dağıtılan programla birlikte kaynak kodunun da dağıtılmasını savunurlar. Bu sayede
geliştirme esnasında ve ilerde yeni sürümlerin ortaya çıkması esnasında daha çok sayıda
gözün süzgecinden geçmiş daha kaliteli bir yazılım çıktığını düşünürler. En iyi bilinen açık
kaynak kodlu yazılımlar; Linux, Open Office, GNU, Debian'dır.
Açık kaynaklı yazılımlar, en küçüğünden cep telefonu, saat gibi gömülü sistemlerden,
en büyüğünden süper bilgisayarlara, ev kullanıcılarından KOBİ'lere, kamu kurumlarından
her türden okullara, tüm kurum ve bireylerin rahatça kullanabileceği, gereksinimlere göre
basitleştirilebilen, sağlamlaştırılabilen, güçlendirilebilen yazılımlardır. Açık kaynak kod
yazılımlar, her alanda çözümler sunarak, kapalı kod yazılımlara karşı tüketiciye seçenekler
sunmaktadır. Almanya, İspanya, Meksika, Brezilya, Çin, Kore, Hindistan gibi birçok ülke,
kamu kurumlarında açık kaynak kodlu yazılımlarının kullanımını benimsemiş ve bilgi
toplumu stratejilerin bir parçası yapmışlardır. Avrupa Birliği, UNESCO, Dünya Bankası gibi
kuruluşlar güvenlik ve tasarruf gibi gerekçelerle açık kaynak yazılımlarını önermektedir.
- GNU Genel Kamu Lisansı (GPL)
Piyasaya sürülen her yazılım, üretici şahıs ya da firmanın haklarını ve kullanıcının
haklarını korumaya yönelik bir lisans anlaşması içerir. Bir lisans anlaşması görevini
yaparken, programın kopyalanması sırasında izlenecek yöntemler, lisans ücreti, destek
meselesi, kullanıcının yazılım üzerinde ne gibi hakları olduğu konularına açıklık
getirmelidir. Serbest yazılım anlaşmaları arasında en popüleri kuşkusuz Genel Kamu Lisansı
(GPL, General Public License)’dır.
GPL lisans anlaşması, 1983 yılında Richard Stallman tarafından geliştirilmiş, çok
akıllıca detaylarla bağlayıcılığı bulunan, teşvik edici, gerek kullanıcı gerekse üretici tarafa
büyük olanaklar sağlayan bir lisans türüdür. GPL'nin en çok üzerinde durduğu konu
yazılımların kaynak kodu ile birlikte dağıtılmasının gerekliliğidir. Üretici firma yazılımını
binary olarak dağıtsa bile kaynak kodunu da herkes tarafından erişilebilir bir yere bırakmak
zorundadır. Kullanıcı, bu kaynak kodu alıp inceleyebilir, üzerinde istediği değişikliği
yapabilir, kendi projelerinde, yazılımlarında kodun tamamını ya da bir parçasını kullanabilir.
Hatta başkasının kod parçasını alıp bir kaç değişiklik yapıp, satarak maddi kazanç da elde
edebilir. Ama tek bir şartla, yeni üretilen program da GPL ile lisanslanmak zorundadır.
GPL, özellikle programın kaynak kodunun açık olmasının gerekliliğini savunan bir
yapıdadır. Temel amaçları, şeffaflık, kullanıcının ne kullandığını bilmesi, yazılımın çok kişi
tarafından hızlıca geliştirilmesi olarak sayılabilir. GPL, yazılımın ücretlendirilmesi hakkında
hiçbir fikir beyan etmez. Pek çok lisans anlaşması ücretsiz kategorisine girerken GPL
yazılımları ücretsiz olmak zorunda değildir. Üretici firma ya da kuruluş, yazılımını GPL ile
lisanslayıp, dağıtabilir ve karşılığında da bir ücret talep edebilir. Bu madde en baştan beri
sözleşme içerisinde olmasına rağmen gariptir ki, GPL yazılımların çok büyük bir kısmı
ücretsizdir. Genel bir yaklaşım yazılımdan değil, kullanıcıya sunulan destekten para
kazanılması şeklindedir. Bu özelliği ile GPL, pek çok lisanstan ayrılmaktadır. Örneğin
yazılım konusunda teknik destek, öğrenme materyali, geliştirme kursları gibi arka planda
yürütülen faaliyetler ücretli olarak kullanıcıya sunulabilir.
GPL yazılımların kopyalanmasında piyasada bulunan pek çok yazılımdan farklı bir
mantık geçerlidir. İsteyen istediği gibi istediği medya ile bir GPL yazılımı kopyalayabilir,
dağıtabilir, dağıtması için bir üçüncü şahısa devredebilir. Bunda hiç bir kısıtlama mevcut
değildir. Eğer yazılıma karşılık olarak bir ücret talep ediyorsa, bu yazılımı kullanan kişi
ücretini ödemekle yükümlüdür. Değilse, herhangi bir hukuki yükümlülük altında kalınması
sözkonusu değildir.
- UNIX Tarihçesi ve Gelişimi
1960'larda AT&T'nin Bell Laboratuarları, MIT ve General Electric'in ortaklaşa
yürüttükleri bir projede “Multics” isimli bir işletim sisteminin patentini aldılar. Bell
Laboratuarı bu projeden çekilene kadar iki çalışanı, Dennis Ritchie ve Ken Thompson, bu
projede çalıştı. Bell Laboratuarları bu projeden çekildikten sonra bu iki kişi yeni bir projede
bir işletim sistemi ortaya çıkardılar. İşletim sistemine “Multics” adından esinlenerek “Unics”
ismi takıldıysa da daha sonraları bu isim UNIX olarak değiştirildi. UNIX'in en temel özelliği
Dennis Ritchie tarafından yaratılan C dili ile oluşturulmasıydı. İşletim sistemleri o güne
kadar sistemin mimarisine bağlı olan makine dili ile yazılmaktaydı. UNIX işletim sistemi
makine dili yerine C dili temel alınarak kodlanmıştı. Bu da işletim sisteminin diğer
platformlara taşınmasını kolaylaştırıyordu. UNIX işletim sistemi duyulmaya başladıktan
sonra başta üniversiteler olmak üzere birçok kişi ve kurumun ilgisini çekti. Özellikle
üniversitelerin bilgisayar bilimleri bölümlerinde okuyan ve çalışan kişilerin desteği ile
birlikte UNIX kısa zamanda büyük bir ilerleme kaydetti. Bunun sonucu olarak da en önemli
bilgisayar işletim sistemi unvanını eline geçirdi.
- Linux’un Ortaya Çıkışı
AT&T UNIX işletim sistemini para ile lisanslayana kadar, UNIX üniversitelerde
bilgisayar bilimi öğrencilerine işletim sistemlerini öğretmek için kullanılan bir araçtı.
AT&T’nin yaptığı değişiklik sonrası üniversitelerin yeni bir işletim sistemine ihtiyacı ortaya
çıktı. Bunun üzerine Andrew Tannenbaum UNIX benzeri bir işletim sistemi olan MINIX
işletim sistemini ortaya çıkardı.
1990 yılında Finli bilgisayar bilimi öğrencisi Linus Torwalds Intel mimarisindeki
bilgisayarlar için hafıza yönetimi yapan bir yazılım üzerinde çalışmaya başladı. Bir zaman
sonra bu projesinin genişletilmiş halinin UNIX çekirdeği gibi çalışabileceğini farketti. 1991
yılında comp.os.minix haber grubuna üzerinde çalıştığı projeyi bildiren ve geliştirme için
öneri isteyen bir mesaj gönderdi. Torwalds bu yeni işletim sistemine Linus'un MINIX'i
olarak tanımladığı LINUX adını verdi. Unix üzerinde program geliştiren kişilerden Linux'un
geliştirilmesi için yardım teklifleri gelmeye başladı. Linux'un bir önemli yanı ise GNU
projesinin eksik olan bir parçasını doldurmasıydı. GNU projesi çerçevesinde yaratılacak olan
Unix benzeri işletim sisteminin çoğu parçaları bitmişti. Yapılmayan en önemli parça işletim
sisteminin çekirdeği idi. Bu eksikte Linux tarafından kapatılmış oldu. 1994 yılında Linux 1.0
serisi kernel GPL lisansı altında yayınlandığında, Linux 100,000 kullanıcıya erişmişti.
Günümüzde Linux'un milyonlar ile belirtilen bir kullanıcı kitlesi bulunmaktadır. Son
kullanıcı pazarında da gün geçtikçe güçlenmesine rağmen Linux günümüzde çoğunlukla
sunucularda kullanılan bir işletim sistemidir. Yapılan araştırmalardan Internet'te bulunan
web sunucularının büyük çoğunluğu Linux işletim sistemi üzerinde çalışmakta olduğu
sonucu ortaya çıkmıştır.
- Açık Kaynak Kodlu İşletim Sistemi Kurulumu
Açık kaynak işletim sistemi Linux’un yüzlerce sayıda farklı sürümü (dağıtımı) vardır.
Bütün Linux sürümleri, işletim sisteminin temeli olan ortak çekirdeği kullanmaktadır. Fakat
farklı firma ve kuruluşlar, açık kaynak kodlu olan çekirdek üzerine kendi değişikliklerini
ekleyerek işletim sistemini yapılandırmaktadırlar. Benzer şekilde Linux sürümlerinde
kullanılan temel programların büyük bir kısmı da açık kaynak kodlu olduğu için ortak
programlar farklı uyarlamalarla sürümlerde yer almaktadır. Açık kaynak kodlu yazılımların
getirdiği bu avantajdan dolayı Internet ortamında pek çok Linux sürümü yer almaktadır. Bu
sürümlerin büyük bir kısmı küçük çapta (bir ya da iki disketlik sürümler) olduğu gibi, bazı
büyük Linux sürümleri geliştirilmediği için zamanla kaybolmuştur. Benzer şekilde isteyen
herkes kendi Linux sürümünü hazırlayabilir.
- Kuruluma Hazırlık
Pardus, internet üzerinden indirilerek oluşturulacak kurulum CD’si yardımıyla
bilgisayara kurulabilir. Bu CD’yi oluşturmak için öncelikle http://www.pardus.org.tr
internet adresinden Pardus’un 2007 ve diğer sürümlerine ulaşmak mümkündür. Pardus’un
“kurulan” ve “çalışan” olmak üzere iki versiyonu mevcuttur. Kurulan versiyonu, CD ile
bilgisayara kurularak çalışan Pardus’u ifade eder. Çalışan versiyonu ise, CD üzerinden
herhangi bir bilgisayarda çalışabilen, kurulum gerektirmeyen Pardus versiyonudur.
- Örnek Bir Kalıp Yazdırma İşlemi
Nero 7 ve sonrası sürümlerde NeroSmart'ın “Yedekleme” başlığı altında "Diske
Görüntü Yazdırın" seçeneğini görebilirsiniz (Bknz. Şekil 1.2). Bu seçeneğe tıklandığında
açılacak pencereden ISO dosyasını göstermek gerekmektedir.
- Disk Bölümleri
Bir sabit disk çeşitli bölümlere (partition) ayrılabilir. Bu şekilde her bölüm ayrı bir
sabit disk gibi faaliyet gösterebilir. Bir sabit disk üzerinde iki adet işletim sistemine sahip
olmak istediğinizde, onu ikiye bölmeniz gerekecektir. Her işletim sistemi kendi bölümünü
kullanır ve diğerininkine dokunmaz. Böylece iki ayrı işletim sistemi aynı disk üzerinde
bulunabilir. Bölümleme olmasa idi her kurmak istediğimiz işletim sistemi için ayrı bir sabit
disk almamız gerekecekti.
Disketlerin bölümlenmesine teknik bir engel olmamasına rağmen, zaten çok küçük
olmalarından dolayı böyle bir şeye pek ihtiyaç olmamaktadır. Aynı şekilde CDROM'larda da
bölümleme gerekmemekte ve bir CDROM'u büyük bir bölümmüş gibi kullanabilmekteyiz.
Zaten bir CD ROM üzerinde birden fazla işletim sistemi bulunmasını gerektirecek pek fazla
durumla karşılaşılmamaktadır.
Uzatılmış ve Mantıksal Bölümler
Adresi MBR'de kayıtlı olan bölümlere birincil bölüm (primary partition), yine adresi
MBR'da kayıtlı ancak içinde başka bölümler olan bölümlere uzatılmış bölüm (extended
partition) ve adresi MBR'da bulunmayan ve uzatılmış bölüm içindeki bölümlere mantıksal
bölüm (logical partition) adı verilir.
Bilgisayar sabit disklerinin orijinal bölümleme planı sadece dört bölüme izin verir.
Gerçek hayatta bu sınırlama bazı insanlar için hiç hoş bir olay olmamaktadır. Çünkü onlar
bilgisayarlarında dört taneden fazla işletim sistemi (Linux, MS DOS, OS/2, FreeBSD,
NetBSD, Windows NT, vb.) kurmak istemektedirler. Bu sorunu aşmak için uzatılmış
bölümler (extended partitions) kullanılmaktadır. Bu şekilde birincil bölüm alt bölümlere
ayırılabilir. Birincil bölüm uzatılmış bölüm adıyla alt bölümlere ayrılır. Bu alt bölümler
mantıksal (logical) bölümlerdir. Bu bölümler birincil bölüm gibi davranırlar fakat
oluşturulma biçimleri farklıdır. Bu bölümler ile birincil bölümler arasında bir hız farkı
yoktur.