Apakah Windows masih mengandalkan MS-DOS?

71

Saya baru saja akan memulai kursus OS dan sebagai pengguna Apple saya tidak terlalu akrab dengan rincian yang mendasari OS Windows. Saya bertanya-tanya, apakah MS DOS masih digunakan dengan Windows berjalan di atas atau HANYA Windows digunakan sekarang sebagai OS? Saya agak bingung karena saya membaca di suatu tempat bahwa MS-DOS digunakan untuk mem-boot tetapi Windows memiliki semua kemampuan OS yang ada di dalamnya dan dengan demikian digunakan untuk semua operasi OS lainnya ...

rrazd
sumber
Akhir dari ini diskusi terlihat menarik.
user2284570
Tidak. OS konsumen terakhir yang mengandalkan MS-DOS adalah Windows Me. Windows XP, Vista, 7, dan yang lebih baru semuanya dibangun di atas arsitektur Windows NT.
bwDraco

Jawaban:

140

Ada dua garis keturunan yang berbeda dalam hal Microsoft Windows, dan itu tidak membantu ketika orang menulis sesuatu tentang satu garis keturunan yang telah mereka pelajari tentang yang lain.

  • Itu DOS + Windows garis keturunan terdiri dari DOS + Windows semua versi hingga versi 3.11, DOS + Windows 95, DOS + Windows 98, dan DOS + Windows Millennium Edition. Ini memiliki lapisan Windows di atas DOS. Seluruh buku telah ditulis mengenai masalah pelapisan ini, dan ini merupakan pokok pertikaian, terutama karena banyak orang yang adil sementara di awal hingga pertengahan 1990-an ingin dunia percaya bahwa DOS telah pergi dan Windows sudah sistem operasi.

    Ini adalah proses bootstrap DOS + Windows.

  • Itu Windows NT garis keturunan terdiri dari Windows NT 3.x, Windows NT 4.0, Windows NT 5.0 ("Windows 2000"), Windows NT 5.1 ("Windows XP"), Windows NT 5.2 (beberapa edisi Windows XP dan "Windows Server 2003"), Windows NT 6.0 ("Windows Vista"), dan Windows NT 6.1 ("Windows 7"). Itu tidak berlapis di atas DOS, bekerja dengan cara yang sama sekali berbeda dengan DOS, dan dapat menjalankan aplikasi DOS melalui NT Virtual DOS Machine (NTVDM) yang merupakan mesin virtual itu berjalan di atas Windows NT alih-alih sebaliknya.

    Ini adalah proses bootstrap Windows NT 6.x.

Yang juga tidak membantu adalah ketika orang secara keliru berbicara tentang "DOS prompt" pada Windows NT, seperti yang bahkan terjadi pada jawaban di sini. Terlepas dari kenyataan itu perintah penerjemahlah yang meminta, bukan sistem operasi , ini mengonfigurasi "DOS" dengan "antarmuka pengguna tekstual" dan "juru bahasa perintah", yang keduanya tidak benar-benar identik dengan DOS. DOS adalah keluarga sistem operasi: MS-DOS, PC-DOS, DR-DOS, FreeDOS, OpenDOS, dan lain-lain.

Jika seseorang memiliki jendela command prompt terbuka di Windows NT maka hampir selalu berjalan CMD, yang merupakan interpreter perintah default Microsoft yang disediakan dalam kotak dan yang merupakan antarmuka pengguna tekstual biasa, program Win32. Tidak ada "DOS", atau NTVDM. Hanya ada program Win32 yang berbicara dengan objek konsol Win32-nya. Dan sebenarnya untuk banyak program TUI yang dapat dijalankan di Windows NT, termasuk semua alat di berbagai Kit Sumber Daya Microsoft, ada masih tidak ada bau DOS di manapun dalam gambar, karena ini semua adalah program Win32 biasa yang melakukan Win32 konsol I / O juga.

Ironisnya, mengingat bahwa Windows NT 3.1 dirilis pada tahun 1993, garis keturunan Windows NT sebenarnya Windows-bukan-berbasis-DOS-adalah-sistem-sistem-sistem operasi yang semua orang di pertengahan 1990-an berusaha meyakinkan dunia bahwa DOS + Windows 95 adalah.

