MS-DOS Nedir? Tüm Sürümleri, Komutları, Emülatörleri ve Windows Farkı

Hızlı Bakış

MS-DOS, Microsoft’un IBM PC için geliştirdiği disk işletim sistemini temsil ediyor. Kullanıcılar bu komut satırı sisteminde dosyaları kopyalıyor ve siliyor. Ayrıca FORMAT ve CHKDSK gibi araçlar diskleri hazırlıyor ve onarıyor. Böylece eski yazılımlar ile oyunlar emülatörler sayesinde bugün de çalışıyor. Öte yandan Windows’taki komut istemi ve FreeDOS, bu mirası günümüze taşıyor. Bu yapı, düşük bellek koşullarında bile hızlı bir yönetim sunuyor.

1980’lerin başında bilgisayar dünyası bambaşka bir yerdi. Kullanıcılar grafik arayüzleri henüz keşfetmemişti. Herkes siyah ekranda yeşil harflerle komutlar yazıyordu. İşte tam o dönemde Microsoft’un imzasını taşıyan bir disk işletim sistemi doğdu: MS-DOS. Bu sistem, milyonlarca insanın bilgisayarla ilk tanışmasını sağladı. Ayrıca modern Windows’un temellerini de attı.

Peki, bu kadar eski bir sistem neden hâlâ gündemde? Çünkü MS-DOS sadece bir işletim sistemi değil, bir kültür mirasıdır. Üstelik 2024 yılında Microsoft, MS-DOS 4.0 kaynak kodunu açık kaynak olarak yayınladı. Dolayısıyla bu sistem artık bir müze parçası değil. Aktif olarak incelenen bir teknoloji hazinesi haline geldi.

Bu rehberde size her şeyi anlatacağım. MS-DOS nedir sorusundan başlayıp, tarihçesine, mimarisine, komutlarına ve emülatör kurulumuna kadar uzanacağız. Ayrıca günümüzde bu sistemi nasıl çalıştırabileceğinizi de göstereceğim. Hazırsanız başlayalım!

MS-DOS Disk İşletim Sistemi Tanımı, Sürümleri ve Özellikleri

Gerçek
Microsoft, Nisan 2024’te MS-DOS 4.00 kaynak kodunu IBM ile ortaklaşa MIT lisansı altında GitHub’da yayınladı. Bu, 1980’lerin işletim sistemi dünyasına açılan bir zaman kapsülü niteliğinde.

MS-DOS Nedir? Microsoft Disk İşletim Sisteminin Tanımı ve Temel Önemi

MS-DOS, Microsoft Disk Operating System kelimelerinin kısaltmasıdır. Microsoft bu sistemi IBM PC ve uyumlu bilgisayarlar için geliştirdi. Bu sistem bir komut satırı arayüzü işletim sistemidir. Kullanıcılar bu sistemde fare yerine klavyeyi kullanırdı. Ayrıca komutları elle yazmak zorundaydılar. Ancak bu basit yapı, onu son derece güçlü kılıyordu.

Sistem, 1981’den 2000’lerin başına kadar kişisel bilgisayarların bel kemiğiydi. Microsoft onu 16-bit işletim sistemi olarak tasarladı. Intel 8086 ve 8088 işlemciler üzerinde çalışıyordu. Dolayısıyla donanım kaynaklarını son derece verimli kullanıyordu. Ancak bu verimlilik, beraberinde ciddi sınırlamalar da getiriyordu.

Not
Bu sistemi anlamak için önce onun bir tek görevli işletim sistemi (single-tasking) olduğunu bilmelisiniz. Yani aynı anda sadece bir program çalıştırabilirdi. Bu kısıtlama, modern çoklu görev anlayışına tamamen zıttır.

Peki, bu sistem neden bu kadar önemliydi? Çünkü Microsoft’un ilk büyük başarısıydı. Ayrıca IBM PC’nin standart işletim sistemi haline geldi. Bu sayede milyonlarca kullanıcı bilgisayar kullanmayı öğrendi. Üstelik geliştiriciler bu sistem için binlerce yazılım yazdı. İnsanlar oyunlardan muhasebe programlarına kadar her şeyi bu sistem için yazdı.

Günümüzde bu sistemi doğrudan kullanmıyoruz. Çünkü modern donanımlar onu desteklemiyor. Ancak MS-DOS mirası her yerde karşımıza çıkıyor. Windows’taki cmd komut istemi, onun torunudur. Ayrıca FreeDOS gibi açık kaynak projeler onu yaşatmaya devam ediyor. Emülatörler sayesinde eski oyunları hâlâ oynayabiliyoruz.

MS-DOS Açılımı ve Kelime Anlamı: Microsoft Disk Operating System

Bu sistemin adı aslında ne yaptığını tam olarak anlatıyor. “Microsoft Disk Operating System” yani “Microsoft Disk İşletim Sistemi” anlamına geliyor. Buradaki “disk” kelimesi kritik önem taşıyor. Çünkü sistemin temel görevi diskleri yönetmekti. Microsoft onu dosyaları okumak, yazmak ve düzenlemek için tasarladı.

İlk bakışta bu tanım size çok basit gelebilir. Ancak 1980’ler için devrim niteliğindeydi. O dönemde bilgisayarlar manyetik disketlerle çalışıyordu. Dolayısıyla bir DOS olmadan verilere erişmek imkânsızdı. İşletim sistemi, donanım ile yazılım arasında köprü kuruyordu.

MS-DOS açılımı içindeki “operating system” ifadesi, sistemin kaynak yöneticisi olduğunu gösteriyor. Bellek yönetimi, dosya sistemi erişimi ve giriş/çıkış işlemleri onun sorumluluğundaydı. Ayrıca kullanıcının yazdığı komutları da yorumluyordu. Yani hem tercüman hem de yönetici rolünü üstleniyordu.

Bir başka deyişle, bu sistem bilgisayarın “işletmeni” gibiydi. Donanıma “şunu yap” diyor, yazılıma “işte kaynakların” diyordu. Bu basit ama etkili model, PC endüstrisini şekillendirdi. Üstelik bu mimari, x86 mimarisi üzerindeki tüm sonraki işletim sistemlerini etkiledi.

DENEYİM
Eski sistemlerde çalışırken şunu fark ettim: Bu sistemin basitliği aslında en büyük gücüydü. Karmaşık grafik arayüzleri yoktu, dolayısıyla sistem çok az kaynak tüketiyordu. 640 KB bellekle tüm işletim sistemi çalışıyordu. Bu verimlilik, günümüz modern sistemlerinde bile hayranlık uyandırıcı.

MS-DOS Ne İşe Yarar? Temel Görevleri ve Kullanım Alanları

Bu sistemin temel görevlerini anlamak için günlük kullanıma bakmak yeterli. Kullanıcılar bu sistemde dosya kopyalama, silme, taşıma gibi işlemleri yapardı. Ayrıca disk bölümleme ve biçimlendirme gibi donanım işlemlerini de yürütürlerdi. Kullanıcılar tüm bu işlemleri komut satırından yapardı.

İşte size bu sistemin en önemli görevlerini sıralıyorum:

  • Dosya yönetimi: COPY, DEL, REN, MOVE komutlarıyla dosyaları yönetirdiniz.
  • Dizin işlemleri: DIR, MD, CD, RD ile klasör oluşturup gezerdiniz.
  • Disk yönetimi: FORMAT, FDISK, CHKDSK ile diskleri hazırlar ve onarırdınız.
  • Bellek optimizasyonu: MEMMAKER ve EMM386 ile 640 KB sınırını aşmaya çalışırdınız.
  • Yazılım çalıştırma: .EXE ve .COM dosyalarını doğrudan adını yazarak başlatırdınız.
  • Toplu işlem: batch dosyalarıyla tekrar eden görevleri otomatikleştirirdiniz.

Görüldüğü üzere bu görevler günümüzde de geçerliliğini koruyor. Ancak modern sistemler bunları grafik arayüzle sunuyor. Oysa MS-DOS döneminde her şey metin tabanlıydı. Bu durum, sistemle çalışmayı hem zorlu hem de öğretici kılıyordu.

Bir de işin oyun tarafı var. Geliştiriciler 1980’ler ve 1990’lar boyunca bu platform için sayısız oyun yaptı. Doom, Wolfenstein 3D, Prince of Persia gibi efsaneler bu sistemde hayat buldu. Dolayısıyla MS-DOS, oyun tarihinin de ayrılmaz bir parçasıdır.

İpucu
Eski bir oyunu çalıştırmak istiyorsanız, önce DOSBox gibi bir emülatör kullanmanızı öneririm. Böylece modern sisteminizde güvenle bu oyunları oynayabilirsiniz.

