2010-05-26 12 views
6

In quale lingua è stato originariamente scritto MSDOS?In quale lingua è stato originariamente scritto MSDOS?

Il Wikipedia Article implica o C, QBasic o Pascal, ma:

  • C è stato inventato a scrivere UNIX, quindi non ritengono che sia stata usata per scrivere MSDOS
  • Pascal sembra popolare per insegnare la programmazione , ma non è molto popolare per scrivere Sistemi operativi in ​​
  • QBasic non sembra essere molto popolare per i sistemi operativi al momento in cui MSDOS è stato sviluppato (o era * BASIC sempre molto popolare per scrivere sistemi operativi in ​​esso?)

Eccetto queste tre lingue, c'è anche Assembly, ma presumo che Microsoft sia già passata dall'Assembly a un linguaggio di livello "superiore"?

Poiché C è stato originariamente inventato per UNIX, non credo che Microsoft stia utilizzando C ... anche se l'API di Microsoft è scritta in C (trovo questo tipo di ossimoro, in realtà).

Qualcuno può illuminarmi su questo argomento?

+4

"C è stato inventato per scrivere UNIX, quindi non credo che sia stato usato per scrivere MSDOS" - di cosa stai parlando? –

+1

@Snake Plissken: leggi la storia di C. –

+0

Con "API Microsoft", presumo tu intenda l'API di Windows, che è stata scritta in C. L'API MS-DOS era molto diversa. Caricheresti i registri del processore con i tuoi parametri ed eseguirai un interrupt software per effettuare effettivamente la chiamata. – Ferruccio

risposta

9

http://answers.google.com/answers/threadview?id=197874

Dal CP/M è stato scritto in FORTRAN e QDOS si basava su CP/M, vuol dire che QDOS e MS-DOS sono stati scritti in FORTRAN ? Secondo il nostro prossimo articolo, scritto da Tim Patterson se stesso, il linguaggio assembly utilizzato da Seattle Computer Products non era FORTRAN, ma è stato costruito in-house dal è stata l'unica cosa disponibile per loro in quel momento.

"L'ultimo requisito di progettazione è stata che MS-DOS essere scritto in assembly lingua. Anche se questa caratteristica vuol contribuire a soddisfare il bisogno di velocità e l'efficienza, la ragione per l'inclusione è molto più semplice. L'unica 8086 strumenti software di sviluppo disponibili a Seattle Computer a quel tempo erano un assemblatore che correva sul Z80 sotto CP/M e un monitor/debugger che si adattano in un'EPROM 2K byte (cancellabile programmabile memoria di sola lettura) Entrambi gli strumenti sono stati sviluppati in casa. "

"uno sguardo all'interno di MS-DOS" http://www.patersontech.com/Dos/Byte/InsideDos.htm

+8

CP/M non è stato più scritto in FORTRAN di quanto non sia stato scritto in cinese. E FORTRAN non è un linguaggio assembly. Non ami solo i cumuli di merda che puoi trovare su internet se guardi. –

+0

E questo è esattamente ciò che dice la citazione: MS-DOS è stato scritto in assembly, con una toolchain sviluppata internamente che lavora sulla Z80 sotto CP/M – tonio

+0

Quindi ... MSDOS è stato scritto in FORTRAN? Ho paura di aver frainteso che in qualche modo ... :( Ma poi di nuovo sarebbe stato sciocco scrivere MSDOS in assembly se la Macchina su cui MSDOS è stato sviluppato è stata scritta in una lingua superiore –

9

Beh, MS-DOS era originariamente un 86-DOS rinominato e 86-DOS è stato scritto in assembly se non mi sbaglio, in modo da rendere ASM anche la lingua originale per MS-DOS.

+0

In realtà, in origine era chiamato QDOS (sistema operativo rapido e sporco) ed era scritto in linguaggio assembly. – Ferruccio

+1

QDOS era il nome originale. 86-DOS era il nome commerciale. –

0

Unix pre-date MS-DOS, in modo che non è un impedimento per poter essere programmato it C. Ma mi piacerebbe andare per il montaggio per la maggior parte delle parti almeno ...

+0

Vero, soprattutto dal momento che il WINAPI è scritto anche in C. forse era solo lo stereotipo comune di "Unix/Linux vs.Windows "cosa che mi ha portato a credere che Microsoft abbia semplicemente cercato di evitare qualcosa in remoto UNIxish: P –

+1

@nebukadnezzar Microsoft utilizzato come fornitore UNIX - vedi http://en.wikipedia.org/wiki/Xenix –

+1

E Windows è stato sviluppato in origine su Xenix. –

3

Come indicato sul http://www.patersontech.com/Dos/Byte/InsideDos.htm

"L'ultimo requisito di progettazione è che MS-DOS essere scritta in linguaggio assembly. "

(Si noti che sacco di appllications, non solo operativo parti del sistema, sono stati scritti in assembly allora.)

0

Se cercate MS-DOS su alcuni siti web, è possibile trovare la versione 6 con il codice sorgente incluso. È stato scritto in Assembler e non c'è affatto codice C. Tutte le utility, il kernel e anche il programma di installazione sono stati scritti in assembler.

E per quanto riguarda Windows, ha un sacco di linguaggio di assemblaggio su di esso ma alcune parti dove si scrive in C e poi in C++.

Problemi correlati