Dan, delapan belas tahun kemudian, kami masih berusaha menyampaikan kepada beberapa orang bahwa Windows NT tidak berfungsi seperti DOS dan tidak pernah ada . ☺

Bacaan lebih lanjut

  • Jonathan de Boyne Pollard (2006). Daftar buku untuk pengembang kernel sistem operasi dan penulis driver perangkat . Jawaban yang Sering Diberikan.
  • Mark E. Russinovich, David A. Solomon, Alex Ionescu (2009). Windows Internal (Edisi 5) . Microsoft Press. ISBN 9780735625303.
  • Walter Oney (1996). Pemrograman Sistem untuk Windows 95 . Microsoft Press. ISBN 1 55615 949 8.
  • Matt Pietrek (November 1995). Rahasia Pemrograman Sistem Windows 95 . Buku IDG. ISBN 1-56884-318-6.
  • Andrew Schulman (1994). Windows 95 yang tidak sah . IDG Books Worldwide. ISBN 9781568841694.
  • Matt Pietrek (1993). Windows internal: implementasi lingkungan operasi Windows . Addison-Wesley. ISBN 9780201622171.
  • Andrew Schulman, David Maxey, Matt Pietrek (1992). Windows Tidak Berdokumen: Panduan Pemrogram untuk Fungsi-fungsi Microsoft Windows Api yang Dicadangkan . Addison-Wesley. ISBN 9780201608342.
JdeBP
sumber
11
Itu hanya menjadi lebih baik. Saya masih mengajar orang-orang bahwa Anda dapat Alt-Tab di antara aplikasi. . .
surfasb
2
Bukankah benar bahwa untuk Windows 95+, DOS digunakan sebagai bootloader daripada lapisan sistem operasi. mis. Windows 95+ tidak meminta layanan DOS kecuali selama proses boot.
Winston Ewert
3
@ Winston Ewert, untuk pengetahuan saya program windows masih mengandalkan dos INT 21h di windows 95. Misalnya, fungsi INT 21h 55j untuk inisialisasi dan fungsi INT 21j 4Ch untuk terminasi. Saya tidak bisa menjawab untuk 98 dan ME. Tetapi 95 melakukannya.
artifex
6
Bagaimanapun anda masih tidak dapat menggunakan nama perangkat DOS yang dicadangkan di Windows 7 di bawah explorer.exe!
LawrenceC
5
Orang-orang! Anda tahu cara kerja situs ini. Jika Anda menghendaki mengajukan pertanyaan tentang mode DOS, arti opsi msdos.sys, dan mengapa seseorang tidak dapat menggunakan beberapa nama sebagai nama file di Win32, lalu menggunakan Bertanya hyperlink di bagian atas halaman ini . Mulai, apalagi, dengan membaca pertanyaan dari orang-orang yang sudah memiliki .
JdeBP
22

Selain itu Windows 95 tidak sepenuhnya GUI di atas DOS. Baca lebih lanjut di sini:

http://blogs.msdn.com/b/oldnewthing/archive/2007/12/24/6849530.aspx

Strabbi
sumber
1
Saya ingat ini, seluruh antarmuka VxD dan VMM switcher. Itu adalah cara yang menarik untuk bergerak maju pada OS dan masih memiliki banyak kompatibilitas.
Rich Homolka
Windows 95 memang datang dengan MS-DOS 7, dan orang dapat menggunakan hanya bagian DOS untuk membuat disk boot-saja DOS dan memiliki sesuatu yang terasa seperti edisi MS-DOS 6 yang sedikit rusak (tetapi juga dengan beberapa tambahan baru fitur).
Randolf Richardson
4
Ini adalah jawaban yang paling benar: Windows tidak mengandalkan DOS sejak Windows 95. Dan sebenarnya Windows 3.11 tidak membutuhkan DOS begitu driver 32-bit mengambil alih. Tapi 3.11 tidak datang dengan boot-loader; jadi dibutuhkan DOS untuk memulai.
Ian Boyd
1
Blog itu adalah bacaan yang cukup bagus, terima kasih atas tautannya
crasic
20

Tidak. Semua versi Windows sebelum mereka dengan "kernel NT" lebih seperti GUI di atas DOS. Dengan NT, yang menjadi sangat umum dengan diperkenalkannya Windows XP (dan Windows Vista dan Windows 7 keduanya menggunakan kernel NT juga), kebutuhan untuk menggunakan DOS karena OS yang mendasarinya dihilangkan .