MS-DOS Tarihçesi: QDOS’tan Windows ME’ye Uzanan Yolculuk

Floppy disket ve sürücüsü

Bu sistemin hikâyesi aslında bir yarışla başladı. 1980 yılında IBM, kişisel bilgisayar pazarına girmeye karar verdi. Ancak bir işletim sistemine ihtiyaçları vardı. O dönemde Digital Research firmasının CP/M’i popülerdi. Fakat IBM ile Digital Research bir anlaşma sağlayamadı.

İşte bu boşlukta Microsoft devreye girdi. Bill Gates ve Paul Allen, Seattle Computer Products’tan bir işletim sistemi satın aldı. Bu sistemin adı 86-DOS‘tu. Ayrıca insanlar onu QDOS (Quick and Dirty Operating System) olarak da biliyordu. Tim Paterson bu sistemi sadece dört ayda yazmıştı.

Microsoft bu sistemi satın aldıktan sonra IBM’e lisansladı. Böylece PC-DOS doğdu. Microsoft aynı sistemi MS-DOS adıyla diğer üreticilere de sattı. Bu strateji, Microsoft’un yazılım dünyasının hâkimi olmasının ilk adımıydı.

QDOS ve 86-DOS: Tim Paterson’un 4 Ayda Yazdığı İşletim Sistemi

Tim Paterson, Seattle Computer Products’ta çalışan genç bir mühendisti. Şirket, Intel 8086 işlemcisi için bir işletim sistemine ihtiyaç duyuyordu. O dönemde CP/M sadece 8080 işlemcilerde çalışıyordu. Dolayısıyla yeni bir sisteme ihtiyaç vardı. Paterson bu işi üstlendi ve kolları sıvadı.

Dört ay gibi kısa bir sürede sistemi yazdı. Sistemin adını QDOS koydu. “Quick and Dirty” yani “Hızlı ve Kirli” anlamına geliyordu. Bu isim, aslında ne kadar pragmatik bir yaklaşım sergilediğini gösteriyordu. Mükemmeliyetçilik değil, işlevsellik öncelikliydi.

Gerçek
Tim Paterson QDOS’u CP/M ile uyumlu olacak şekilde tasarladı. Hatta Paterson, CP/M’nin API çağrılarını taklit etti. Bu sayede kullanıcılar mevcut yazılımları kolayca taşıyabiliyordu. Ancak bazı teknik detaylarda CP/M’den ayrılıyordu.

Sistemin en büyük avantajı, 8086 işlemcisinin gücünü kullanabilmesiydi. Digital Research CP/M’i 8-bit işlemciler için yazmıştı. Oysa QDOS 16-bit dünyaya açılan bir kapıydı. Bu fark, onu geleceğe hazır hale getiriyordu.

Microsoft, 1981 yılında bu sistemi Seattle Computer Products’tan satın aldı. Anlaşma bedeli sadece 75.000 dolardı. O dönem için bile mütevazı bir rakamdı. Ancak bu satın alma, dünya yazılım tarihini değiştirecek bir hamleydi.

Microsoft-IBM Anlaşması (1980): PC-DOS ve MS-DOS’un Doğuşu

IBM, 1980 yılında kişisel bilgisayar projesini başlattı. Projenin kod adı “Project Chess” idi. Amaç, hızlı bir şekilde pazara girmekti. Dolayısıyla her bileşeni kendileri üretmek yerine dışarıdan tedarik etmeyi seçtiler.

İşletim sistemi için önce Digital Research ile görüştüler. Ancak Gary Kildall ile anlaşamadılar. Bunun üzerine IBM, Microsoft’a yöneldi. Bill Gates, henüz bir işletim sistemi yazmamıştı. Fakat bir çözümü vardı: QDOS’u satın almak.

Microsoft, QDOS’u satın aldıktan sonra IBM’e lisansladı. Anlaşma uyarınca IBM, sistemi PC-DOS adıyla kullanacaktı. Ancak kritik bir detay vardı: Microsoft, sistemi başka üreticilere de satabilecekti. Bu madde, ileride Microsoft’un yükselişini sağlayacaktı.

IBM PC, Ağustos 1981’de piyasaya çıktı. PC-DOS 1.0 ile birlikte geliyordu. Kısa süre sonra Compaq gibi üreticiler IBM uyumlu makineler üretti. Onlar da MS-DOS’u tercih etti. Böylece Microsoft’un sistemi fiili standart haline geldi.

MS-DOS Sürüm Tarihçesi: 1.0’dan 8.0’a Kronolojik Gelişim

Aşağıdaki tabloda bu sistemin tüm önemli sürümlerini ve çıkış tarihlerini bulacaksınız. Bu kronoloji, aynı zamanda kişisel bilgisayar evriminin de özetidir.

SürümÇıkış YılıÖnemli Yenilikler
MS-DOS 1.01981İlk sürüm, 160 KB disket desteği, temel dosya komutları
MS-DOS 1.251982Çift taraflı disket desteği, hata düzeltmeleri
MS-DOS 2.01983Alt dizinler, sabit disk desteği, 5 MB disk kapasitesi
MS-DOS 3.019841.2 MB disket desteği, ağ desteğinin temelleri
MS-DOS 3.319871.44 MB disket, 32 MB bölüm sınırı, gelişmiş ülke desteği
MS-DOS 4.019882 GB bölüm desteği (FAT16), DOS Shell grafik arayüzü
MS-DOS 5.01991HIMEM.SYS, EMM386, tam ekran editör, UNDELETE
MS-DOS 6.01993DoubleSpace sıkıştırma, MSAV antivirüs, DEFRAG
MS-DOS 6.221994DriveSpace sıkıştırma, son bağımsız sürüm
MS-DOS 7.01995Windows 95 ile entegre, 32-bit disk erişimi
MS-DOS 7.11998Windows 98 ile entegre, FAT32 desteği
MS-DOS 8.02000Windows ME ile son sürüm, gerçek mod desteği kaldırıldı

Bu tabloya baktığınızda ilginç bir desen göreceksiniz. Her sürüm, bir öncekinin sınırlamalarını aşmaya çalıştı. Ancak temel mimari hep aynı kaldı. Bu durum, sistemin güçlü yönü olduğu kadar zayıf noktasıydı da.

Özellikle 1990’ların ortalarına dikkat edin. 6.22 sürümü, bağımsız bir işletim sistemi olarak son sürümdü. Sonrasında Windows’un gölgesine girdi. Artık kullanıcılar doğrudan bu sistemi değil, Windows’u başlatıyordu.

Not
Microsoft MS-DOS 7.0 ve 7.1’i kullanıcılara ayrı bir ürün olarak satmadı. Bu sürümler Microsoft Windows 95 ve 98’in içinde gizliydi. Kullanıcılar bu sürümleri Windows’un “MS-DOS modu” olarak da bilir. Gerçek anlamda bağımsız son sürüm 6.22’dir.

MS-DOS Tüm Sürümleri: 1.0’dan 8.0’a Karşılaştırmalı Sürüm Rehberi

Her sürümün kendine özgü hikâyesi var. Bazıları büyük yenilikler getirdi. Bazıları ise hayal kırıklığı yarattı. Aşağıda tüm sürümleri tek tek ele alacağız.

MS-DOS 1.x (1981-1982): İlk Adım — 1.0 ve 1.1 Sürümleri

İlk sürüm Ağustos 1981’de IBM PC ile birlikte geldi. Sistem son derece basitti. Sadece 160 KB kapasiteli tek taraflı disketleri destekliyordu. Toplamda 16 KB bellekle çalışabiliyordu. Bu rakamlar bugün komik gelebilir. Ancak o dönem için yeterliydi.

Bu sürümde DIR, COPY, TYPE, REN gibi temel komutlar vardı. Ancak alt dizin desteği yoktu. Tüm dosyalar tek bir klasörde durmak zorundaydı. Bu durum, dosya sayısı arttıkça kaosa yol açıyordu.

1.1 sürümü 1982’de geldi. Microsoft çift taraflı disket desteği ekledi. Böylece kapasite 320 KB’ye çıktı. Ayrıca ekip bazı hataları düzeltti. Ancak köklü bir değişiklik yoktu.

Bu ilk sürümlerin en büyük sorunu, sabit disk desteğinin olmamasıydı. Çünkü 1981’de sabit diskler henüz yaygın değildi. Herkes disketlerle çalışıyordu. Bu nedenle sistemi de buna göre tasarladılar.

MS-DOS 2.x (1983-1984): Alt Dizinler, Aygıt Sürücüleri ve 5 MB Disk Desteği

