Windows’un Tarihi-Windows 2000'e kadar
Günümüzün en yaygın işletim sistemlerinden birisi olan Windows’un tarihine bir göz atmaya ne dersiniz?
Windows 1.0
Windows serisinden ilk işletim sistemi Windows 1.0 olarak 1985 yılında piyasaya çıktı. 1.0 bir task-switcher idi. Yani, birden fazla programı açabiliyor ama aynı anda tek bir program aktif oluyordu. Diğerlerinin çalışması askıya alınıyordu. Kullanıcı askıya alınan bir programa geçtiğinde bu sefer o program kaldığı yerden çalışmaya başlıyordu. Bu ilk versiyon hiç tutulmadı. Tutulmamasının nedeni o sıralarda kullanılan bilgisayarların donanım olarak yetersiz kalmasıydı. PC’ler o zamanlar grafik düşmanı bir yapıya sahiptiler. Ayrıca, bilgisayarlar henüz bugünkü yaygınlık düzeyine ulaşmamışlardı ve o zamanın kullanıcıları daha teknik kökenli kişiler idi. Bu da grafik arabirimli bir sistemden yararlanabilecek insanların azlığı anlamına geliyordu. Son bir neden ise Microsoft’un grafik kullanıcı arabirimleri üzerine çok deneyimli olmamasıydı.
Bu ilk sürüm, 1984 yılında piyasaya çıkan Apple Macintosh’a karşılık olarak üretilmişti. Macintosh başından itibaren grafik temelli olarak tasarlanmıştı. PC’ler ise metin temelli sistemler olarak işe başladılar. Bu da grafik temelli bir yapıya uyarlanmalarını zorlaştırdı.
Windows 2.x
Microsoft’un ikinci girişimi de pek parlak olmadı. 1987 Yılında piyasaya sürülen Windows 2.0 grafik temelli olmasına karşın doğru dürüst ikon bile kullanmıyordu. Daha çok grafik ortamda gerçekleştirilmiş metin temelli bir sistemdi. Çünkü daha iyi grafikler için gereken güçlü işlemciler halen ortada yoktu. Gerçi Intel 1985 yılında 80386'yı çıkarmıştı ama piyasada en yaygın işlemciler 8088 ve 80286 idi. Zaman içinde Microsoft, Windows’un 80286 işlemcilerinin gücünden yararlanmasını sağlayan Windows/286 versiyonunu çıkardı. Bütün dezavantajlarına karşın bu versiyonun kullanımı yine de DOS’tan daha kolaydı ve kullanıcının birden fazla programı çalıştırabilmesine olanak sağlıyordu. Ama hem 8088 versiyonu hem de 286 versiyonu halen birer task-switcher’dı. Çokgörevli ( Multitasking) bir yapıda değildi. Task switching’de birden fazla program çalıştırılabilir ama yalnızca öndeki program iş yapar. Arka plandaki programların işleyişi askıya alınır. Çokgörevli çalışmada ise hem ön hem arka plandaki programlar çalışmalarını sürdürürler. 1988'de çıkartılan Windows/386 versiyonunda çokgörevlilik sağlanıyordu. Ama çokgörevlilik var çokgörevlilik var. Windows/386 ile gelen (ve Windows NT ile Windows 95'e kadar süregelen) çokgörevlilik işbirlikçi bir çokgörevlilik ( cooperative multitasking) idi. Işbirlikçi çokgörevlilikte birden fazla program aynı anda çalışabilir. Arka plana alınan programların çalışması devam eder. Programlar birbirleriyle iyi geçinmek yani, işbirliği yapmak zorundadırlar. O anda çalışan bir program bir süre sonra CPU zamanı, sabit disk, COM portları vb. sistem kaynaklarını diğer programlara sunarak onların da çalışmasını sağlar. Ama kötü yazılmış bir program bütün sistem kaynaklarına el koyabilir. Diğer programların çalışıp çalışmamasına yalnızca o program karar verebilir. Buna karşılık Windows 95'de ve Windows NT’deki çokgörevliliği işletim sistemi yönetir. Hangi programın hangi sistem kaynağına ne kadar süre ile sahip olacağını işletim sistemi belirler. Programlar için işletim sistemi tarafından belirlenen süre sonunda işletim sistemi devreye girer ve sistem kaynaklarını bir diğer programa aktarır. Bu türden çokgörevliliğe önceden belirlenmiş çokgörevlilik denir ( preemptive multitasking).
Windows 2.0'ın üç versiyonu da piyasada tutulmadı. Üç versiyonun da kullanıcı arabirimi yeterince basit ve kullanışlı değildi. Ayrıca üçü de yeterince güvenilir değildi
Windows 3.x
1990 yılının 22 Mayıs’ında büyük bir kampanya eşliğinde piyasaya çıkartılan Windows 3.0, önceki versiyonların tersine çok başarılı oldu. Bellek kullanımının gelişmiş olması gibi güçlü teknik özelliklerinin yanı sıra kullanıcı arabirimi de olağanüstü gelişmiş idi. Ikonlar ilk kez burada yoğun bir şekilde kullanılmaya başladılar. Birçok kişinin Windows ile özleştirdiği Program Manager arabirimi de bu versiyonda ortaya çıktı. En önemlisi de, birden fazla programın aynı anda oldukça sorunsuz bir şekilde çalışabilmesiydi. Kuşkusuz Microsoft bu versiyonda da bazı ödünler verdi. Örneğin, 8088 işlemcili, düşük konfigürasyonlu bilgisayarların da Windows 3.0'ı çalıştırabilmeleri göz önünde tutulmuştu. 8088'in çalışabileceği son Windows versiyonu Windows 3.0 oldu.
Windows 3.0 piyasada çok iyi karşılandı. Ama kullanıcıların sayısının artmasıyla birlikte sorunlar da ortaya çıkmaya başladı. Çıkan sorunların büyük kısmı düşük konfigürasyonlu makinalar düşünülerek verilen ödünlerden kaynaklanıyordu. Örneğin, Windows 3.0 gerçel modda (real mode) çalıştırılabiliyordu ama bu bu modda hiç de güvenilir değildi. Işletim sistemi bu modda çalışırken kötü yazılmış bir program sistemi çökertebilirdi. Korunmalı modda (protected mode) çalışan bir işletim sistemi ise bu türlü programların sisteme zarar vermesini daha iyi engelleyebilirdi.
Bir başka sorun da ünlü geri dönülemez uygulama hatasıydı (unrecoverable application error, UAE). Bu hataların çoğunda Windows’un bir kusuru yoktu; programlar bir dosyayı açmaya çalışmadan önce böyle bir dosyanın var olup olmadığını kontrol etmiyorlar ya da olmayan bir sistem kaynağına ulaşmak istiyorlar ya da buna benzer bir hata yapıyorlar ve sistem çöküyordu.
Bütün bu sorunlara çare olarak Microsoft, Windows 3.1 versiyonunu çıkardı. Bu versiyonda kullanıcıya yeni gelen çok az şey vardı. Ama asıl farklılık küçük ayrıntılarda ve sistemin derinliklerindeydi. Bu versiyonda UAE’ler hemen hemen ortadan kayboldular. Çünkü Microsoft artık sistemden bir şey istendiği zaman isteğin geçerli olup olmadığını araştıran mekanizmalar eklemişti. Bir uygulama diskte yer alan bir dosyayı istediği zaman ya da benzer bir iş yapmak istediği zaman Windows ilk önce işin yapılabilirliğini kontrol ediyordu (örneğin, istenilen dosyanın diskte yer alıp almadığını kontrol ediyordu). Bu özellik birçok yazılımevinin ürettikleri yazılımları gözden geçirmesini sağladı. Yazılımevleri sorun çıkarmaya aday kısımları inceleyip yazılımlarını neredeyse yeniden yazdılar. Bütün bunlara karşın yine de sistem bütünlüğünü bozan uygulamalar ortaya çıkıyordu. Bu durumda sonuç genel koruma hatasıydı (general protection fault, GPF). Yani, UAE’ler ortadan kalktı ama şimdi de yerine GPF’ler geldi. Bir sorun çıktığı zaman kullanıcı açısından değişen tek şey gelen mesajdı. Ama Windows 3.1, GPF’lerden sonra kendini daha kolay toparlayabiliyordu. Windows donup kalmadan önce en azından hatanın nedenini gösterebiliyordu. UAE’ler ise genelde Windows’un tanımlayamadığı hatalardan çıkıyordu. Bu fark, üreticilerin programlardaki hataları daha kolay görebilmelerini sağlıyordu. Bunların yanısıra ortalama bir kullanıcı şimdi çok daha az hata, yani GPF, ile karşılaşıyordu.
Microsoft Windows 3.1 ile birlikte daha da gelişmiş ve güvenilir hale getirilmiş bir bellek düzeni sağladı. Windows 3.1 sanal bellek kullanabiliyordu; yani, sabit diskin bir bölümü RAM bellek gibi kullanılabiliyordu. Microsoft bu ek belleğin bir bölümünü daha gelişmiş, 16 bitlik aygıt sürücüleri sağlamak için kullandı. 16 bitlik sürücüler korunmalı modda çalıştığı için Windows 3.1 8088'li bir makinada kullanılamıyordu.
Windows for Workgroups 3.11
Windows 95 öncesi en güvenilir, en sağlam Windows versiyonu Windows for WorkGroups 3.11 oldu. Bu versiyon aslında öncekilere göre çok daha iyi bir ağ desteği sağlamak için üretilmişti ama özellikleri yüzünden tek başına çalışan PC’lere bile yüklenmeye başladı
Bu versiyon ile birlikte, birkaç bilgisayarın bulunduğu ortamlarda, başkaca bir ağ işletim yazılımı kullanmadan bir bilgisayar ağı oluşturmak mümkün oluyordu. Ayrıca elektronik posta için Microsoft Mail ve iş düzenini sağlamak için Scheduler programını da içeriyordu.
3.11'in daha güvenli olmasının nedeni ise önceki versiyonlarda bulunan hataların (bug) çoğunun temizlenmesiydi. Ayrıca 32 bitlik disk erişimi gibi yeni ve performansı arttıran özellikleri de vardı. Ama halen yeterince güvenilir bir sistem değildi. Olması da mümkün değildi. Çünkü önceki Windows versiyonları gibi o da disk erişimi ve benzeri işler için DOS’u kullanıyordu. Korumalı modda çalışan, birden fazla programı aynı anda çalıştıran bir işletim sistemi alt düzey işler için gerçel mod, tek-görevli bir sistemi kullanırsa sorunların çıkması kaçınılmaz.
Windows NT
DOS ve OS/2'dan sonra Microsoft’un üçüncü tam-tekmil işletim sistemi denemesi Windows NT oldu. Windows NT’yi Digital’dan transfer edilen bir grup yazdı. Digital’ın VAX bilgisayarlarında kullanılan VMS işletim sistemini de bu grup yazmıştı (Windows NT’nin kısaltması WNT’yi oluşturan harflere bakarsanız herbirinin VMS kısaltmasındaki harflerden sonra geldiğini görürsünüz). Windows NT, daha önceki Windows yazılımlarından farklı olarak DOS’a gerek duymayan tam bir işletim sistemi idi.
DOS/Windows ikilisi varken NT’ye niçin gerek duyulduğu sorulabilir. Bu sorunun yanıtını şöyle verebiliriz. DOS ortada durduğu sürece güvenilir, hızlı, çağa uygun bir işletim sistemi oluşturmak hayaldi. Yaratılan her şey DOS’un kısıtlamaları yüzünden yetersiz kalmaya mahkumdu. Microsoft bu yazılımlarla büyük işyerlerine giremiyor, ciddi uygulamalar gerçekleştiremiyordu. Büyük işyerleri kullanımı kolay, grafik arabirimli ama çok daha güvenilir ve güçlü bir işletim sistemi istiyorlardı.
Windows NT güvenilir bir yapıdaydı. Buradaki çok görevlilik yapısının preemptive olduğunu yukarda söylemiştik. Ayrıca uygulamaların doğrudan donanıma (disk, görüntü kartı, faks-modem kartı vb.) erişimi yasaklanmıştı. Daha önceki uygulamalar performanslarını arttırmak için DOS’u atlayıp donanıma doğrudan erişmek eğilimindelerdi. Bu da sistemin kararlılığını (stability) azaltıyordu. NT’de ise uygulamalar donanıma doğrudan erişemiyordu. İsteklerini çekirdek (kernel) modunda çalışan yönetici hizmetlere iletiyorlardı. Yönetici hizmetler isteklerin uygun olup olmadığına bakıyor, uygunsa istekleri yerine getirip sonuçlarını uygulamalara bildiriyordu.
NT aynı zamanda Microsoft’un ilk 32 bitlik işletim sistemi idi. PC dünyasında 32 bitlik ilk işlemci, 80386, 1985 yılında piyasaya çıkmıştı ama 1993 yılına kadar bu işlemcinin kaynaklarını sonuna kadar kullanan bir işletim sistemi üretilememişti. İşletim sisteminin 32 bitlik olması işlemlerin daha hızlı yapılabilmesini ve daha büyük belleklere daha kolay erişimi sağlıyordu.
NT başlangıçtan itibaren çokişlemcili ( multiprocessing) çalışabiliyordu. Yani, bilgisayarda birden fazla işlemci bulunuyorsa işleri eşit bir şekilde bu işlemcilere dağıtabiliyor ve sistem performansını arttırabiliyordu. Daha önceki işletim sistemlerinin tersine NT, Intel işlemcilerine mahkum değildi. NT, Digital’ın Alpha, Silicon Graphics’in MIPS ve IBM/Motorola/Apple üçlüsünün PowerPC işlemcisi ile de çalışabiliyordu (ama bu işlemcilerin piyasada başarısız olması nedeniyle Alpha, MIPS ve PowerPC işlemcileri için NT geliştirilmesi işine son verildi). Burada Intel derken aslında bir platformu kastediyorum. Intel firmasının işlemcileri dışında, AMD işlemcileri de bu platformda yer alıyor. Hatta AMD işlemcileri çoğu zaman performans bakımından Intel işlemcileri geçiyor.
Microsoft, NT’yi ilk olarak sunucu bilgisayarlarda kullanılmak üzere tasarladı. Bu yüzden de üzerinde çalışabileceği bilgisayarın oldukça yüksekti özelliklere sahip olması gerekiyordu. Hızlı bir işlemci ve en az 16MB bellek istiyordu. Yeni bilgisayar alanlar bu özellikleri küçümseyebilirler; çünkü aldıkları bilgisayarlar şu anda en azından 2 GHzlik bir i3 işlemciye ve 4GB’lık bir belleğe sahip. Ama NT’nin ilk çıktığı zamanlarda (çok değil, 1993 yılında) bu özellikler küçük bir servet anlamına geliyordu.
Microsoft’un daha sonra geliştirdiği workstation versiyonu NT’nin daha düşük konfigürasyonlu makinalarda da çalışmasını sağladı. Düşük konfigürasyon diyoruz ama yine de bu versiyon için de en az 12 MB gerekiyordu. Bu versiyon daha az kullanıcı, daha az sayıda bir arada çalıştırılabilecek işlemci vb. şeyler demekti.
Paranın ikinci planda, güvenilirlik ve performansın ilk planda kaldığı büyük işyerlerinde, devlet dairelerinde NT ilgi çekmeyi başardı. Ama bütün parlak özelliklerine karşın NT bir türlü yayılamadı. Değerlendirmelerde hep yüksek puanlar ve övgüler alıyordu. Ama Microsoft’un istediği yalnızca güzel değerlendirmeler değildi. Microsoft, hiç bir zaman kısıtlı pazarlara yönelik üretim yapan bir firma olmadı. Onun için başarı, ürününün 10–20 bin değil, 10–20 milyon adet satmasıydı. NT, hem donanım olarak zamanına göre üstün ve pahalı bir donanım gerektirmesi, hem de bu işletim sistemi için yazılmış 32 bitlik programların piyasada bulunmaması yüzünden bir türlü yaygınlaşamıyordu.
Bu ortamda ne yapılabilirdi? Ya bu projenin batak olduğuna karar verip başka şeyler denenecekti ya da bu ürünün yaygınlaşmasını kolaylaştıracak yeni hamleler düşünülecekti. Microsoft daha önce de, daha sonra da, batak projelerin içerisine girmiş ama vazgeçmesini bilmişti. NT’de durum değişikti: Microsoft, NT’ye güveniyordu; vazgeçmek niyetinde değildi. Microsoft’a göre NT sıradan bir ürün değildi. Firmanın bütün geleceğini bağladığı bir projeydi bu.
NT’den vazgeçilmeyecekse onun yaygınlaşmasını engelleyen unsurlar temizlenmeliydi. Kullanıcıları hem donanım olarak hem de yazılım olarak NT’ye uygun bir duruma getirmek gerekiyordu.
Microsoft’un donanım tarafında çok şey yapması gerekmedi. 1990'ların ortalarından başlayarak yarıiletken teknolojisinde akıl almaz ilerlemeler gerçekleşti. Birim hacme daha çok devre sığdırılırken fiyatlar sürekli düşmeye başladı. Birkaç örnek vermek isterim: 1995 Temmuzunda, Intel’in Türkiye temsilcisi olan Empa’da çalışırken, Pentium 75 işlemciyi 350 dolardan satıyorduk. Şu anda ise 3.8 GHz’lik bir i7 işlemci hemen hemen aynı fiyata satılıyor. O zamanlar bilgisayarımın belleği 4MB iken şimdi yalnızca görüntü kartımın belleği 4 GB. Yine o zamanlar bilgisayarımın sabit diski 80MB iken şimdi tam 1 TB’lık bir sabit diskim var.
Yazılım tarafında ise yapılacak çok şey vardı. Yazılım firmaları 10–20 bin satan NT için 32 bitlik program üretmeye yanaşmıyorlardı. Haklıydılar. Öbür yanda yüzlerce milyona ulaşan bir Windows 3.1 piyasası vardı. Onları ikna etmek için denklemin öbür tarafına, yani kullanıcı tarafına geçmek ve önce onları 32 bitlik ortamlara taşımak gerekiyordu. Eğer kullanıcılar 32 bitlik bir işletim sistemine geçerlerse yazılım firmaları da 32 bitlik program üretmeye başlayacaklardı. Buradan hareket eden Microsoft, tarihinin en masraflı tanıtım kampanyası ile duyurduğu Windows 95'i üretti. 1995'in Ağustos ayında bu işletim sistemi piyasaya çıkarken Türkiye’de Ali Kırca Taksim’den canlı yayın ile bu ürünü tanıtıyordu. Gazeteler, dergiler, televizyonlar bu yeni ürünün tanıtımıyla dolup taşıyordu. Eşimin memleketi olan ve temelde tütüncülükle uğraşan Akhisar’da bile bilgisayarla ilgilendiğimi duyan kişiler bana Windows 95'i soruyorlardı. Böyle bir şey daha önce yaşanmadığı gibi daha sonra da yaşanmadı.
Windows 95
Microsoft, Windows 3.11 ve DOS 6.22 ikilisi sonrasında, kullanıcıların önünde bulunan bilgisayarlarda çalışacak yeni bir işletim sistemi çıkaracağını açıkladı. Bu yeni sistemde DOS’a gerek kalmıyordu. Kullanıcılar başından sonuna dek grafik ve dost bir ortamda çalışabileceklerdi. Bu yeni sistem 1995 içinde çıkarıldığı için Windows 95 olarak adlandırıldı. 1995'in Ağustos ayında tarihin gördüğü en büyük bilgisayar kampanyası eşliğinde piyasaya sürülen bu sistem çok tutuldu. Daha ilk haftada milyonun üzerinde satış rakamlarına ulaştı.
Windows 95'de DOS ortadan kalktı ama geriye doğru uyumluluk yüzünden büyük ödünler verildi. Örneğin, 32 bitlik olduğu söylenen Windows 95'de çok yoğun bir şekilde 16 bitlik kodlar kullanılıyordu. Ama bu sayede de daha önceki programlarla ve ürünlerle sorunsuz bir şekilde çalışma sağlanıyordu. Ayrıca Windows 95'in Tak-çalıştır (Plug-and-play) özelliği sayesinde bilgisayara yeni parçalar eklemek çok kolaylaşıyordu.
Windows 95'de bütün Windows DLL’leri ve destek kodları korumalı modda çalışıyordu. DOS uygulamalarını çalıştırmak için bir sanal makina (virtual machine) oluşturuyor ve bu makina üzerinde bir DOS kopyası çalıştırıyordu. Tak-çalıştır özelliği olmayan makinalarda bir kısım BIOS fonksiyonları için destek sağlıyor ve gerçel-mod sürücüler kullanan çok eski kartları bile destekliyordu. Windows 95 gerçel mod sürücüleri dışında tamamen korumalı modda çalışıyor ve Windows NT’nin 32 bitlik programlama arabiriminin bir alt kümesini kullanıyordu.
Windows 95, daha önceki Windows versiyonlarından daha iyi, daha hızlı ve daha güvenilir çalışmakla kalmıyor kullanıcıya yeni bir grafik arayüzü de getiriyordu. Bu arayüz çok tutulunca uyumluluğu sağlamak için Windows NT 4.0'a da yerleştirildi.
Yukarda saydığımız kısımlar dışında Windows 95 ile kullanıcıların elektronik posta ve iletişim gereksinimlerini karşılayan MAPI ve TAPI desteği, az sayıda bilgisayardan oluşan küçük bir bilgisayar ağını çok kolay kurabilme desteği de sağlanıyordu.
Windows 95'de her türlü program çalışıyordu ama bu işletim sisteminden en yüksek yararı sağlamak için 32 bitlik programlar kullanmak gerekiyordu. Windows 95'in yaygınlaşmasıyla birlikte yazılım firmaları hızla 32 bitlik program üretmeye başladılar. Windows 95 için üretilen 32 bitlik programların hemen hepsi NT üzerinde de çalışıyordu. Microsoft böylece yazılım piyasasını da istediği gibi 32 bitlik bir yapıya kavuşturdu.
Windows NT 4.0
Windows NT’nin en son versiyonu olan NT 4.0, 1996 yılında piyasaya çıktı. NT 4.0'daki en büyük yenilik 1995 yılında piyasaya çıkan Windows 95'in arayüzünü kullanması idi. Bunun yanı sıra bir DNS sunucu hizmetinin işletim sisteminde yer alması ve grafik altsisteminin çekirdek kipine taşınması gibi bazı ufak tefek değişiklikler vardı. Ama özellikle grafik altsisteminin çekirdek kipine taşınmasıyla birlikte artan grafik performansı, bilgisayar destekli tasarım programı (CAD) üreticilerini NT’ye çekti. NT temelli sistemler halen CAD için en çok tercih edilen platform niteliğini taşıyor.
Windows NT 4.0 geriye doğru uyumluluk konusunda Windows 95'in çok gerisindedir. Windows 95'in çalıştırdığı birçok DOS ve 16 bitlik Windows uygulamalarını NT 4.0 çalıştırmaz. Çalıştırmaması da gerekir. Çünkü bu çalışmayan programlar ya doğrudan donanıma müdahale eden ya da ciddi bir şekilde sistem bütünlüğünü ve güvenilirliğini ihlal eden programlardır.
Windows NT 4.0 piyasada büyük bir başarı sağladı. Windows NT 4.0. Ağ işletim sistemleri pazarında başa güreşen ve o zamana kadar fiilen tekel olan Novell’in pazar payı gitgide küçülttü. Bu güçlü rakibinden kısa zamanda sıyrılan NT 4.0'ın en büyük rakibi Linux oldu. Linux, amatör ve kısıtlı bir proje olarak yola çıkmışken Microsoft’a bir seçenek bulmaya çalışan firmalar ve kişiler tarafından keşfedildi. Bu kişiler ve firmalar şu anda en küçük ortamlardan en büyük sunuculara kadar her ortamda Linux’u kullanma çabası içindeler.
Windows NT 4.0'ın iki versiyonu vardı: NT Server ve ve NT Workstation. Workstation versiyonu tek başına çalışacak bilgisayarlar için ya da az sayıda bilgisayarın kendisine bağlanacağı bilgisayarlar için kullanılıyordu. Server versiyonu ise çok sayıda bilgisayardan oluşan ağlara hizmet vermek için kullanılabilecek bir sistemdi.
Yukarda sırasıyla task-switching, cooperative multitasking, preemptive multitasking ve multiprocessing terimlerini açıkladık. Windows 95 ve Windows NT ile birlikte yeni bir terim daha karşımıza çıkıyor: Multithreading. Şimdi bu kavramı açıklayalım.
Bir task (görev) çalışmakta olan bir programdır. Bir program, kullanıcı tarafından çalıştırılan bir program olabileceği gibi sistem tarafından çalıştırılan programlar da olabilir. Örneğin, Windows’u başlattığınızda çalışan ortada hiçbir program yok gibi görünür. Oysa işletim sistemi, Explorer ya da Program Manager gibi programları, ağa erişim sağlayan programları, tanımlanmışsa yazıcı kuyruklarını çalıştırır durumdadır. Task yerine process (süreç) terimi de kullanılır.
Windows 3.1'de her bir uygulama tek bir göreve karşılık geliyordu. Windows 95 ve Windows NT’de ise bir uygulamada birden fazla görev bulunabilir. Bir uygulama içindeki işletilebilir en küçük kod parçasına, yani görev parçasına thread denir. Uygulamalarda birden fazla thread’e izin veren işletim sistemine de multithreaded denir. Windows 95 ve Windows NT multithreaded işletim sistemleridir. Multhtreaded yapı, uygulamaların içindeki küçük görevlerin (thread’lerin) birbirlerinden bağımsız çalışabilmelerini sağlar. Bu özellik en çok çokişlemcili (multiprocessing) sistemlerde işe yarar. Çokişlemcili sistemlerde işletim sistemi uygulamaları ya da uygulamaların içinde bulunan thread’leri sistemdeki işlemcilere dağıtır. Bu da sistem performansını önemli ölçüde arttırır. Ama tek işlemcili bir bilgisayarda bile multithreaded yapı performans artışı sağlar. Örneğin, Windows 95 için yazılmış bir elektronik tablolama programında thread’lerin birisi tablonun yeniden hesaplanması işi ile uğraşırken diğeri basım işlemi yapabilir.
Windows 2000
Microsoft, Windows NT 4.0'ın bir üst sürümü için adlandırma kuralını değiştirdi. Bu sürümün adı Windows 2000 oldu. Bu pek de parlak bir düşünce değildi ve diğer Windows ürünleriyle karıştırılmasına neden oldu.
Peki, 2000 yılının 17 Şubatında piyasaya çıkan Windows 2000 ne gibi yenilikler içeriyordu? Baş yenilik dizin (directory) hizmetleri konusunda. “Directory” terimi Microsoft tarafından uzun zaman sabit diskteki bölümleri göstermek için kullanıldı. Ama uzun bir süre önce Microsoft disk bölümleri için folder (klasör) terimini kullanmaya başladı. Dizin, şu anda, bir sistemdeki nesnelerin bilgisi demek. Örneğin, telefon dizini kişilerin ad ve telefon numarası bilgisini içerir. Bir işletim sisteminin dizini ise kullanıcıları, bilgisayarları, yazıcıları, paylaşım alanlarını vb. nesneleri içerir.
NT’nin bir dizin hizmeti vardı. Örneğin, User Manager for Domains programı ile dizin içindeki kullanıcılara, Server Manager programı ile de dizin içindeki bilgisayarlara erişebiliyordunuz. Ama bu dizinin bazı sorunları vardı: Yönetimi tutarlı bir arabirimle yapılmıyordu; her iş için ayrı ayrı programlar kullanılıyordu. Dizin içindeki nesnelerin sayısı üzerine sınırlar bulunuyordu. Örneğin, bir NT etki alanı içinde ortalama olarak birkaç bin kullanıcı tanımlanabiliyordu. Dizin hizmetlerini üstelenen bilgisayarlar (PDC ve BDC’ler) katı bir şekilde tanımlanıyordu: Normal sunuculardan PDC-BDC durumuna, PDC-BDC’lerden normal sunucu durumuna geçiş mümkün değildi. Bu ve benzer kısıtlamalar Windows 2000'in dizin hizmeti Active Directory’de giderildi.
Active Directory dışında Windows 2000, Plug-and-play desteği, USB desteği, enerji yönetimi desteği gibi yeni teknolojilere destekler de içeriyordu. En güzel özelliklerinden birisi de NT’ye göre çok daha az yeniden başlatılmasıydı: NT’ye yeni bir hizmet, kart, protokol yüklediğinizde sistemi yeniden başlatmanız gerekiyordu. Windows 2000'deyse toplam olarak altı-yedi yerde yeniden başlatmak gerekliydi.