1 puan yazan GN⁺ 3 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Microsoft, MS-DOS adı verilmeden öncesine uzanan erken dönem DOS materyallerini yayımlayarak, daha önce paylaşılanlardan da eski bir geliştirme aşamasını gösterdi
  • Yayımlanan materyaller arasında 86-DOS 1.00 çekirdek kaynak kodu, PC-DOS 1.00 çekirdeğinin çeşitli geliştirme anlık görüntüleri ve CHKDSK gibi yardımcı araçlar yer alıyor
  • Tim Paterson, Seattle Computer Products'ın Intel 8086 bilgisayar kiti için 86-DOS'u geliştirdi; bu işletim sistemi QDOS olarak da biliniyordu
  • Microsoft, IBM PC 5150 için işletim sistemi sağlamak amacıyla 86-DOS'u lisansladı, Paterson'ı işe aldı ve ardından haklarını satın alarak bunu PC-DOS ve MS-DOS'a genişletti
  • Bu kez yayımlanan kod, dijital bir arşiv kopyası değil; Paterson'ın kağıt çıktılarından elle aktarılıp tarandı ve erken PC işletim sistemi araştırmaları için kaynak yelpazesini genişletti

Yayımlanan erken dönem DOS kaynak kodu

  • Microsoft, “şimdiye kadar yayımladığı DOS kaynak kodları içindeki en eski DOS kaynak kodunu” yayımladı
  • Bu yayımlama, MS-DOS adının verilmesinden önceki koda kadar uzanıyor ve Microsoft'un duyuru yazısında 86-DOS 1.00 çekirdek kaynak kodu, PC-DOS 1.00 çekirdeğinin çeşitli geliştirme anlık görüntüleri ve CHKDSK gibi yardımcı araçlar yer alıyor
  • Daha önce yayımlanmış MS-DOS kaynaklarından daha eski bir döneme ait olduğu için, erken DOS geliştirme sürecini daha başlangıç aşamasından incelemeyi mümkün kılıyor

86-DOS'tan MS-DOS'a uzanan yol

  • Tim Paterson, 86-DOS'u ilk olarak Seattle Computer Products'ın sattığı Intel 8086 tabanlı bilgisayar kiti için geliştirdi
  • 86-DOS daha önce QDOS adıyla biliniyordu ve QDOS, “quick and dirty operating system” ifadesinin kısaltmasıydı
  • Microsoft, henüz geliştirilmekte olan IBM PC 5150 için işletim sistemi sağlamak üzere 86-DOS'u lisansladı ve geliştirmeyi sürdürmesi için Paterson'ı işe aldı
  • Ardından Microsoft, 86-DOS haklarını tamamen satın aldı; IBM'e bunu PC-DOS olarak lisanslarken diğer şirketlere de satma hakkını elinde tuttu
  • Microsoft'un sattığı sürüm MS-DOS olarak adlandırıldı ve 1980'ler ile 1990'larda üçüncü taraf IBM PC uyumlu sistemlerin yaygınlaşmasıyla geniş çapta kullanılan bir işletim sistemi haline geldi

Kağıt çıktılardan geri kazanılan kod

  • Bu kez yayımlanan kaynak kod, çok eski olduğu için dijital biçimde saklanmamıştı
  • Yufeng Gao ve Rich Cini liderliğindeki tarihçi ve koruma uzmanlarından oluşan ekip, “DOS Disassembly Group” adıyla Paterson'ın sağladığı kağıt çıktılardan kodu elle aktardı ve taradı
  • Onlarca yıllık çıktının kalitesi nedeniyle modern OCR yazılımları bunu düzgün şekilde işleyemediği için geri kazanım çalışması daha da zorlu oldu