1983 yılında IBM PC XT piyasaya çıktı. Bu makine sabit diskle geliyordu. Dolayısıyla Microsoft işletim sistemini güncellemek zorundaydı. MS-DOS 2.0 tam bu ihtiyaçla doğdu. Sabit disk desteği geldi. Ayrıca sistem 5 MB’a kadar disk kapasitesini destekliyordu.

En büyük yenilik alt dizinlerdi. Artık dosyaları klasörlere ayırabiliyordunuz. Bu, dosya yönetiminde devrim niteliğindeydi. MD, CD, RD komutları bu sürümle geldi. Kullanıcılar artık hiyerarşik bir yapıda çalışabiliyordu.

Microsoft aygıt sürücülerini de bu sürümde tanıttı. CONFIG.SYS dosyası ilk kez ortaya çıktı. Bu dosya sayesinde sistem açılışında sürücüleri yükleyebiliyordunuz. Böylece donanım desteği genişledi.

Bir başka önemli yenilik de ANSI.SYS sürücüsüydü. Bu sürücü, ekran renklerini ve imleç konumunu kontrol ediyordu. Programcılar için büyük kolaylık sağlıyordu.

İpucu
MS-DOS 2.0, sistemin gerçek anlamda “kişisel bilgisayar” işletim sistemi haline geldiği noktadır. Alt dizinler ve sürücü desteği olmasaydı, modern dosya sistemleri bu kadar erken gelişemezdi.

MS-DOS 3.x (1984-1988): Ağ Desteği, 1.44 MB Disket ve 32 MB Bölüm Sınırı

1984’te IBM PC AT piyasaya çıktı. Bu makine 80286 işlemcisini kullanıyordu. MS-DOS 3.0 bu donanımı desteklemek için geldi. Kullanıcılar artık 1.2 MB kapasiteli disketleri kullanabiliyordu. Ayrıca IBM ağ desteğinin temellerini attı.

1987’de 3.3 sürümü geldi. Bu sürüm belki de 3.x serisinin en popüleriydi. 1.44 MB disket desteği sunuyordu. Ayrıca Microsoft 32 MB’lık bölüm sınırı getirdi. Bu sınır, FAT16 dosya sisteminin doğal bir sonucuydu.

Peki bu 32 MB sınırı neden vardı? Çünkü FAT16 dosya sistemi, her küme için 16 bitlik adresleme kullanıyordu. Sistem maksimum 65.536 kümeye adres verebiliyordu. Küme boyutu 512 bayt olunca toplam kapasite 32 MB’a çıkıyordu. Bu teknik bir zorunluluktu.

Ağ desteği de bu sürümde gelişti. Artık bilgisayarlar birbirine bağlanabiliyordu. Ancak bu destek çok ilkeldi. Gerçek anlamda ağ kullanımı için ek yazılımlar gerekiyordu.

MS-DOS 4.x (1988-1989): Multitasking Denemesi ve 2 GB Bölüm Desteği

1988’de MS-DOS 4.0 geldi. Bu sürüm hırslıydı ama sorunluydu. 2 GB’a kadar bölüm desteği sunuyordu. Ayrıca DOS Shell adında grafik arayüz içeriyordu. Bu, komut satırına alışkın olmayanlar için bir kolaylıktı.

Ancak sürüm birçok hatayla doluydu. Kullanıcılar sürekli çökmelerden şikâyet ediyordu. Ayrıca performans sorunları vardı. Bu yüzden kullanıcılar 4.0’ı pek tutmadı. Microsoft kısa süre sonra 4.01 sürümünü yayınladı. Ama hasar çoktan oluşmuştu.

İlginç bir detay: Bu sürümün multitasking (çoklu görev) denemeleri de vardı. Ancak bu özellikler tam olgunlaşmamıştı. Dolayısıyla kullanıcılar pek faydalanamadı. Yine de bu denemeler, gelecekteki Windows’un temelini attı.

Uyarı
MS-DOS 4.0, sistemin en sorunlu sürümlerinden biri olarak tarihe geçti. Eğer bir koleksiyoncu değilseniz, bu sürümü günlük kullanım için tercih etmeyin. 4.01 sürümü bile birçok hatayı barındırıyordu.

MS-DOS 5.0 (1991): HIMEM.SYS, Full-Screen Editör ve Bellek Yönetimi Devrimi

1991 yılında gelen 5.0 sürümü, belki de en önemli güncellemeydi. Çünkü bellek yönetiminde devrim yarattı. HIMEM.SYS sürücüsü artık genişletilmiş belleğe (extended memory) erişim sağlıyordu. Bu, 640 KB sınırını aşmak için kritik bir adımdı.

Ayrıca EMM386.EXE sürücüsü geldi. Bu sürücü, genişletilmiş belleği (expanded memory) simüle ediyordu. Böylece eski programlar daha fazla bellek kullanabiliyordu. Microsoft LOADHIGH ve DEVICEHIGH komutlarını da bu sürümle tanıttı.

Bir diğer büyük yenilik tam ekran editördü. EDIT komutu artık metin dosyalarını rahatça düzenlemenizi sağlıyordu. Öncesinde EDLIN gibi ilkel araçlar vardı. Bu editör, kullanıcı deneyimini ciddi şekilde iyileştirdi.

UNDELETE komutu da bu sürümle geldi. Yanlışlıkla sildiğiniz dosyaları kurtarabiliyordunuz. Ayrıca UNFORMAT ile biçimlendirilmiş diskleri geri getirebiliyordunuz. Bu özellikler, kullanıcılar için büyük güvence sağlıyordu.

DENEYİM
Eski sistemlerde bellek optimizasyonu tam bir sanattı. CONFIG.SYS dosyasını elle düzenler, HIMEM.SYS ve EMM386 satırlarının sırasını değiştirirdik. Her değişiklikten sonra sistemi yeniden başlatıp test ederdik. Doğru ayarı bulmak bazen saatler sürerdi ama sonuç muhteşem olurdu.

MS-DOS 6.x (1993-1994): Disk Sıkıştırma, Antivirüs ve MEMMAKER

1993’te 6.0 sürümü geldi. Bu sürüm, kullanıcı dostu araçlarla doluydu. DoubleSpace disk sıkıştırma aracı en dikkat çekeniydi. Disk kapasitenizi neredeyse iki katına çıkarıyordu. Ancak bazı hukuki sorunlar nedeniyle Microsoft 6.22’de DriveSpace ile değiştirdi.

MEMMAKER aracı da bu sürümle geldi. Bu araç, bellek yönetimini otomatik optimize ediyordu. CONFIG.SYS ve AUTOEXEC.BAT dosyalarını analiz ediyordu. Ardından en verimli yapılandırmayı öneriyordu. Bu, manuel optimizasyon zahmetinden kurtarıyordu.

Antivirüs tarafında MSAV (Microsoft Anti-Virus) vardı. Ayrıca DEFRAG ile disk birleştirme yapabiliyordunuz. SCANDISK ise disk hatalarını bulup onarıyordu. Tüm bu araçlar, sistem bakımını kolaylaştırıyordu.

6.22 sürümü, bağımsız son sürüm olarak tarihe geçti. Microsoft onu 1994’te yayınladı. Sonrasında Microsoft, sistemi Windows’un içine gömdü. Dolayısıyla 6.22, klasik dönemin finali olarak kabul edebiliriz.

MS-DOS 7.0 ve 7.1 (Windows 95/98): İşletim Sistemi İçinde Gizlenen DOS

Microsoft, Windows 95 ile birlikte gelen 7.0 sürümünü artık ayrı satmıyordu. Bu sürüm Windows’un altında bir katman görevi görüyordu. Kullanıcılar Windows’u başlatıyordu. Ancak arka planda bu sistem hâlâ görev yapıyordu. Özellikle eski programları çalıştırmak için gerekliydi.

Bu sürümde 32-bit disk erişimi geldi. Artık disk işlemleri daha hızlıydı. Ayrıca Microsoft 7.1 sürümüyle FAT32 dosya sistemi desteğini de ekledi. FAT32, 2 TB’a kadar bölümleri destekliyordu. Bu, 32 MB sınırını çoktan geride bırakmıştı.

Ancak bir sorun vardı. Bu sistem hâlâ 16-bit gerçek modda çalışıyordu. Windows 95 ve 98, korumalı moda geçmişti. Fakat eski programlar için gerçek mod gerekiyordu. Dolayısıyla sistem, “kapat” seçeneğiyle hâlâ erişilebilirdi.

MS-DOS 8.0 (Windows ME): Son Sürüm ve DOS’un Sessiz Vedası

2000 yılında Windows ME (Millennium Edition) ile 8.0 sürümü geldi. Bu, sistemin son sürümüydü. Ancak önemli bir değişiklik vardı: Microsoft gerçek mod desteğini kaldırdı. Artık bilgisayarı doğrudan bu sistemle başlatamıyordunuz.