Windows versi 32-bit masih memiliki DOS prompt, yang dapat dijalankan dengan memasukkan command.com dalam menjalankan dialog, dan itu dapat menjalankan sebagian besar program DOS lama. Semua versi Windows memiliki prompt perintah yang dapat digunakan untuk menjalankan file batch dan perintah seperti DOS (yang biasanya aplikasi Windows asli yang dirancang untuk berinteraksi dengan konsol bergaya DOS). 64-bit Windows tidak dapat menjalankan aplikasi DOS karena tidak mendukung proses 16-bit.

Anda mungkin akan lebih baik untuk melihat prompt perintah sebagai lebih seperti aplikasi khusus yang dapat digunakan untuk menjalankan program DOS dan / atau memulai program Windows dari baris perintah.

Catatan: Terminologi "DOS prompt" biasanya digunakan untuk menggambarkan "command prompt" sebelum pengenalan kernel NT. Meskipun banyak orang masih menggunakan istilah "DOS prompt" hari ini (karena mereka menggunakannya untuk menjalankan banyak perintah yang sama, yang awalnya disebut sebagai "perintah DOS," yang biasanya tersedia di lingkungan DOS), istilah "perintah" prompt "secara teknis benar dalam varian NT Windows.

Randolf Richardson
sumber
13
Aplikasi DOS lama (kuno, 16-bit) dijalankan di NTVDM, yang ditiru di dalam subsistem command prompt. NTVDM tidak tersedia di sistem Windows 64-bit, jadi Anda memerlukan emulator pihak ke-3 untuk menjalankan aplikasi DOS 16-bit, seperti DOSBox atau VirtualBox.
afrazier
11
Alasan mengapa NTVDM tidak tersedia di Windows 64-bit adalah karena itu hanya pembungkus tipis yang mengubah CPU ke mode 16-bit sebelum menjalankan kode. Dalam mode 64-bit, CPU hanya dapat beralih ke mode 32-bit sementara untuk menjalankan kode 32-bit; tidak dapat menjalankan kode 16-bit tanpa reboot dingin.
Hello71
2
Catatan untuk semua: Komentar telah dibersihkan dari pos ini. Bagi mereka yang terlibat: Harap tetap sopan dan ingat bahwa diskusi panjang harus dipindahkan ke obrolan bila memungkinkan - komentar berlebihan pada sebuah posting menjadi sangat berisik bagi pengunjung lain.
DMA57361
Karena orang terus berdebat keras tentang posting ini, kami menguncinya untuk saat ini. Komentar telah dihapus, lagi.
nhinkle
@ Hello71 salah. Di Linux misalnya bisa. Dan Anda dapat menjalankan aplikasi 16-bit DOS dan Win 3.1 di Linux 64-bit.
Anixx
5

Lebih sebagai jawaban untuk Randolph, tetapi dia bukan satu-satunya, membingungkan antarmuka baris perintah dan DOS berkali-kali.

Perhatikan, bahwa banyak dari [DOS] dan [MS-DOS] tag menderita kesalahan yang sama: MS-DOS awalnya hanya memiliki textmode, sebuah antarmuka commandline yang disebut command.com + norton komandan bagi banyak dari kita, dan jendela textmode homegrown dengan bingkai, digambar dengan ansi.sys, tetapi dapat dikontrol tidak hanya dengan keyboard, tetapi oleh mouse, tetapi lebih mudah dengan tombol panah dan hotkey juga.

Kemudian windows dibangun di atas DOS (2.0, 3.0, 3.1, 3.11), di mana ikon untuk DOS-Box muncul kembali di dalam windows, sebagai nama untuk antarmuka perintah di dalam windows.

Tetapi dalam Windows-NT dan Windows-95 atau -98 MS-DOS ditinggalkan, tetapi seorang penerjemah perintah, cmd.exe (cmd32.exe) masih ada, dengan sintaks dan kata kunci yang hampir sama atau hampir sama. Tapi ini adalah sebuah program, berjalan di dalam Windows, sebagai penerjemah perintah gaya teks lainnya, seperti BASIC, irb (Ruby), scala-repl, psql (Postgresql), sqlplus (oracle), bc, R, badak, dan sebagainya dan seterusnya, berjalan di beberapa platform.

