1.WİNDOWS NT NEDİR?Ağ işletim sistemi, birbirine belli konfigürasyona göre çeşitli donanım birimi, yazılım ve kablolarla bağlanmış, birbirleriyle haberleşebilen, birbirlerinden veri alış verişini ve veri paylaşılmasını kolaylaştıran bilgisayarlar topluluğudur. Windows NT’de Microsoft firmasının çıkardığı böyle bir ağ işletim sistemidir. (Acar,1996:1)
İşlemciler iki sınıfa ayrılır:
CICS İşlemciler: Intel 80386 ve 80486 ve bazı diğer güncel işlemciler. Bu işlemciler çok sayıda uzun makine kodu içerir.
RISC İşlemciler: 80’li yılların ortasında geliştirilen bu işlemci tipinde, CICS işlemcilerden farklı olarak daha az sayıda makine komutu bulunmaktadır. Makine komutlarının basitliğinden dolayı RISC işlemciler, daha kısa sürelerde işlem yapma ve komutları daha hızlı işleme yeteneklerine sahiptir.
Bu ve benzeri donanım gelişmelerini kullanmayı amaçlayan Microsoft, her türlü ortama destek verecek yeni taşınabilir bir işletim sisteminin eksikliğini görmüştür. 1980’lerde IBM ve Microsoft, OS/2 işletim sistemini ortak bir çalışmayla ortaya çıkarmalarına rağmen, Microsoft bu işletim sistemin pek çok eksikliği olduğunu görerek kendi başına yeni bir işletim sistemi üzerinde çalışmaya karar vermiştir. Tek bir işletim sistemiyle geniş bir donanım yelpazesine hitap etmek ve kullanıcıların güncel gereksinimlerini karşılamak gibi koşulların oluştuğu pazarda Microsoft, NT işletim sistemini geliştirmek için karar almıştır. Bu işletim sisteminin belirlenen en önemli özelliği taşınabilirlik olmuştur. Bu amaçlar doğrultusunda ilk olarak Windows NT 3.1, 1993 yazında çıkarılmıştır.(Çubukçu,1997:39)
2. NT’NİN TARİHİ GELİŞİMİVersiyon
Çıkış Zamanı
Windows NT 3.1
1993 Yaz
Windows NT 3.5 Daytona
1994 Yaz
Windows NT 3.51
1995 Haziran
Windows NT 4.0
1996 Yaz
Tarihsel süreçte NT uygulamaları incelendiğinde NT 3.1’in DOS ve Windows işletim sistemlerinin yerine ve hizmet birimi (server) ağ olanağı ile gelen yeni bir işletim sistemi olduğu görülür. Arabirimi Windows 3.1 ve Windows 95 ile aynı olup, 32 bitlik mimariyle 4 GB adresleme olanağına sahiptir. Öncelikle çok görevlilikle birlikte kullanıcı düzeyinde güvenlik ve koruma özellikleri vardır.
Haziran 1994’ te duyurulan Windows NT 3.5 Daytona’ın en önemli özellikleri arasında ise 16 bitlik Windows uygulamaları için ayrı adres alanı olması sonucunda daha sağlam ve güvenilir bir işletim sistemi olması, tasarımcılara üç boyutlu grafik olanakları sunması, NT 3.1’e göre daha az bellek gereksinimi olması, daha hızlı çalışması ve 32 bitlik OLE 2.0 desteği vb yenilikler gelir.
Ağustos 1995’te duyurulan Windows NT 3.51 ise dosya, yazıcı ve uygulama hizmetleri açısından sağlam bir platform oluşturmuştur. İşletim sistemi, dosya sistemi, bellek yönetimi, çoklu işlemci desteği açısından sağladığı fonksiyonlar uygulama geliştiricilerin işini kolaylaştırmakatdır.
1996 yazında duyurulan NT 4.0 ise herkes için bir şeyler vaat etmiştir. Windows 95’in sevimli arabiriminden daha fazlasını bekleyen Windows 3.x kullanıcılarını için NT 4.0 kararlılık ve güvenlik açısından önemli bir alternatif oluşturmuştur. Kullanıcılar performanstaki artışla beraber bir çok yeni ve daha iyi özellik ile geliştirilmiş Internet ve Intranet bağlantıları elde etmişleridir. (Çubukçu,1997:40)
Bu günlerde çıkan Windows 2000 (Windows NT 5.0) 98’ den daha sağlam bir işletim sistemidir. NT 5.0 Windows 98’den veya Windows 95’den güncelleme yoluyla kurulabilir. NT 5.0 Windows 98’in veya Windows 95’in üzerine kurulursa taşınma olur. Yani 98 ve 95 ile ilgili ayarlar NT 5.0’a aktarılır. Fakat NT 4.0 Windows 95 üzerine kurulursa taşınma olmaz. Ayrıca NT 5.0 Fat16 ve Fat32 dosya sistemini okuyup yazabilir. NT 4.0 ise Fat32 dosya sistemini görmez. Zaten NT 4.0 Fat32 dosya sistemi olan bir partitiona kurulmaz. NT 5.0 NT 4.0’a göre daha fazla donanımı destekler.(PC World:Ağustos 1999:21)
3. WİNDOWS NT 4.0’IN ÖZELLİKLERİ 3.1-) İstemci/Sunucu (Client/Server) İşletim Sistemidir: Bu tip işletim sistemleri birbiri ile çok iyi haberleşebilen iki ayrı bölümden oluşur. Hizmet sunan bir bölüm (Sunucu) ve hizmet alan diğer bölüm(istemci). Kullanıcı programları çoğunlukla İstemcidir(Client). Bunun anlamı program çalışırken istemlerde bulunacaktır. Bu istemleri yerine getirecek başka bir bölüm vardır, buna da Sunucu(Server) bölümü denir. Burada önemli olan iki nokta vardır: 1. Hafızada her iki bölüm birbirinden bağımsız olarak çalışır ve bu iki bölüm arasında istenmeyen bilgi akışını önleyecek programlar vardır. 2. Eğer tek bir sunucu çökerse sistemin diğer bölümleri etkilenmez.(Ders notları). Client/Server mimarisi bilgisayar kullanıcılarının yer aldığı işletmeler, yönetimler ve diğer organizasyonlarda tüm yatırımı destekleyen ve kontrol edebilen bir işlem yöntemidir. Bu yöntem, farklı sistemlerin entegrasyonunda esnek bir yapı sağlaması ve sistemin ileride gerçekleştirilebilecek geliştirme sürecinde gereksiz harcamalar oluşturmaması nedeniyle önemli olan bir network sistemidir.
İşletmeler Client/Server mimarisini üretimi artırmak, işletim giderlerini düşürmek, yeni uygulamaların kullanılabilirliğini sağlamak, verimli yönetim ve yüksek network performansı için tercih ederler. (Dolanbay,1998:45)
3.2-) 32 Bit Hafıza Modeli: DOS 16 bitlik bir işletim sistemidir. Bunu anlamı hafıza yapısının her defasında 16- bit olarak adreslenebileceğidir. 16 bit doğasında hafızaya yazılacak her şeyin 64k (16-bit) kodları biçiminde yazılması gerekir, bundan daha büyük adresleme yapılamaz. NT 32 bitlik işletim sistemi olduğu için böyle sorunlar yoktur. NT 4.0 4 GB’lık bir adres alanına erişebilir.
Yeri gelmişken 16-bitlik işletim sistemiyle 32-bitlik işletim sistemi arasındaki farkı açıklamak istiyorum. 16-bit ve 32-bit işletim sistemleri arasındaki en belirgin fark, onların iç yapıyı (veya kaynakları) nasıl kullandığıdır. Bunun yanında bazı işlemciler belirli büyüklükteki yapılarla daha iyi çalışacak şekilde düzenlenmişlerdir. 32-bitlik işletim sisteminin en belirgin özelliği: 32-bit ayrılmış hafıza modelini desteklemesidir. Bu ise 16-bitlik işletim sistemlerinde söz konusu değildir. Bir diğeri ise elektronik sistemde dolaşan veri büyüklüğünün daha büyük olması ve bu sayede işlemlerin daha hızlı yapılmasına olanak vermesidir.
32-bit işletim sisteminin temeli 32-bit bir çekirdekten oluşur. Ne var ki 16-bit işletim sistemi olan windows 3.1’e de 32-bit desteği kazandırmak amacı ile win32s modülü geliştirilmiştir. Ancak bu ona 32-bit işletim sistemi olma özelliğini katmaz, sadece öyle imiş gibi davranmasını sağlar. 32-bitlik işletim sisteminin diğer özellikleri hafızanın daha iyi kullanılması ve yönetilmesi, 32-bit tasarımlı ek cihazları (ses kartı gibi) kullanabilmesi ve uzun dosya isimlerinin desteklenmesi olarak söylenebilir. (Russel,1997:316)
Hafızadan söz etmişken NT’nin bellek yönetimi nasıldır? Biraz da bu konuya değinelim. Windows NT’de bellek yönetimi 4GB’lık bellek alanına erişmeyi sağlayan 32-bit adres alanı üzerine kurulmuştur. Sanal bellek (virtual memory) yönetimi ile bir uyugulamaya bilgisayarın sahip olduğu ana bellekten daha çok bellek alanı sağlanır. Bellek yönetimi her bir uygulamaya tek(unique) sanal adres atayarak onun sorunsuz olarak çalışmasını sağlar.
4 GB’lık bellek alanının 2 GB’ı uygulamaların çalışmasına ayrılırken kalan 2GB’da sistem dosyalarının saklanması için kullanılır. Diğer bir değişle uygulama kendisine ait 2 GB bellek alanına sahiptir. Aşağıdaki şekilde NT bellek modeli görülmektedir.
NT bellek modeli şu adımları içerir: Sanal bellek kullanımı Sanal Bellek Yöneticisi (Virtual Memory Model) tarafından yönetilir. SBY sayesinde sayfa istenerek (demand paging) veri fiziksel bellekten sanal belleğe aktarılır. Ve veri disk üzerindeki geçici dosya üzerine konur. Daha sonra verilere uygulama programı tarafından yeniden gereksinim duyulduğunda verileri fiziksel belleğe yükler. Bu özellikleriyle NT bellek yönetimi DOS ve Windows’tan daha etkin ve uyumludur. NT, 64 KB’lık yerine 4 Kb’lık sayfalar kullanır.(Çubukcu,1997:96)
3.3-) Ayrılmış Hafıza Modeli İle Esneklik: Windows dünyasına giren diğer bir kavramda ayrılmış hafıza modelidir. Bu model sayesinde her bir program hafızanın sadece bir kısmına erişebilir, tabi ki işletim sisteminin kendisi de ayrı bir bölümde çalışmaktadır. DOS yapısında ise böyle bir şey yoktur. Her bir program hafızanın istediği bölümüne erişme hakkına sahiptir, hatta işletim sisteminin çalıştığı bölüme bile. Eğer bir program başka bir programın çalıştığı yere yazar veya bir şeyler silerse (sistemin olduğu bölümden bir şeyler silindiğini düşünün) tam bir felaket olur. İşte sistemdeki göçmelerin sebeplerinden biri budur. Bir uygulamanın bir yanlış hareketi yüzünden bütün sistem duraklayıp kilitlenebilir. Yanlışlıkla yazılmanın dışında bir program kendisine ait olmayan bir bölümdeki verileri okuyabilir. Bir virüsü düşünün, kendisine ait olmayan yerlere ulaşıp sistem zamanını değiştirebilir ve hatta Bios bilgilerini değiştirebilir. Windows NT ise tamamen farklı bir mantıkla çalışır. Her bir uygulama kendisine ait 32-bit adresi kullanır. Hafıza ikiye bölünür üst kısım diğer programlarla bilgi alış verişi yapar. Bu sayede her bir program sadece kendine ait olan yere ulaşır. Kendine ait olmayan yerlere ulaşma veri alma ve yazma hakkı yoktur. Bu iki pozitif sonuç doğurur. Birincisi, Window 3.x’te meydana gelen sistem kilitlenmelerinin %90’nı önler. İkincisi, her bir işlemin güvenliğini sağlar.
3.4-) Peemtive Multitasking (Ön Boşaltmalı Çok Görevlilik): Bilgisayar sisteminde birden çok işlemci bulunmasa da NT çok-görevlilik özelliğine sahiptir. Çok görevlilik aynı anda çok sayıda programın çalıştırılmasıdır.
Çok görevlilik, tek görevlilik ile karşıt anlamdadır. Tek görevli işletimde bir görevin (program) sona ermesinin ardından diğeri başlar. MS-DOS tek görevli bir işletimsistemidir. Çok görevli işletimde ise birden çok görev (program) aynı anda çalışabilir. Windows 3.1, Windows 95, Windows 98 ve Windows NT çok-görevli işletim sistemleridir.
Aslında tek işlemcili bir bilgisayarda (gerçekte) iki program aynı anda çalışmaz. Bunun yerine işlemci iki göreve de belli zamanlar atayarak ikisini birden çalıştırmaya çalışır. (Çubukçu,1997:97)
Çok görevliliğin iki tipi vardır: dayanışmalı(Cooperative) ve önboşaltmalı (preemtive). Kişisel bilgisayarlarda en çok kullanılan ve Windows 3.x ile Appl’in MacOS’unun kullandığı dayanışmalı çok görevlilik modelidir. Dayanışmalı çok görevlilik ortamında işletim sistemi, sistemin bütün kontrolünü o anda çalışan uygulamaya verir. Çalışan uygulama son bulduğunda tekrar kontrolü kendisi alır ve başka bir uygulamaya kaynakları kullanmak üzere devreder. Bu metodun en kötü yanı, bir uygulamanın sistemi tamamen kontrol altına alması ve başka uygulamalara sistemi terk etmemesi, işletim sistemine zarar verebilmesidir. Bunların yanında bir uygulama iş bittiğinde kontrolü işletim sistemine devretmez ise, bilgisayarınızın kilitlenmesi içten bile değildir. Buna karşılık NT’nin kullandığı ön boşaltmalı model vardır. Ön boşaltmalı modelin en büyük özelliği Unix işletim sistemlerinde olduğu gibi micro-çekirdeğin kullanılmasıdır. Bu modelde sistem her zaman mikro-çekirdeğin kontrolü altındadır. Bu modelde uygulamalar kendilerine verilen yerlerde ve tanınan sürelerde çalışırlar. Sistemin kontrolünü hiçbir zaman ele geçiremezler. Her bir uygulamaya çalışmaya başladığında bir iç numarası verilir ve bu uygulamanın kontrolü bu numara vasıtasıyla sağlanır. Örneğin 117 numarası verilmiş bir uygulama hangi kullanıcı tarafından ne zaman başlatılmış, hafızanın ne kadarını kullanıyor, çalışma durumunda veya bekleme durumunda mı? Bu uygulamanın bir alt uygulaması durumunda başka bir uygulama mevcut mu? Gibi bilgilere erişilebilir ve denetimi yapılabilir.