Bu karar, bir dönemin sonu anlamına geliyordu. Kullanıcılar artık “kapat” seçeneğiyle komut satırına düşemiyordu. Kullanıcılar Windows ME’yi bu yönüyle pek sevmedi. Çünkü eski oyunlar ve programlar çalışmıyordu. Uyumluluk sorunları baş gösterdi.

Sonuç olarak, bu sistem artık bağımsız bir işletim sistemi olarak sona erdi. Windows NT mimarisi (Windows 2000 ve XP) tamamen farklı bir yapıya geçti. Eski sistem ise emülatörler ve FreeDOS sayesinde yaşamaya devam etti.

MS-DOS Mimarisi ve Çalışma Prensipleri: Katmanlı Yapı ve Kesme Mekanizması

Dizüstü PC üzerinde DOS işletim sistemi kullanımını gösteren bir görüntü

Bu sistemin mimarisi aslında oldukça basittir. Katmanlı bir yapıya sahiptir. Her katman, belirli bir görevi yerine getirir. Bu basitlik, sistemin hem güçlü hem de kırılgan olmasına neden olur.

MS-DOS Katmanlı Mimarisi: BIOS, Çekirdek ve Kabuk

Sistem üç ana katmandan oluşur. İşte bu katmanları ve görevlerini sıralıyorum:

  1. BIOS (Basic Input/Output System): Donanım ile doğrudan konuşan en alt katmandır. Klavye, ekran, disk gibi birimleri kontrol eder. ROM’dadır ve sistem açılışında devreye girer.
  2. DOS Çekirdeği (Kernel): IO.SYS ve MSDOS.SYS dosyalarından oluşur. Dosya yönetimi, bellek yönetimi ve program yükleme işlerini üstlenir. Uygulamalara INT 21h kesmesi üzerinden hizmet sunar.
  3. Komut İşlemcisi (COMMAND.COM): Kullanıcının yazdığı komutları yorumlar. İç komutları doğrudan çalıştırır. Dış komutlar için harici programları başlatır.

Bu katmanlı yapı, sistemin esnek olmasını sağlar. Örneğin bir program doğrudan BIOS’a erişebilir. Veya çekirdek üzerinden dosya işlemleri yapabilir. Ancak bu esneklik, aynı zamanda bir güvenlik açığıdır. Çünkü her program çekirdeğe müdahale edebilir.

IO.SYS, MSDOS.SYS ve COMMAND.COM: Sistem Dosyalarının Görevleri

Bu üç dosya, sistemin kalbi ve beynidir. Her birinin kritik bir görevi vardır. Aşağıda bu görevleri tanımlıyorum:

  • IO.SYS: Donanım başlatma ve BIOS ile iletişimden sorumludur. Ayrıca CONFIG.SYS dosyasını okur ve sürücüleri yükler. Ayrıca gizli ve salt okunur bir dosyadır.
  • MSDOS.SYS: Dosya sistemi ve bellek yönetimini üstlenir. Uygulamalara INT 21h üzerinden sistem çağrıları sunar. Çekirdeğin asıl işlevsel kısmıdır.
  • COMMAND.COM: Kullanıcı arayüzünü sağlar. Komutları okur ve yorumlar. AUTOEXEC.BAT dosyasını çalıştırır. Sistem açılışında otomatik görevleri yerine getirir.

Bu dosyaların sırası ve yüklenme şekli çok önemlidir. Sistem açılışında sistem önce IO.SYS dosyasını yükler. Ardından MSDOS.SYS devreye girer. Son olarak COMMAND.COM çalışır. Herhangi birinde sorun olursa sistem açılmaz.

MS-DOS INT 21h Nedir? Kesme Mekanizması Nasıl Çalışır?

INT 21h, bu sistemin en önemli kesmesidir. Uygulamaların işletim sistemiyle konuşmasını sağlar. Örneğin bir program dosya açmak isterse, INT 21h çağrısı yapar. Kayıtçılara belirli değerler yükler. Ardından kesme talimatını çalıştırır.

Kesme mekanizması aslında bir tür fonksiyon çağrısıdır. Ancak donanım seviyesinde çalışır. İşlemci kesmeyi algılar ve kesme vektör tablosuna bakar. INT 21h için belirlenmiş adrese atlar. Orada çekirdeğin kesme işleyicisi vardır. Daha sonra işleyici, istenen işlemi yapar ve geri döner.

Bu mekanizma, programcılara büyük kolaylık sağlar. Çünkü donanım detaylarını bilmelerine gerek yoktur. Sadece INT 21h çağırmaları yeterlidir. İşletim sistemi gerisini halleder. İşte bu yüzden bu sistem, programcılar arasında çok popülerdi.

Not
Ralf Brown’un meşhur kesme listesi, MS-DOS programcıları için kutsal kitap niteliğindeydi. Ralf Brown bu listede yüzlerce kesmeyi ve fonksiyonu detaylı şekilde açıklardı. Onu hâlâ arşivlerde bulabilirsiniz.

MS-DOS Bellek Yönetimi: 640 KB Sınırının Teknik Kökeni ve Aşılması

Bu sistemin en çok konuşulan konusu bellek yönetimidir. Özellikle 640 KB sınırı efsane haline gelmiştir. Peki bu sınır neden var? Bu sınırı nasıl aşarsınız? İşte tüm detaylar.

640 KB Sınırı Nedir? A20 Hattı ve Segment:Offset Adresleme

640 KB sınırının kökeni Intel 8086 işlemcisine dayanır. Bu işlemci 20 bitlik adres yoluna sahipti. Yani 2^20 = 1.048.576 bayt (1 MB) adresleyebiliyordu. Ancak IBM PC tasarımında IBM, bunun sadece 640 KB’ını kullanıcı programlarına ayırdı.

IBM, geri kalan 384 KB’ı sistem BIOS’u ve video belleği için ayırdı. Ayrıca genişletme kartları için de yer vardı. Dolayısıyla kullanıcı programları 640 KB ile sınırlı kaldı. Kullanıcılar bu sınıra “conventional memory” (geleneksel bellek) der.

Segment:offset adresleme de bu sınırı karmaşıklaştırıyordu. Programcılar bir segment ve offset değeri belirterek adres hesaplardı. İki 16-bit değer birleşerek 20-bit adres oluştururdu. Bu yöntem, 1 MB’ın üzerine çıkmayı zorlaştırıyordu.

A20 hattı ise ayrı bir konudur. 80286 işlemcisiyle gelen bu hat, 1 MB sınırını aşmayı sağlıyordu. Ancak geriye dönük uyumluluk için varsayılan olarak kapalıydı. Hatta programcılar bu hattı açmak için özel yöntemler kullanırdı.

Conventional, Upper, Extended ve Expanded Memory Türleri

Bellek türlerini karıştırmak çok kolaydır. Aşağıdaki tablo size net bir karşılaştırma sunuyor:

Bellek TürüAdres AralığıMaksimum BoyutKullanım Amacı
Conventional Memory0 – 640 KB640 KBProgramlar ve işletim sistemi
Upper Memory Area (UMA)640 KB – 1 MB384 KBBIOS, video, sürücüler (DEVICEHIGH)
Extended Memory (XMS)1 MB üzeri4 GB’a kadarHIMEM.SYS ile erişim, korumalı mod
Expanded Memory (EMS)UMA içinde pencere32 MB’a kadarEski programlar için simülasyon
High Memory Area (HMA)1 MB – 1 MB + 64 KB64 KBİşletim sistemi çekirdeğini yükleme

Bu tabloyu anlamak, eski sistemlerde bellek optimizasyonu yapmak için şarttır. Örneğin DEVICEHIGH komutu, sürücüleri UMA’ya taşır. Böylece conventional memory’de daha fazla yer açılır. Oyunlar için bu kritik bir avantajdır.

HIMEM.SYS ve EMM386.EXE ile Bellek Optimizasyonu (CONFIG.SYS Örneği)

Bellek optimizasyonu için CONFIG.SYS dosyasını düzenlemeniz gerekir. İşte adım adım bir örnek:

  1. HIMEM.SYS sürücüsünü yükleyin: DEVICE=C:\DOS\HIMEM.SYS satırını ekleyin. Bu, genişletilmiş belleğe erişim sağlar.
  2. EMM386.EXE sürücüsünü yükleyin: DEVICE=C:\DOS\EMM386.EXE NOEMS satırını ekleyin. NOEMS parametresi, genişletilmiş bellek simülasyonunu kapatır. Sadece UMA’yı yönetir.
  3. DOS’u yüksek belleğe taşıyın: DOS=HIGH,UMB satırını ekleyin. Bu, çekirdeği HMA’ya taşır. Ayrıca UMB (Upper Memory Blocks) kullanımını etkinleştirir.
  4. Sürücüleri yüksek belleğe yükleyin: DEVICEHIGH=C:\DOS\CDROM.SYS gibi satırlar kullanın. Bu, sürücüyü UMA’ya yerleştirir.
  5. Sistemi yeniden başlatın ve test edin: MEM /C /P komutuyla bellek kullanımını kontrol edin.
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE NOEMS
DOS=HIGH,UMB
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\CDROM.SYS /D:MSCD001
FILES=40
BUFFERS=30
LASTDRIVE=Z