Memanggil gaya MS-DOS ini menyesatkan, karena DOS atau MS-DOS bukan yang pertama kali muncul. Jauh lebih tua.

Bahkan pada Windows tidak dibatasi untuk menjalankan perintah-DOS - praktik umum kumpulan file menulis adalah, untuk menentukan beberapa parameter, sebelum memulai program Windows. Misalnya mengatur CLASSPATH, JAVA_HOME, parameter java seperti -Xmx dan seterusnya untuk program Java.

Banyak orang berpikir antarmuka baris perintah adalah randa dari masa lalu - yang tidak tahu kekuatan memproses ribuan file dengan beberapa penekanan tombol. Mereka juga tidak tahu wsh dan monad. Tetapi bagi para profesional, juru bahasa perintah di windows hampir sama bermanfaatnya dengan di Unix atau Linux. Ini tidak begitu terkenal, tetapi sangat penting bagi banyak administrator.

Bahkan ada port gnu-toolchain, dengan sh.exe dan sed, awk, bc, tail, rev, cat dan semua itu sebagai aplikasi win32 asli.

Mungkin Anda dapat menjalankan program DOS lama di bawah cmd.exe, tetapi Anda tidak dapat menjalankan program Windows dalam mode DOS, jadi jangan terus memberi tahu orang-orang, bahwa cmd.exe aku s DOS - tidak. Dan ternyata tidak Seperti DOS . Yang Anda maksud adalah interactive command-line program, Sebuah command-line interface.

  • DOS prompt
  • File batch DOS
  • Perintah seperti DOS
  • Konsol bergaya DOS
  • Aplikasi DOS

hampir selalu menyesatkan terminologi . Mungkin cocok untuk seorang amatir, tetapi jika Anda ingin audiens Anda mengerti, apa yang Anda bicarakan, Anda harus bertanya pada diri sendiri: Apakah terbatas pada OS khusus, untuk DOS? Apakah CLI-style paling baik bernama 'DOS-style'? Apakah ini benar secara historis? Apakah audiens Anda mengenal DOS sama sekali? Apakah itu membantu dalam memahami? Apakah program-program itu benar-benar berjalan pada DOS?

Anda perlu ekspresi yang tepat, setajam pisau ahli bedah, untuk menjelaskan hal-hal rumit. Ekspresi yang salah menimbulkan kesan yang salah di otak audiens Anda. Ekspresi ceroboh lebih buruk daripada tidak sama sekali. Hindari mereka. Menggunakan CLI jika antarmuka baris perintah terlalu lama bagi Anda untuk mengetik.

Perbaiki tag yang menyesatkan pada SU, SE, dan sisi lainnya.

user unknown
sumber
Kata baik. Banyak terminologi buruk di sekitar.
Milind R
Di Win95 dan Win98 tidak ada cmd.exe.
Anixx
2

Dalam keluarga Windows NT (NT, 2000, XP, 2003, Vista, 2008, 7) itu adalah DOS independen. Hanya ada emulator DOS untuk kompatibilitas ke belakang.

Namun masih ada beberapa batasan yang merupakan konsekuensi dari kompatibilitas dengan DOS pada awal NT hari. Misalnya Anda tidak dapat membuat file atau direktori bernama "CON" atau "PRN" karena itu adalah nama yang dicadangkan untuk mewakili perangkat di DOS.

Michał Šrajer
sumber
1

Sebenarnya, sekarang Windows tidak lagi menggunakan DOS. Prompt to DOS (atau cmd) diemulasikan melalui Windows XP, Vista atau Seven. Windows melakukan booting dari sumber dayanya sendiri.

Diogo
sumber
9
-1: Salah. Ini bukan to DOS (or cmd). Ada penerjemah perintah, cmd.exe, tapi itu bukan DOS. DOS juga memiliki penerjemah perintah, command.com, yang sangat mirip dalam sintaksis, kata kunci dan penggunaan, tetapi antarmuka perintah hanyalah bagian dari DOS; itu bukan DOS.
user unknown
Yap console ketik header PE adalah bagian dari subsistem Win32 / Win64. Ini bukan 16-bit sama sekali.
user2284570