1. Unix İşletim Sisteminin Başlangıç Ve Gelişimi </SPAN>
UNIX in ilk versiyonu Bell Laboraties araştırma grubunda çalışan Ken Thompson tarafından 1969 yılında PDP-7 de çalışmak üzere geliştirildi. Kısa bir süre sonra Dennis Ritchie Thompson'a katıldı. Thompson, Ritchie ve araştırma grubunun diğer üyeleri UNIX'in ilk versiyonlarını hazırladı. Ritchie çok yakın geçmiş zamanda MULTICS projesi üzerinde çalışmış olduğundan bu yeni işletim sistemi üzerinde MULTICS in güçlü bir etkisi oldu. Hatta ismi bile MULTICS den gelmedir. Dosya sistemi temel organizasyonu, komut yorumlayıcı fikri (shell), her komut için ayrı bir process ve daha çeşitli özellikler direk olarak MULTICS den geldi. Ritchie ve Thompson UNIX üzerinde yıllarca çalıştı. Onların çalışmaları PDP-11/20 üzerinde çalışan ikinci versiyona ilerlemeye yol açtı. Üçüncü versiyon işletim sisteminin büyük çoğunluğu assembly dili yerine sistem-programlama dili olan C de yazmalarıyla oluştu. C UNIX i desteklemek için Bell Laboratories' de geliştirildi. UNIX aynı zamanda daha büyük PDP-11 modellerine taşındı örneğin 11/45 ve 11/70. C de tekrar yazıldığı ve multiprogramming desteği olan sistemlere (örneğin 11/45) geçtiği zaman multiprogramming ve diğer gelişmeler UNIX in yapısına eklendi.
UNIX geliştikçe Bell Laboratories' de yaygın olarak kullanıldı ve yavaş yavaş bazı üniversitelere yayıldı. Bell Laboratories dışında yaygın olarak bulunan ilk versiyonu Version 6 idi . 1978 yılında Version 7 dağıtıldı ve bu modern UNIX sistemlerin atasıydı.
Version 7 nin dağıtımından sonra UNIX Support Group (USG) dağıtım için idari kontrol ve sorumluluğu Bell Laboratories den aldı. UNIX bir araştırma aracından çok bir ürün oluyordu. Araştırma Grubu aynı zamanda organizasyonlarındaki kuruluş içi hesaplamaları gerçekleştirmek için kendi UNIX versiyonlarını geliştirmeye devam etti.
UNIX in bir sonraki versiyonlarında Remote File System ve Stream I/O system gibi özellikler eklendi
USG UNIX için desteğini AT>T içinde sağladı. İlk dış dağıtımını yaptığı sistem 1982 yılında System III tü.
Küçük boyut, modülerlik ve UNIX sistemlerin temiz dizaynı Rand, BBN, the University of Illinois, Harvard, Purdue ve Dec gibi birçok bilgisayar bilimi temelli organizasyonlarda UNIX temelli işlere önderlik etti. Bell Laboraties ve AT>T hariç en etkili gruplar Berkeley deki University of California da ortaya çıktı.
Berkeley in 1978 yılındaki VAX UNIX üzerindeki ilk çalışması 32V ye virtual memory, demand paging ve page replacement in Bill Joy ve Ozalp Babaoğlu tarafından 3BSD UNIX i hazırlamak için eklenmesi oldu. Sistem bu özelliklerin kullanıldığı ilk versiyon oldu. Geniş virtual memory nin kullanılması geniş programların çalıştırılabilmesine yol açtı.
DARPA (Defense Advanced Research Projects Agency) için çalışan bir komite TCP/IP protokollerini destekleyen 4. 2BSD versiyonunu oluşturdu. Böylece UNIX işletim sistemi LAN lardan WAN lara kadar çeşitli network tipleri üzerinde kullanılmaya başlandı.
Günümüzdeki mevcut UNIX sistem versiyonları Bell Laboraties ve Berkeley in ürettiği ürünlerle sınırlı değildir. Sun Microsystems BSD yi workstationlarında kullanarak popülaritesinin artmasına sebep oldu. UNIX in popülaritesi arttıkça yeni bilgisayar ve bilgisayar sistemlerinde kullanılmaya başlandı. Çok sayıda UNIX ve UNIX benzeri işletim sistemleri geliştirildi. Yaygın bir şekilde bulunmasından dolayı akademik kurumlardan askeri kurumlara kadar bir çok kurumda kullanıldı. Bu sistemlerin çoğu Version 7, System III, 4. 2 BSD veya System V tabanlıydı.
UNIX iki tane Bell Laboraties çalışanının kişisel projelerinden uluslararası standartlarla tanımlanan bir işletim sistemi haline geldi. UNIX işletim sistemi işletim sistemleri teorisi için hala eğitim kurumları için en popüler ve önemli bir işletim sistemidir. </SPAN>
2. Dizayn Prensipleri
UNIX işletim sistemi time-sharing bir sistem olarak tasarlandı. Standart kullanıcı arayüzü ( shell) basit ve istenildiğinde bir başkası ile değiştirilebilir. Dosyalama sistemi kullanıcılara kendi alt dizinlerini oluşturmaya izin veren multilevel tree yapısıdır. Her kullanıcı dosyası basit byte sıralarıdır.
UNIX multiple process i destekler. Bir process kolaylıkla yeni processler oluşturabilir. CPU scheduling i basit priority algoritmasıdır. 4. 3BSD memory ve CPU yönetimini desteklemek için demand paging kullanır. Eğer sistem aşırı paging den dolayı sorun yaşarsa swapping kullanılır.
UNIX başlangıçta iki programcı tarafından geliştirildiği için anlaşılmak için yeterince küçüktür. Algoritmaların çoğu hız veya komplekslik yerine basitliği için seçilmiştir. UNIX programcılar tarafından yine programcılar için tasarlandı. Bü yüzden her zaman interaktif ve program geliştirme özellikleri öncelikli oldu.
UNIX çoğunlukla kendini desteklemek için yazılan C dilinde yazıldı. Çünkü kimse assembly dilinde programlama yapmayı sevmiyordu. Assembly dilinden C diline geçiş UNIX in bir sistemden başka bir sisteme geçişini kolaylaştırdı.
3. Dosyaların listesini nasıl elde edebilirim?
ls komutu ile. Aşağıda bu komutun temel kullanımı verilmiştir.
ls (seçenekler) (dosya veya dizin. . . )
Bazı seçenekler:
-F: Dosya isimleri sonunda * ; dizin isimleri sonunda / işaretleri görüntülenerek birbirinden ayırt edilmelerini sağlar.
-R: Belirlenen bir dizin içindeki dosyalar yanı sıra varsa tüm alt dizinler içerikleriyle birlikte listeler.
-a: . ile başlayan dosyalar dahil dizinin tüm içeriğini listeler. (. login , . rc gibi)
-c: Dosyaları sıralamak veya bastırmak amacıyla i-düğümlerinin en son düzeltme tarihlerini kullanır.
-g: Eğer ayrıntılı liste alınıyorsa, dosyanın sahibinin grup adıyla birlikte yer alması isteniyorsa bu seçenek kullanılır.
-i: Her dosyayı i düğümleri ile birlikte görüntüler.
-l: Dosyalar hakkında daha ayrıntılı bilgi verir.
-m: Dosya isimleri virgüllerle birbirinden ayrılarak listelenir.
-n: Ayrıntılı listede yer alan ID numaralarını listeler.
-o: Ayrıntılı listeye grup adlarının dahil edilmesini sağlar.
-p: Dizinlerin / işaretiyle simgelenmesini sağlar.
-r: Sıralamayı ters yönden yapar.
-s: Blok cinsinden dosyaların boyutunu verir.
-t : Dosyaların değişime uğrama zamanlarına göre sıralanmasını sağlar.
-u: Dosyalara en son erişim zamanlarına göre sıralanmasını sağlar.
-q: Dosya isimleri içinde ? gibi karakterler varsa bunlar listelenir.
Örnek :
ls -l mehmet*
--w-rw--w- 1 e065247 B386 603 Oct 24 22:14 mehmet_aksu_88. html
--w-rw--w- 1 e065247 B386 607 Oct 24 22:23 mehmet_aksu_soyluyor. html</SPAN>
4. Bir dosyayı başka bir yere ya da isme nasıl kopyalayabilirim?
cp komutu ile yapılır.
Kullanımı : cp -[secenek] dosya başka_bir_dosya_ismi Örnek : cp mehmet. html eren. html // mehmet. html'i eren. html'e kopyalar. cp eren. html ~/tmp // eren. html'i HOME dizinindeki /tmp dizininin altına kopyalar cp -r ~/tmp ~/dump // HOME dizindeki tmp dizinini dump dizininin altına kopyalar.
5. Nasıl dizin oluşturabilirim, ve silebilirim?
mkdir dizin_ismi -->dizin oluşturur.
rmdir dizin_ismi -->ici boş olan bir dizini siler.
6. Dosyaları ya da dizinleri başka bir yere nasıl taşıyabilirim?
mv komutu ile dosyaları başka bir dizine, hatta dizinleri başka dizinlere taşıyabilirsiniz. Bu işlemin sonunda orjinal dizinin içindeki dosyaların isimlerinde bir değişiklik olmaz. mv komutu DOS'taki rename ve move komutuna benzer, ancak onlardan çok daha beceriklidir.
Kullanımı : mv dosya1 dosya2
7. Dosyaları nasıl silebilirim?
Unix'te dosyaları silmek için rm komutu kullanılır. Aslında rm'nin yaptığı şey dosyanın sahip olduğu linklerden birini çıkarmaktır. Eğer dosyanın sadece bir link'i varsa sonuçta dosya silinir.
DİKKAT : Unix'te DOS'takine benzer bir UNDELETE komutu yoktur (mimarilerinin farkli olmasından dolayı) bu sebeple dosyalarınızı silerken çok dikkatli olmanız gerekir. Eğer bir dosya'yı yanlışlıkla silerseniz, system sorumlunuza başvurun, belki backup'lardan dosyanızı geri getirebilir.