Bu yapılandırma, tipik bir 1990’lar sistemini temsil eder. FILES=40 satırı, aynı anda açılabilecek dosya sayısını belirler. BUFFERS=30 ise disk önbellek tamponlarını ayarlar. LASTDRIVE=Z ise maksimum sürücü harfini tanımlar.

KRİTİK
EMM386.EXE’i yanlış yapılandırırsanız sistem açılmayabilir. Özellikle /TESTMEM ve /NOEMS parametrelerini dikkatli kullanın. Değişiklik yapmadan önce mutlaka bir başlangıç disketi hazırlayın.

MS-DOS ve Windows: Temel Farklar ve Geçiş Süreci

Microsoft Windows işletim sisteminin logosunu gösteren bir görsel

İki sistem arasındaki farkları anlamak için temel yapılarına bakmak gerekir. Bu sistem bir komut satırı arayüzü (CLI) kullanır. Windows ise grafik kullanıcı arayüzü (GUI) sunar. Ancak farklar bununla sınırlı değildir.

MS-DOS vs Windows: Karşılaştırma Tablosu

Aşağıdaki tablo, iki sistem arasındaki temel farkları özetliyor:

ÖzellikMS-DOSWindows (NT Mimarisi)
Kullanıcı ArayüzüKomut satırı (CLI)Grafik arayüz (GUI)
Çoklu GörevTek görevli (single-tasking)Çoklu görev (preemptive)
Bellek ModeliGerçek mod, 16-bitKorumalı mod, 32/64-bit
Bellek KorumasıYokVar (her süreç izole)
Dosya SistemiFAT12, FAT16NTFS, FAT32, exFAT
Ağ DesteğiHarici sürücülerleYerleşik TCP/IP yığını
Kullanıcı YönetimiTek kullanıcıÇok kullanıcılı
GüvenlikTemel seviyeGelişmiş erişim kontrolü

Bu tabloya bakınca Windows’un neden kaçınılmaz olduğunu anlıyorsunuz. Ancak bu sistemin basitliği bazı işler için hâlâ avantajlı. Örneğin eski donanımlarda çok hızlı çalışır. Üstelik az bellek ve işlemci gücüyle bile iş görür.

MS-DOS’tan Windows’a Geçiş: Windows 95/98/ME ve NT Mimarisi

Geçiş süreci iki aşamada gerçekleşti. Microsoft, ilk aşamada Windows 95/98/ME’yi bu sistemin üzerine kurdu. Yani arka planda hâlâ bu sistem çalışıyordu. Windows, onun üzerinde bir kabuk gibiydi.

Bu yaklaşım bazı avantajlar sağlıyordu. Eski programlar sorunsuz çalışıyordu. Ancak ciddi bir dezavantajı vardı: Sistem kararsızdı. Bir program çökerse tüm Windows çökebilirdi. Çünkü bellek koruması yoktu.

İkinci aşamada Windows NT mimarisi geldi. Bu tamamen farklı bir çekirdekti. Artık bu sistem altta çalışmıyordu. NT, kendi bellek yönetimine ve süreç izolasyonuna sahipti. Bu yüzden çok daha kararlıydı.

Windows XP sürümü ile birlikte NT mimarisi ana akım haline geldi. Ancak eski programlar için bir uyumluluk katmanı vardı: NTVDM (NT Virtual DOS Machine). Bu katman, sanal bir 8086 ortamı oluşturuyordu. Böylece eski yazılımlar çalışabiliyordu.

Gerçek
NTVDM, 32-bit Windows sürümlerinde vardı. Ancak Microsoft 64-bit Windows’ta bu katmanı kaldırdı. Çünkü x86-64 mimarisi, gerçek modu doğrudan desteklemiyor. Bu yüzden 64-bit Windows’ta eski DOS oyunlarını çalıştırmak için emülatör şart.

MS-DOS Komutları: Temel Komut Listesi ve Kullanım Örnekleri

Komutlar bu sistemin kalbidir. Her işlemi komut satırından yaparsınız. Bu bölümde en çok kullanılan komutları ve örneklerini bulacaksınız.

İç Komutlar ve Dış Komutlar Arasındaki Fark

Komutlar iki gruptan oluşur: iç komutlar ve dış komutlar. İç komutlar COMMAND.COM dosyasının içindedir. Onları her zaman kullanabilirsiniz. Dış komutlar ise ayrı .EXE veya .COM dosyalarıdır. Onları diskte bulundurmalısınız.

İç komutlara örnekler: DIR, CD, COPY, DEL, TYPE, ECHO, SET, PATH, VER.

Dış komutlara örnekler: FORMAT, FDISK, XCOPY, DISKCOPY, ATTRIB, FIND, SORT, MORE.

Bu ayrım pratikte önemlidir. Örneğin FORMAT komutunu kullanmak isterseniz, FORMAT.COM dosyasının sistemde olması gerekir. Yoksa “Bad command or file name” hatası alırsınız.

En Sık Kullanılan MS-DOS Komutları Listesi ve Örnekleri

Aşağıda günlük kullanımda en çok işinize yarayacak komutları listeliyorum:

  • DIR — Dizin içeriğini listeler. DIR /P sayfa sayfa gösterir. DIR /W geniş format kullanır.
  • CD — Dizin değiştirir. CD.. bir üst dizine çıkar. CD\ kök dizine döner.
  • MD veya MKDIR — Yeni dizin oluşturur. MD OYUNLAR gibi.
  • RD veya RMDIR — Boş dizini siler. RD OYUNLAR gibi.
  • COPY — Dosya kopyalar. COPY A:\DOSYA.TXT C:\ gibi.
  • DEL — Dosya siler. DEL *.TXT tüm metin dosyalarını siler.
  • REN — Dosya adını değiştirir. REN ESKI.TXT YENI.TXT gibi.
  • TYPE — Dosya içeriğini ekranda gösterir. TYPE OKUBENI.TXT gibi.
  • FORMAT — Diski biçimlendirir. FORMAT A: /S sistem disketi oluşturur.
  • CHKDSK — Disk hatalarını kontrol eder. CHKDSK /F hataları onarır.
  • XCOPY — Alt dizinlerle birlikte kopyalar. XCOPY /S /E C:\VERI D:\YEDEK gibi.
  • ATTRIB — Dosya özniteliklerini değiştirir. ATTRIB +R DOSYA.TXT salt okunur yapar.

Bu komutları öğrenmek, eski sistemlerle çalışmak isteyen herkes için şarttır. Ayrıca modern komut satırlarında da benzer komutlar vardır. Dolayısıyla bu bilgi günümüzde de işinize yarar.

MS-DOS Batch Dosyası Nedir? AUTOEXEC.BAT ve CONFIG.SYS Örnekleri

Batch dosyası, birden fazla komutu sırayla çalıştıran bir metin dosyasıdır. Uzantısı .BAT‘tır. Kullanıcılar tekrar eden görevleri otomatikleştirmek için batch dosyası kullanır. Sistem açılışında çalışan AUTOEXEC.BAT en meşhur örnektir.

İşte basit bir AUTOEXEC.BAT örneği:

@ECHO OFF
PROMPT $P$G
PATH C:\DOS;C:\WINDOWS;C:\TOOLS
SET TEMP=C:\TEMP
DOSKEY
ECHO Sistem hazır!

Bu dosya, komut istemini özelleştirir. Ayrıca PATH ayarını yapar. DOSKEY ile komut geçmişini etkinleştirir. Son olarak kullanıcıya mesaj gösterir.

CONFIG.SYS ise sistem yapılandırma dosyasıdır. Sürücüleri ve bellek ayarlarını burada tanımlarsınız. İşte tipik bir örnek:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS
DOS=HIGH,UMB
DEVICEHIGH=C:\DOS\SETVER.EXE
FILES=30
BUFFERS=20

Bu dosyalar, sistemin nasıl açılacağını belirler. Yanlış yapılandırma sistemin açılmamasına neden olur. Bu yüzden değişiklik yapmadan önce yedek almanızı öneririm.