İlgili yayımlar ve koruma eğilimi

  • Microsoft, 2014'te MS-DOS 1.25 ve 2.0'ı açık kaynak olarak yayımlamış, 2018'de de yeniden yayımlamıştı
  • 2024'te ise sıra dışı bir sürüm olarak tanımlanan MS-DOS 4.0 kaynak kodu da yayımlandı; bu sürümler aynı GitHub deposunda bulunuyor
  • Bu yayımlama, 2020'lerde yeniden keşfedilen ilk 86-DOS materyali değil; iki yıl önce bilinen en eski 86-DOS sürümü yeniden keşfedilip Internet Archive'a yüklendi
  • MS-DOS markası öncesi kod, geliştirme anlık görüntüleri ve yardımcı araçların birlikte yayımlanmasıyla erken dönem PC işletim sistemi tarihini araştırmak için birincil kaynaklar genişlemiş oldu

1 yorum

 
GN⁺ 3 시간 전
Hacker News yorumları
  • Bunu söylemek pek sık olmaz ama teşekkürler Microsoft. Aslında DOS kadar, hatta belki daha da önemlisi, Microsoft’un yaptığı BASIC idi
    Asıl yapmak istedikleri şey BASIC’ti ve DOS, IBM sözleşmesini almalarını sağlayan fırsat oldu. Onlarca yıl boyunca Microsoft, işletim sistemleri ve diğer yazılımları yan iş olarak yapan bir geliştirici araçları şirketine daha yakındı; o BASIC kodunu da açık kaynak yaptı https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...

    • Bir commit’te 49 yıl önce yazdığını ilk kez görüyorum sanırım
    • Commodore 64 kullanırken aslında hep Microsoft kullanıyor olduğumu fark ettiğimi hatırlıyorum
    • İlginç olan, Microsoft BASIC’in kendisinin BASIC-PLUS’tan türemiş olması ve BASIC-PLUS’ın da Dartmouth BASIC’ten gelmesi
      Dartmouth BASIC daha sonra yapısal programlama dili SBASIC’e (Structured BASIC) evrildi, ancak Microsoft BASIC’in popülerliği ironik biçimde SBASIC’in ANSI standardizasyonunu durdurdu
      https://en.wikipedia.org/wiki/Microsoft_BASIC
      Altair BASIC yorumlayıcısı, Paul Allen ve Bill Gates’in PDP-10 mini bilgisayarda bizzat yaptıkları Intel 8080 emülatörü kullanılarak geliştirildi ve Microsoft lehçesi, Gates’in lise yıllarında kullandığı DEC’in BASIC-PLUS’ını örnek alıyordu
      https://en.wikipedia.org/wiki/Dartmouth_BASIC
      Dartmouth BASIC, John G. Kemeny ve Thomas E. Kurtz tarafından yaratılan özgün BASIC’ti ve DTSS ile birlikte lisans öğrencilerine ve üniversitenin tamamına etkileşimli bir programlama ortamı sağlıyordu. 1975’te yapısal programlama kavramlarını içeren SBASIC’i çıkardı; bu da 1980’lerin başındaki ANSI “Standard BASIC” çalışmasının temeli oldu
      Ancak 1980’lerin sonlarında on milyonlarca ev bilgisayarı MS BASIC yorumlayıcısının türevlerini çalıştırdığı için fiili standart haline geldi ve sonunda ANSI SBASIC çabaları durdu. Kemeny ve Kurtz bu fikirleri sürdürerek True BASIC’i yarattı, ancak Şubat 2026 itibarıyla TrueBASIC web sitesi resmen kapanmış durumda
      https://en.wikipedia.org/wiki/True_BASIC
  • O dönemde birkaç bin satır assembly yazarak başarılı bir yazılım şirketi kurabilmek gerçekten kıskandırıcı

    • Doğru ama o assembly, DOS değildi ve kolay bir iş de değildi
      Microsoft, DOS kodunu kendisi yazmadı; satın aldı. Elbette sonrasında geliştirdi ve değiştirdi ama bu, teknik bir başarıdan çok akıllıca ve biraz da şanslı bir iş anlaşmasıydı
      Microsoft’un asıl başlangıcı daha önce Allen, Gates ve Davidoff’un Altair BASIC yorumlayıcısını yapmasıydı ve bu oldukça büyük bir başarıydı
      Hedef bilgisayarı hiç görmemişlerdi, hatta o bilgisayara sahip bile değillerdi. Kullanma izinleri olmayan bir üniversite bilgisayarında 8 hafta çalıştılar
      “Altair, BASIC yorumlayıcısı satın alma olasılığını görüşmek üzere bir toplantı ayarlamıştı, ancak Gates ve Allen’ın ne bir BASIC yorumlayıcısı ne de bir Altair sistemi vardı. Allen, PDP-10 zaman paylaşımlı bilgisayarda çalışan bir Intel 8008 emülatörü yazmıştı; bunu Altair programcı kılavuzuna uyarladı ve yorumlayıcıyı Harvard’daki PDP-10’da geliştirdi ve test etti.”
      Tamamlanan yorumlayıcı, kendi G/Ç sistemi ve satır düzenleyicisiyle birlikte 4KB belleğe sığıyordu ve yorumlanacak program için de yeterince yer bırakıyordu. Demo hazırlığı için bitmiş yorumlayıcıyı Altair’in okuyabileceği delikli kâğıt şeride kaydettiler ve Paul Allen Altair ile buluşmak için Albuquerque’ye uçtu
      İnişten hemen önce Allen, şeridi belleğe yükleyecek bootloader’ı unuttuğunu fark etti ve uçak inmeden önce programı 8080 makine diliyle tamamladı. Programı Altair’e yükleyip sistem belleği boyutunu soran istem ortaya çıktıktan sonra Gates ve Allen, yorumlayıcının gerçek Altair donanımında çalıştığını ancak o zaman anladı
      https://en.wikipedia.org/wiki/Altair_BASIC
    • Adil olmak gerekirse, şirketi yönetecek acımasız bir iş insanı da gerekirdi sanırım. Bugün de büyük ölçüde aynı
    • Bana daha çok tam tersi gibi geliyor. Gerçekten de doğru kişinin doğru yerde doğru zamanda olması gerekiyordu
    • Böyle basit işlemciler ve sistemlerde bile durumun böyle olması şaşırtıcı. Ne descriptor table vardı ne de bellek yönetimi ayarları
      Bugün bir şeye başlamak için bile ana işlemcinin içinde ayrı bir küçük işlemci gerekiyor. O zamanlar altın çağdı
    • Assembly’yi TypeScript/Rust/Go ile değiştirseniz de, fikir iyiyse ve işe yarıyorsa aynı ilke bugün de geçerli
  • O zamanki kaynak kod tartışması burada. 24 gün önce, 79 puan, 19 yorum https://news.ycombinator.com/item?id=47957494
    GitHub clone tartışması da var. 162 puan, 15 yorum https://news.ycombinator.com/item?id=47946813

  • Şaşırtıcı biçimde kâğıt çıktıları tekrar OCR ile okumak zorunda kalmışlar
    Bu kaynak kod, dijital olarak saklanmamış olacak kadar eskiydi ve Yufeng Gao ile Rich Cini’nin liderlik ettiği tarihçi ve korumacılardan oluşan “DOS Disassembly Group”, Paterson’ın verdiği kâğıt çıktılardan kodu zahmetle aktarıp taradı. Onlarca yıllık çıktının kalitesi yüzünden modern OCR yazılımlarının bile zorlandığı söyleniyor

    • Nokta vuruşlu yazıcı fontu OCR için nelerin iyi sonuç verdiğini daha fazla duymak isterim
      Letter quality yazıcı çıktısını %97 civarına kadar OCR’ladığım oldu; sorunlar çoğunlukla O ve X ile ilgiliydi
      Ama günümüz makine öğrenimi tabanlı metin tanıma sistemleri, bilgisayar kodu insan dili gibi görünmüyor diye reddetmeye de yatkın görünüyor
    • Babamın evrakları arasında bulduğum bir listeyi tarayarak, eskiden yazdığım eski yazılımlardan bazılarını kurtarmıştım
    • Kâğıda basılmış metnin herhangi bir dijital depolama ortamından daha uzun yaşadığı bir başka örnek
  • Microsoft’un işletim sistemi işine nasıl girdiği ilginç bir hikâye. IBM, CP/M işletim sistemini istiyordu ama Digital Research, IBM’in NDA’sını imzalamadı ve bu da bilişim tarihinde büyük bir dönüm noktası oldu
    “Triumph of the Nerds” TV metninden alıntıyla:
    https://www.pbs.org/nerds/part2.html
    Jack Sams (IBM), Microsoft’un hem BASIC dili hem de işletim sistemi içeren bir pakete sahip olduğunu sanıyordu, ancak IBM ön araştırmasını düzgün yapmamıştı
    Steve Ballmer’a göre IBM, Microsoft’un SoftCard ürünü üzerinde CP/M sattığını bildiği için yeni kişisel bilgisayar için de CP/M lisansı verebileceğini düşünüyordu. Microsoft’un cevabı, “Biz o işi yapmıyoruz” oldu
    Jack Sams, Bill Gates’in haklara sahip olmadığını açıklarken Gary Kildall’ın hazır olabileceğini söylediğini ve bu yüzden oracıkta Digital Research’ten Gary’yi arayıp IBM ekibine iyi davranmasını istediğini anlatıyor

    • Bu hikâyenin ayrıntılarının neredeyse tamamı, olayın tarafları arasında bile tartışmalı. Ters giden bir toplantı olduğu genel çerçevesi dışında pek az şey kesin görünüyor
  • En erken Windows sürümlerinin kaynak kodunun yayımlanmasına daha ne kadar var, merak ediyorum. Bu kadar eski DOS kaynak kodunun hâlâ mevcut olması bile eski Windows kaynaklarının da korunmuş olabileceğine dair umut veriyor

    • Windows 2000 codebase’inin açık kaynak ya da kaynak erişimi şeklinde çıktığı günü görürsem mutlu ölürüm sanırım
      Gerçi böyle bir ihtimalin en ufak ışığı görünene kadar muhtemelen çoktan ölmüş olurum. Gerçekten çok güzel ve akıcı çalışan bir işletim sistemiydi
    • Disassemble etmek o kadar da zor olmaz gibi
    • Bunun çok da uzak olmayabileceğini düşünüyorum. Microsoft’un bir platform olarak Windows’u neredeyse kapatma sürecine girdiği izlenimini alıyorum
    • Erken dönem Windows 3.11 bile ilham ve öğrenme açısından çok değerli olurdu bence
    • İlgi çekmek için onlarca yıl fazla geç yayımlanmış gibi
  • Yakın tarihli ilgili gönderi: Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - Nisan 2026, 19 yorum

  • Modern bilişimin ilk günleri gerçekten parlaktı. Makineye gerçekten makine olarak davranıyorduk
    Bir 386 makineyi düzgün çalıştırmak için performans, yaratıcılık ve bilim gerekiyordu. Bugünse sadece kütüphaneler, sanallaştırma ve kötü kodun üstüne kötü kodun üstüne kötü kod yığmak var; bu hoşuma gitmiyor

    • Bazen bilgisayar konusundaki zihinsel modelimin hâlâ 48KB RAM’li Apple ][+ olduğunu ve bunun daha iyi kod yazmama yardımcı olduğunu düşünüyorum
    • Düşük seviye kavramları hiç anlamayan programcılar epey uzun süredir çoğaldı. JavaScript ya da Python ile başlayıp aşağıya hiç bakmadılar ve normal saydıkları o canavarca yapıların sınırı yok
      Linus Torvalds da birkaç ay önce yapay zeka kodlama araçlarından söz ederken benzer bir noktaya değinmişti. Onun kuşağı ve benim kuşağım, düşük seviyeden başlayıp tüm stack hakkında sezgiyi koruyabildiği için şanslıydı; ama bugünün çocuklarının böyle bir fırsat yakalaması zor
      Bir çocuğun ilk kodlama deneyimi dâhi gibi görünen bir chatbot olursa, bilgisayarlar, algoritmalar ve veri yapıları hakkında bu düzeyde bir sezgi geliştirmesi kolay görünmüyor
    • DOS ile “harikalık” aynı cümlede ha…
  • Bu en eski kaynak kod olsa da 86-DOS v0.1-C binary bu v1.00 kaynak kodundan daha eski ve v0.34 de bulundu; emülatörde indirip çalıştırabiliyorsunuz :-)
    https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...