TAVSİYE
Batch dosyalarını yazarken satır sonlarına dikkat edin. Windows’ta oluşturduğunuz dosyalar CRLF kullanır. Ancak eski sistemler bazen farklı satır sonu formatları bekler. Yani her zaman test ederek ilerleyin.

MS-DOS Hâlâ Kullanılıyor mu? Günümüzde Kullanım Alanları ve Emülatörler

Bu sorunun cevabı net: Evet, insanlar onu hâlâ kullanıyor. Ancak artık orijinal donanımda değil. Emülatörler ve sanal makineler sayesinde yaşıyor. Ayrıca endüstriyel sistemlerde hâlâ aktif olarak çalışıyor.

Emülatör Karşılaştırması: DOSBox-X vs DOSBox Staging vs 86Box vs PCem

Günümüzde en popüler emülatörleri karşılaştıralım:

EmülatörOdak NoktasıDoğrulukKullanım KolaylığıÖne Çıkan Özellik
DOSBox-XMaksimum uyumlulukÇok yüksekOrtaPC-98, FM Towns, Windows 9x desteği
DOSBox StagingModern kullanıcı deneyimiYüksekKolayRoland SC-55 emülasyonu, CRT shader’ları
86BoxDonanım doğruluğuÇok yüksekZorGerçek BIOS ve donanım kartı emülasyonu
PCemEski donanımÇok yüksekZor486 ve Pentium dönemi makineleri

Benim favorim DOSBox-X. Çünkü çok yönlüdür. Üstelik geliştiricileri onu sürekli günceller. Geliştiriciler 2026 Ağustos sürümüne ethnet komutunu ekledi. Bu sayede Wi-Fi üzerinden ağ emülasyonu yapabiliyorsunuz. Ayrıca ekip FAT sürücü performansını ciddi şekilde iyileştirdi.

DOSBox Staging ise daha çok oyun odaklı. 0.83.0 sürümüyle birlikte Roland SC-55 emülasyonu geldi. Bu, 90’ların efsanevi MIDI sesini birebir taklit ediyor. Ayrıca CRT monitör efektleri ve modern ekran uyumluluğu sunuyor.

MS-DOS Windows 11’de Nasıl Çalıştırılır? DOSBox-X Kurulumu (Adım Adım)

Windows 11’de bu sistemi çalıştırmak için DOSBox-X kurabilirsiniz. İşte adım adım rehber:

  1. DOSBox-X’i indirin: Resmî siteden (dosbox-x.com) Windows sürümünü indirin ve kurulum paketini çalıştırın.
  2. Kurulumu tamamlayın: Varsayılan ayarlarla kurun. İsterseniz taşınabilir sürümü de kullanabilirsiniz.
  3. DOSBox-X’i başlatın: Başlat menüsünden çalıştırın. Karşınıza siyah bir komut ekranı gelecek.
  4. Disk imajını bağlayın: IMGMOUNT A: C:\DOSYALAR\DISK.IMG -t floppy komutunu kullanın.
  5. Önyükleme yapın: BOOT A: komutuyla sistemi başlatın. Veya A: yazıp doğrudan disket içeriğine erişin.
  6. Programı çalıştırın: İlgili .EXE dosyasını adını yazarak başlatın.

Eğer elinizde disk imajı yoksa, DOSBox-X’in kendi Z: sürücüsünü kullanabilirsiniz. Bu sürücü, emülatörün dahili komutlarını içerir. Ayrıca boş bir sabit disk oluşturabilirsiniz:

IMGMAKE DISK.IMG -t hd_2gb
IMGMOUNT C: DISK.IMG -t hdd
FORMAT C: /S

Bu komutlar, 2 GB’lık bir sabit disk imajı oluşturur. Ardından biçimlendirip sistem dosyalarını yüklersiniz. Artık gerçek bir sisteminiz var demektir.

DENEYİM
Windows 11’de DOSBox-X kurulumu yaparken şunu fark ettim: Emülatörün varsayılan ayarları çoğu oyun için yeterli. Ancak ses kartı ve MIDI ayarlarını elle yapılandırmanız gerekebilir. Özellikle Roland SC-55 emülasyonu için DOSBox Staging daha başarılı.

MS-DOS FreeDOS Farkı: Açık Kaynak Alternatif

FreeDOS, bu sistemin açık kaynak bir alternatifidir. Microsoft’un kaynak kodunu yayınlamadığı dönemlerde doğdu. Amacı, DOS uyumlu bir işletim sistemi sunmaktı. Geliştiriciler bugün hâlâ onu aktif olarak geliştiriyor.

FreeDOS ile orijinal sistem arasındaki farkları şöyle sıralayabilirim:

  • Lisans: FreeDOS açık kaynaklıdır (GPL). Orijinal sistem ise ticari yazılımdı.
  • Geliştirme: Topluluk FreeDOS’u geliştiriyor. Orijinal sistem ise 2006’da resmi desteği kaybetti.
  • Uyumluluk: FreeDOS, orijinal sistem için yazılmış programların çoğunu çalıştırır. Ancak bazı istisnalar vardır.
  • Modern donanım: FreeDOS, yeni donanımlarda daha iyi çalışır. SATA, USB ve ağ desteği gibi ek özellikler sunar.

Ekip FreeDOS’ın 1.4 sürümünü 2026’da yayınladı. Bu sürümde FDISK iyileştirmeleri ve mTCP ağ araçlarında güncellemeler var. Ayrıca aylık test sürümleri de devam ediyor. Örneğin T2610 sürümü Ekim 2026’da geldi.

MS-DOS Güvenlik Açıkları, Açık Kaynak Mirası ve Türkiye’de Kullanımı

Bu sistemin tasarımı güvenlik açısından sorunludur. Çünkü bellek koruması yoktur. Her program sisteme müdahale edebilir. Bu durum, modern dünyada ciddi riskler oluşturur.

Güvenlik Açıkları: Bellek Koruması Yokluğu ve Modern Riskler

Bu sistemin en büyük güvenlik zafiyeti bellek korumasının olmamasıdır. Programlar birbirlerinin belleğine erişebilir. Kötü niyetli bir yazılım sistemi ele geçirebilir. Ayrıca kendini kalıcı hale getirebilir.

Araştırmacılar 2026 yılında hâlâ güvenlik açıkları keşfediyor. Örneğin araştırmacılar doslib kütüphanesinde CVE-2026-33851 numaralı bir açık buldu. Bu açık, buffer overflow’a neden oluyordu. Saldırganlar bu açığı kullanarak kod çalıştırabilirdi.

Bir başka risk de dosya formatlarından kaynaklanıyor. .COM ve .EXE dosyaları yapısal olarak güvensizdir. Kötü niyetli bir dosya, sistemi ele geçirebilir. Bu yüzden bilinmeyen kaynaklardan yazılım indirmemelisiniz.

KRİTİK
Bu sistemi asla üretim ortamında internete bağlı şekilde çalıştırmayın. Her zaman izole bir ortam kullanın. Sanal makine veya emülatör tercih edin. Aksi takdirde ciddi güvenlik ihlalleriyle karşılaşabilirsiniz.

MS-DOS 4.0 Açık Kaynak Oldu: GitHub Kaynak Kodu İnceleme

Microsoft, Nisan 2024’te sürpriz bir hamle yaptı. MS-DOS 4.0 kaynak kodunu IBM ile birlikte açık kaynak olarak yayınladı. MIT lisansı altında sunduğu bu kod, GitHub’da erişilebilir durumda.

Kaynak kodu incelemek için şu adımları izleyin:

  1. GitHub deposuna gidin: github.com/microsoft/MS-DOS adresini ziyaret edin.
  2. Depoyu klonlayın: git clone https://github.com/microsoft/MS-DOS.git komutunu çalıştırın.
  3. Kaynak dosyaları inceleyin: v4.0/ klasörüne gidin. Burada orijinal kaynak kodları bulacaksınız.
  4. Derleme talimatlarını okuyun: Depodaki README.md dosyası size yol gösterir.
  5. Derleyin: Microsoft C derleyicisi veya uyumlu bir araç zinciri kullanmanız gerekir.

Kaynak kodda IO.SYS, MSDOS.SYS ve COMMAND.COM gibi temel dosyaların kaynakları var. Ayrıca FORMAT, FDISK gibi yardımcı programların kodları da mevcut. Bu, işletim sistemi tarihine ilgi duyanlar için paha biçilmez bir hazine.

Ben bu depoyu incelerken şunu fark ettim: Kod son derece okunabilir ve düzenli. Ekip onu 1980’lerde assembly diliyle yazmıştı. Buna rağmen siz kodu oldukça kolay anlarsınız. Ayrıca yorum satırları da bolca mevcut.

Test Sonucu
GitHub’daki MS-DOS 4.0 deposunu inceledim. Kaynak kodun büyük bir kısmı assembly (asm) dosyalarından oluşuyor. Ayrıca C diliyle yazılmış kısımlar da var. Derleme için MASM veya uyumlu bir assembler gerekiyor.

CP857 Kod Sayfası ve Türkçe Klavye Desteği

Türkiye’de bu sistemin kendine özgü bir yeri vardır. 1980’lerin sonunda ve 1990’larda birçok bilgisayar kullanıcısı bu sistemle tanıştı. İnsanlar özellikle kamu kurumlarında ve bankalarda onu uzun süre kullandı.

Türk kullanıcılar Türkçe karakterler için özel bir kod sayfası kullanıyordu: CP857. Bu kod sayfası, Türkçe’ye özgü ç, ş, ğ, ü, ö, ı karakterlerini destekliyordu. CHCP 857 komutuyla kod sayfasını değiştirebiliyordunuz.

Ayrıca KEYB TR komutuyla Türkçe klavye düzenini etkinleştiriyordunuz. CONFIG.SYS dosyasına COUNTRY=090 satırını ekliyordunuz. Bu, Türkiye’ye özgü tarih ve para birimi formatlarını ayarlıyordu.

Günümüzde Türkiye’de bu sistemle çalışan çok az kurum kaldı. Ancak bazı eski üretim sistemleri hâlâ ayakta. Ayrıca emülatörler sayesinde retro bilgisayar meraklıları bu deneyimi yaşamaya devam ediyor.

MS-DOS vs Linux Terminal, CMD ve PowerShell: Karşılaştırmalı Analiz

Linux terminal komut penceresini gösteren görüntü

Modern komut satırlarıyla bu sistemi karşılaştırmak öğreticidir. Her birinin kendine özgü felsefesi vardır. Bu bölümde farkları net bir şekilde göreceksiniz.

COMMAND.COM ve CMD.EXE Arasındaki Fark: 16-bit vs 32/64-bit

COMMAND.COM, bu sistemin komut işlemcisidir. 16-bit gerçek modda çalışır. Doğrudan donanıma erişebilir. Ancak bellek koruması sunmaz.

CMD.EXE ise Windows NT tabanlı sistemlerin komut işlemcisidir. 32-bit veya 64-bit olarak çalışır. Ayrıca daha gelişmiş özellikler sunar. Örneğin %VARIABLE% sözdizimi ve gelişmiş döngüler destekler.

İkisi arasındaki en büyük fark mimaridir. COMMAND.COM gerçek modda çalışırken, CMD.EXE korumalı modda çalışır. Bu, CMD.EXE‘yi çok daha güvenli ve kararlı kılar.

MS-DOS ve Linux Terminal Komut Farkları: DIR vs ls, COPY vs cp

Temel komutlar benzer işlevlere sahiptir. Ancak isimleri farklıdır. İşte bir karşılaştırma:

İşlemMS-DOSLinux/Unix
Dizin listelemeDIRls
Dosya kopyalamaCOPYcp
Dosya silmeDELrm
Dizin değiştirmeCDcd
Ekran temizlemeCLSclear
Dosya okumaTYPEcat

Görüldüğü üzere kavramlar aynıdır. Sadece komut isimleri değişir. Eğer bu sistemi öğrenirseniz, Linux terminaline geçişiniz çok daha kolay olur. Çünkü temel mantık aynıdır.

MS-DOS ve PowerShell: Boru İşlemleri ve Yönlendirme Farkları

Boru (|) ve yönlendirme (>, >>, <) işlemleri her iki sistemde de vardır. Ancak PowerShell çok daha gelişmiştir. Nesne tabanlı çalışır. Yani metin yerine nesneleri boruya aktarır.

Bu sistemde boru işlemleri metin tabanlıdır. Örneğin DIR | FIND "TXT" komutu, dizin listesinden TXT içeren satırları süzer. PowerShell’de ise Get-ChildItem | Where-Object {$_.Name -like "*.txt"} gibi nesne tabanlı bir yaklaşım kullanırsınız.

Yönlendirme operatörleri de benzerdir. > çıktıyı dosyaya yazar. >> dosyaya ekleme yaparken > dosyayı sıfırdan oluşturur. < ise girdiyi dosyadan okur. Bu operatörler bu sistemde de mevcuttur.

Not
PowerShell’in nesne tabanlı boru mekanizması, bu sistemin metin tabanlı yaklaşımından çok daha güçlüdür. Ancak öğrenme eğrisi de o kadar diktir. Bu sistemin basitliği, öğrenmeyi kolaylaştırır.

Disk İşletim Sistemi İçin İleri Okuma Kaynakları

Bu rehberde anlattıklarımı daha derinlemesine incelemek isterseniz, aşağıdaki kaynaklara göz atmanızı öneririm:

  • Microsoft MS-DOS GitHub Deposu — MS-DOS 1.25, 2.0 ve 4.0’ın orijinal kaynak kodlarını barındırır. İşletim sistemi tarihine ilgi duyanlar için eşsiz bir kaynaktır.
  • FreeDOS Resmî Sitesi — Açık kaynak DOS alternatifinin güncel sürümlerini ve belgelerini sunar. Kurulum rehberleri ve geliştirici dokümantasyonu içerir.
  • DOSBox Staging — Modern DOSBox devamıdır. Detaylı kullanım kılavuzu ve sürüm notlarıyla emülatör dünyasının en güncel kaynaklarından biridir.
  • MS-DOS Wikipedia Sayfası — Kapsamlı sürüm tarihçesi ve teknik detaylar için başvuru kaynağı.

Bu kaynaklar, bu sistemin teknik derinliğini ve tarihsel bağlamını daha iyi anlamanıza yardımcı olacaktır. Özellikle GitHub deposu, kaynak kodu incelemek isteyenler için paha biçilmezdir.

MS-DOS Hakkında SSS

MS-DOS Nedir ve Ne İşe Yarar?

Microsoft Disk Operating System, kısaca disk işletim sistemi demek. Microsoft bu yazılımı IBM PC ve uyumlu makineler için geliştirdi. Kullanıcılar siyah ekranda komut yazarak bilgisayarı yönetirdi.
Örneğin dosya kopyalamak için COPY yazardınız. Klasör açmak için MD tuşlardınız. Sistem 16-bit mimaride çalışıyordu. Intel 8086 ve 8088 işlemcileri hedefliyordu.
Bu yapının temel görevi diskleri yönetmekti. Dosya okuma, yazma, silme işlemlerini o üstlenirdi. Ayrıca belleği ve giriş/çıkış birimlerini denetlerdi.
Açıkçası 1980’lerde sabit disk pahalıydı. Herkes disketlerle çalışırdı. Sistem bu yüzden hafif tasarlandı. Tek görevli yapısı sayesinde az kaynak tüketirdi. Bu sadelik onu dönemin bel kemiği yaptı.

MS-DOS’un Son Sürümü Hangisidir?

Bağımsız ürün olarak son sürüm 6.22’dir. Microsoft onu 1994’te yayınladı. Sonrasında sistem Windows’un içine gömüldü.
Aslında 7.0 ve 7.1 sürümleri ayrı bir kutu olarak hiç satılmadı. Windows 95 ve 98’in altında gizli kaldılar. 8.0 ise Windows ME ile geldi. Gerçek mod desteği orada tamamen kalktı.
Sonuçta koleksiyoncular 6.22’yi son gerçek sürüm olarak görür. Peki 8.0 teknik olarak neden son sayılır? Çünkü o kod Windows ME’nin açılış disketinde yer aldı. Kullanıcılar onu ayrı bir ürün olarak satın alamadı. Bu yüzden bağımsız sürüm tanımı 6.22’ye oturuyor.
Kısa bir not: 4.0 kaynak kodu 2024’te açıldı. Ancak bu durum onu son sürüm yapmaz. Sadece tarihçiler için yeni bir kapı aralar.

MS-DOS’u kim geliştirdi?

Tim Paterson adında genç bir mühendis ilk kodu yazdı. Seattle Computer Products firmasında çalışıyordu. 1980’de 86-DOS adını verdiği sistemi dört ayda bitirdi. Hatta ona QDOS yani ‘Quick and Dirty Operating System’ dedi.
Nitekim Microsoft bu yazılımı 1981’de satın aldı. Anlaşma bedeli sadece 75.000 dolardı. Bill Gates ve Paul Allen sistemi IBM’e lisansladı. Böylece PC-DOS doğdu. Microsoft aynı ürünü diğer üreticilere de sattı.
Paterson’un tasarımı CP/M ile uyumluydu. Bu sayede mevcut yazılımlar kolayca taşındı. Ekip 16-bit işlemcinin gücünü kullanmayı başardı. Küçük bir satın alma tüm PC endüstrisini şekillendirdi.
İşin ilginç tarafı şu: Paterson dört ayda yazdığı kodla yazılım tarihini değiştirdi. Bugün bile bu hikâye girişimcilik derslerinde anlatılır.

MS-DOS Komut İstemi Nedir? Windows’taki CMD ile Aynı mı?

Command Prompt yani cmd.exe, bu eski kabuğun torunudur. Aynı komutların çoğu hâlâ çalışır. Ancak ikisi birebir aynı değildir.
Zira cmd.exe NT çekirdeği üzerinde koşar. Gerçek mod erişimi yoktur. Windows bellek yönetimini üstlenir. Eski DOS ise donanıma doğrudan dokunurdu.
Ancak DIR, CD, COPY, DEL gibi komutlar aynı işi yapar. Toplu iş dosyaları da benzer mantıkla çalışır. BAT uzantılı scriptler hâlâ kullanılır.
Peki farkı nasıl anlarsınız? 16-bit bir programı cmd.exe içinde başlatmayı deneyin. Windows onu reddeder. Çünkü 64-bit sistemler gerçek mod uygulamalarını desteklemez. Bu yüzden eski oyunlar için emülatör şart olur.
Kısaca söyleyeyim: CMD bir kuzen, DOS ise dededir. Aynı kanı taşırlar ama aynı çağda yaşamazlar.

MS-DOS Hâlâ Kullanılıyor mu? Günümüzde Nerelerde Kullanılır?

Doğrudan günlük kullanımda artık yok. Modern donanımlar bu sistemi çalıştırmıyor. Buna karşın izleri her yerde karşımıza çıkıyor.
Gömülü sistemlerde bazı DOS türevleri hâlâ koşar. Endüstriyel makineler, yazarkasa ve POS cihazları buna örnektir. Uçuş simülatörleri ve tıbbi cihazlar da eski DOS çekirdeği kullanır.
Öte yandan retro oyun tutkunları DOSBox ile bu dünyaya geri dönüyor. FreeDOS ise açık kaynak topluluğunun canlı tuttuğu bir alternatif. Hatta bazı BIOS güncelleme araçları hâlâ DOS disketi ister.
Microsoft 2024’te 4.00 kaynak kodunu GitHub’da yayınladı. Araştırmacılar sistemi artık didik didik inceleyebiliyor. Neticede bu yapı bir müze parçası değil. Yaşayan bir teknoloji mirası olarak kalıyor.

MS-DOS FreeDOS Farkı Nedir? Hangisi Kullanılmalı?

FreeDOS açık kaynaklı bir yeniden yazımdır. 1994’ten beri gönüllüler onu geliştiriyor. Orijinal sistem ise Microsoft’un tescilli ürünüydü.
Dolayısıyla lisans farkı en belirgin ayrım. FreeDOS’u ücretsiz indirip dağıtabilirsiniz. Ticari projelerde bile sorunsuz kullanırsınız. Microsoft sürümü için artık resmi destek yok.
Uyumluluk tarafında FreeDOS şaşırtıcı derecede iyi iş çıkarıyor. Çoğu eski oyun ve program onda sorunsuz açılıyor. FAT32 desteği standart gelir. Güncel sürücüler ve araçlar da pakette.
Fakat hangisini seçmeli? Yeni bir proje kuruyorsanız FreeDOS’a yönelin. Retro koleksiyon yapıyorsanız orijinal sürümlerin kopyalarını saklayın. Sanal makinede test için ikisi de iş görür. Günlük pratikte açık kaynak seçenek çok daha rahat.

MS-DOS 640 KB Sınırı Nedir? Neden Aşılamıyordu?

Bu sınır Intel 8088 işlemcisinin adresleme yapısından geliyordu. İşlemci 20 bit adres hattı kullanıyordu. Toplamda 1 MB belleğe erişebiliyordu. BIOS ve ekran kartı üst 384 KB’yi kullanıyordu.
Üstelik kullanıcıya kalan alan yalnızca 640 KB oluyordu. Uygulamalar bu dar alana sığmak zorundaydı. Oyunlar ve programlar sürekli bellek kavgası verirdi.
Peki bu duvarı delmenin yolu yok muydu? Vardı. HIMEM.SYS ve EMM386 sürücüleri genişletilmiş bellek yönetimi sundu. MEMMAKER aracı sürücüleri üst belleğe taşıdı. Böylece 640 KB altında daha fazla boşluk açıldı.
Yine de temel sınır hep orada kaldı. Çünkü gerçek mod mimarisi bunu zorunlu kılıyordu. Korunmuş mod desteği ancak 80286 ile geldi. Windows o kapıyı sonuna kadar kullandı. DOS ise bu duvarla boğuşarak yaşlandı.

MS-DOS PC-DOS Farkı Nedir?

İkisi aslında aynı koddan türedi. IBM kendi makinesinde PC-DOS adını kullandı. Microsoft ise diğer üreticilere MS-DOS diye sattı.
Halbuki bazı sürümlerde ufak farklar vardı. IBM sürümü kendi donanımına özel sürücüler içerirdi. Microsoft versiyonu daha genel kalırdı. Kullanıcılar uyumlu makinelerde Microsoft sürümünü tercih ederdi.
Anlaşmanın en kritik maddesi şuydu: Microsoft sistemi başka firmalara da satabilecekti. IBM bu maddeyi kabul etti. Neticede Compaq gibi üreticiler IBM uyumlu PC’ler çıkardı. Onlar da Microsoft’un ürününü seçti. Böylece fiili standart PC-DOS değil MS-DOS oldu.
Bugün ikisi arasında pratik bir fark kalmadı. Koleksiyon değeri dışında işlevsel ayrım yok. Dosya formatları ve komut setleri tamamen aynı.

MS-DOS Windows 11’de nasıl çalıştırılır?

En kolay yol DOSBox-X veya DOSBox Staging kullanmak. Bu emülatörler modern Windows üzerinde tam DOS ortamı açar. Kurulum birkaç dakika sürer.
Ne var ki 64-bit Windows gerçek mod programlarını reddeder. Bu yüzden doğrudan çalıştırma şansınız yok. Emülatör şart oluyor.
Ardından kurulum adımları şöyle: Önce emülatörü indirin. Bir klasör oluşturun. Oyun veya program dosyalarını oraya kopyalayın. Yapılandırma dosyasında bu klasörü bağlayın. Sonra sistemi başlatın.
Sanal makine de iyi bir seçenek. VirtualBox veya VMware içine FreeDOS kurun. Disket imajlarını bağlayıp eski yazılımları çalıştırın.
Son olarak CPU döngüsünü ayarlamayı unutmayın. Çok yüksek değer oyunları hızlandırır. Çok düşük değer takılmaya yol açar. Orta seviyeden başlayıp deneyerek ayarlayın.

Sonuç: MS-DOS’un Mirası ve Modern Teknolojideki Yeri

MS-DOS, kişisel bilgisayar tarihinin en önemli yapı taşlarından biridir. 1981’den 2000’lere kadar milyonlarca kullanıcının bilgisayarla tanışmasını sağladı. Ayrıca Microsoft’un yazılım devi haline gelmesinin temelini attı.

Bugün artık bu sistemi doğrudan kullanmıyoruz. Ancak mirası her yerde karşımıza çıkıyor. Windows’taki komut istemi onun torunudur. Emülatörler sayesinde eski oyunları hâlâ oynayabiliyorsunuz. FreeDOS gibi projeler onu yaşatmaya devam ediyor.

2024’te kaynak kodunun açık kaynak olması, bu mirası gelecek nesillere taşıyacak. Araştırmacılar ve meraklılar artık bu kodları inceleyebilir. İşletim sistemlerinin nasıl çalıştığını öğrenebilir. Bu, eğitim açısından paha biçilmez bir fırsattır.

Tavsiye
Eski yazılımlarınızı kurtarmak için önce bir disk imajı alın. Sonra DOSBox-X veya DOSBox Staging ile bu imajı çalıştırın. Orijinal donanımı bulmak zorunda değilsiniz. Emülatörler çoğu durumda birebir aynı deneyimi sunar.

Siz de bu tarihi keşfetmek isterseniz, bir DOSBox-X kurun. Eski bir oyunu çalıştırın. Veya GitHub’daki kaynak kodları inceleyin. Emin olun, 40 yıllık bu teknoloji size hâlâ ilham verecek!

Bu Rehberi Keşfettikleri İçin Sana Teşekkür Edecekler!

Sadece bir tıkla sevdiklerine dev bir iyilik yapmaya hazır mısın? Bilgi paylaştıkça devleşir.

İlk yorumu sen paylaş