
DOS ( est une famille de systèmes d'exploitation compatibles IBM PC . Elle comprend principalement IBM PC DOS MS-DOS de Microsoft , tous deux lancés en 1981. Plus tard, d'autres systèmes compatibles, proposés par différents fabricants, ont vu le jour : DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993) et FreeDOS (1994). MS-DOS a dominé le marché des ordinateurs compatibles IBM PC entre 1981 et 1995.
Bien que le nom soit aujourd'hui spécifiquement associé à MS-DOS et aux systèmes d'exploitation compatibles, DOS est un acronyme indépendant de toute plateforme pour « disk operating system » , dont l'utilisation est antérieure à l'IBM PC. Des dizaines d'autres systèmes d'exploitation utilisent également cet acronyme, à commencer par le système d'exploitation pour ordinateur central DOS/360 de 1966. Parmi les autres exemples, citons Apple DOS , Apple ProDOS , Atari DOS , Commodore DOS , TRSDOS et AmigaDOS .
IBM PC DOS (et MS-DOS , vendu séparément ) ainsi que son prédécesseur, 86-DOS , fonctionnaient sur des processeurs Intel 8086 16 bits . Il a été développé pour être similaire à CP/M de Digital Research — le système d'exploitation disque dominant pour les micro-ordinateurs 8 bits Intel 8080 et Zilog Z80 — afin de simplifier le portage des applications CP/M vers MS-DOS.

Lors du lancement de l' IBM PC , équipé du microprocesseur Intel 8088 , IBM avait besoin d'un système d'exploitation. Le président John Opel s'entretint avec Mary Maxwell Gates , membre du comité exécutif du conseil national de United Way, qui le mit en relation avec son fils Bill Gates pour obtenir de l'aide concernant une version de CP/M compatible avec le 8088. IBM fut alors orientée vers Digital Research, et une réunion fut organisée. Cependant, les négociations initiales concernant l'utilisation de CP/M échouèrent : Digital Research souhaitait vendre CP/M sous forme de redevances, tandis qu'IBM recherchait une licence unique et souhaitait le renommer « PC DOS ». Le fondateur de Digital Research, Gary Kildall , refusa, et IBM se retira.

Seattle Computer Products . Le programmeur Tim Paterson y avait développé une variante de CP/M-80 , conçue comme produit interne pour tester la nouvelle carte processeur 16 bits Intel 8086 de SCP , destinée au bus S-100 . Le système fut initialement nommé QDOS (Quick and Dirty Operating System), avant d'être commercialisé sous le nom de 86-DOS . Microsoft acquit 86-DOS, pour la somme, semble-t-il, de Z-DOS pour Zenith Data Systems . Par la suite, Microsoft imposa l'utilisation du nom MS-DOS, à l'exception de la variante IBM. IBM continua de développer sa propre version, PC-DOS , pour l'IBM PC. Digital Research s'aperçut qu'IBM commercialisait un système d'exploitation similaire à CP/M (sous le même nom qu'IBM imposait à CP/M) et menaça d'intenter une action en justice. IBM répondit en proposant un accord : les utilisateurs de PC auraient le choix entre PC DOS et CP/M-86 , la version 8086 de Kildall. Comparé à PC DOS, CP/M coûtait fabricants d'équipement d'origine (OEM). La principale raison était que les premiers PC n'étaient pas tous entièrement compatibles avec les standards IBM PC . DOS était structuré de manière à séparer le code des pilotes de périphériques spécifiques au système ( IO.SYS ) et le noyau DOS ( MSDOS.SYS ). Microsoft fournissait un kit d'adaptation OEM (OAK) permettant aux OEM de personnaliser le code des pilotes de périphériques pour leur système. Au début des années 1990, la plupart des PC étant conformes aux standards IBM PC, Microsoft a commencé à commercialiser une version grand public de MS-DOS, à partir de la version 5.0.
Au milieu des années 1980, Microsoft a développé une version multitâche de DOS . Cette version est généralement appelée « MS-DOS 4 européen » car elle a été développée pour ICL et distribuée sous licence à plusieurs entreprises européennes. Elle prend en charge le multitâche préemptif, la mémoire partagée, les services d'assistance aux périphériques et les exécutables au format NE ( New Executable ). Aucune de ces fonctionnalités n'a été utilisée dans les versions ultérieures de DOS, mais elles ont servi de base au noyau OS/2 1.0 . Cette version de DOS est différente de PC DOS 4.0, largement diffusé, développé par IBM et basé sur DOS 3.3.

Digital Research a tenté de reconquérir le marché perdu avec CP/M-86, d'abord avec Concurrent DOS , FlexOS et DOS Plus (compatibles avec les logiciels MS-DOS et CP/M-86), puis avec Multiuser DOS (compatible avec les logiciels MS-DOS et CP/M-86) et DR DOS (compatible avec les logiciels MS-DOS). Racheté par Novell , DR DOS est devenu PalmDOS puis Novell DOS ; il a ensuite été intégré à Caldera (sous les noms OpenDOS et DR-DOS 7.02 / 7.03 ), Lineo et DeviceLogics .
Gordon Letwin écrivait en 1995 : « Lorsque nous l’avons conçu, DOS était un produit éphémère destiné à satisfaire IBM et à l’inciter à acheter nos langages. » Microsoft prévoyait qu’il s’agirait d’une solution transitoire avant l’arrivée de Xenix . L’entreprise envisageait d’améliorer MS-DOS au fil du temps afin qu’il soit quasiment indiscernable de Xenix (ou XEDOS) , une version monoposte fonctionnant également sur les systèmes Motorola 68000 , Zilog Z-8000 et LSI-11 . Ces systèmes seraient compatibles avec Xenix, que BYTE décrivait en 1983 comme « le MS-DOS multiposte du futur ».

IBM, cependant, ne souhaitait pas remplacer DOS. Après le lancement d'Unix par AT&T , Microsoft et IBM commencèrent à développer OS/2 comme alternative. Les deux entreprises connurent par la suite une série de désaccords concernant les deux systèmes d'exploitation successeurs de DOS : OS/2 et Windows. Elles séparèrent alors le développement de leurs systèmes DOS. La dernière version commerciale de MS-DOS fut MS-DOS 6.22 ; après cela, MS-DOS fut intégré à Windows 95, 98 et Me. La dernière version commerciale de PC- DOS fut PC- DOS 2000 (également appelée PC- DOS 7 révision 1), bien qu'IBM ait par la suite développé PC- DOS 7.10 pour les OEM et son usage interne.
Le projet FreeDOS a débuté le 26 juin 1994, lorsque Microsoft a annoncé l'arrêt de la vente et du support de MS-DOS. Jim Hall a alors publié un manifeste proposant le développement d'un système d'exploitation libre. En quelques semaines, d'autres programmeurs, dont Pat Villani et Tim Norman, ont rejoint le projet. Un noyau, l'interpréteur de commandes COMMAND.COM (shell) et les utilitaires de base ont été créés en mettant en commun le code qu'ils avaient écrit ou trouvé. Plusieurs distributions préliminaires officielles de FreeDOS ont été publiées avant la sortie de la version 1.0 le 3 septembre 2006. Distribué sous la licence publique générale GNU (GPL), FreeDOS est gratuit et ne requiert ni frais de licence ni redevances. Windows fonctionnaient sous MS-DOS. Au début des années 1990, l'interface graphique de Windows était largement utilisée sur les nouveaux systèmes. En 1995, Windows 95 fut distribué comme système d'exploitation autonome ne nécessitant pas de licence DOS supplémentaire. Windows 95 (ainsi que Windows 98 et ME, qui lui ont succédé) devint le noyau du système d'exploitation par défaut , bien que le composant MS-DOS soit conservé pour des raisons de compatibilité. Avec Windows 95 et 98, mais pas avec ME, le composant MS-DOS pouvait être exécuté sans démarrer Windows. DOS n'étant plus indispensable à l'utilisation de Windows, la plupart des utilisateurs cessèrent de l'utiliser directement.
utilisation continue

FreeDOS , ROM-DOS , PTS-DOS , RxDOS et REAL/32 . Certains fabricants d'ordinateurs, dont Dell et HP , vendent des ordinateurs avec FreeDOS comme système d'exploitation OEM , et certains développeurs et ingénieurs informatiques l'utilisent encore car il est proche du matériel.les systèmes embarqués . Les dernières versions de DR-DOS sont toujours destinées à ce marché. ROM-DOS a été utilisé comme système d'exploitation pour le Canon PowerShot Pro 70.
Émulation
Sous Linux , il est possible d'exécuter DOSEMU , une machine virtuelle native Linux permettant de lancer des programmes DOS à une vitesse quasi native. Il existe d'autres émulateurs pour exécuter DOS sur différentes versions d'Unix et de Microsoft Windows , tels que DOSBox . DOSBox est conçu pour les jeux rétro (par exemple, King's Quest , Doom ) sur les systèmes d'exploitation modernes. DOSBox intègre sa propre implémentation de DOS, étroitement liée à l'émulateur et incompatible avec le matériel physique. Cependant, il peut démarrer MS-DOS, FreeDOS ou d'autres systèmes d'exploitation DOS si nécessaire.
Conception
Les systèmes d'exploitation MS-DOS et IBM PC DOS sont généralement associés aux machines utilisant des processeurs Intel x86 ou compatibles , principalement les compatibles IBM PC . Des versions de MS-DOS spécifiques à la machine ont été produites pour de nombreuses machines x86 non compatibles IBM, allant du simple changement d'appellation de la distribution Microsoft sous le nom du fabricant, à des versions conçues spécifiquement pour fonctionner avec du matériel non compatible IBM PC. Tant que les applications utilisaient les API DOS plutôt qu'un accès direct au matériel, elles pouvaient s'exécuter aussi bien sur les machines compatibles IBM PC que sur les machines incompatibles. Le noyau original de FreeDOS , DOS-C , était dérivé de DOS/NT pour la série de processeurs Motorola 68000 au début des années 1990. Bien que ces systèmes ressemblaient vaguement à l'architecture DOS, les applications n'étaient pas compatibles au niveau binaire en raison de l'incompatibilité des jeux d'instructions de ces processeurs non x86. Cependant, les applications écrites dans des langages de haut niveau pouvaient être facilement portées.
DOS est un système d'exploitation mono-utilisateur et mono-tâche doté de fonctions noyau non réentrantes : un seul programme à la fois peut les utiliser, et DOS lui-même ne permet pas l'exécution simultanée de plusieurs programmes. Le noyau DOS fournit diverses fonctions aux programmes (une interface de programmation d'applications ), telles que les entrées/sorties de caractères, la gestion des fichiers, la gestion de la mémoire, le chargement et l'arrêt des programmes.
DOS permet l'exécution de scripts shell via des fichiers batch (avec l' extension .bat.BAT ). Chaque ligne d'un fichier batch est interprétée comme un programme à exécuter. Les fichiers batch peuvent également utiliser des commandes internes, telles que GOTO et des instructions conditionnelles .
Le système d'exploitation offre une interface de programmation (API) permettant le développement d'applications en mode texte, mais pas l'accès à la plupart des périphériques , tels que les cartes graphiques , les imprimantes ou les souris . Les programmeurs devaient donc accéder directement au matériel, ce qui impliquait généralement que chaque application disposait de ses propres pilotes pour chaque périphérique. Les fabricants de matériel publiaient des spécifications afin de garantir la disponibilité des pilotes pour les applications courantes.
séquence de démarrage
- Sur les ordinateurs compatibles PC, le chargeur d'amorçage , appelé secteur de démarrage principal (MBR ), se trouve au début du secteur d'amorçage , le premier secteur de la première piste ( piste zéro ) du disque d'amorçage. Le BIOS ROM charge ce secteur en mémoire à l'adresse 0000h : 7C00h et vérifie généralement la présence de la signature « 55h AAh » à l'offset +1FEh . Si le secteur n'est pas valide, le BIOS ROM tente d'accéder au disque physique suivant ; sinon, il accède directement à l'adresse de chargement après avoir initialisé certains registres.enregistrement de démarrage principal (MBR), comme sur les supports partitionnés, il se repositionne à l' adresse mémoire 0000h : 0600h . Sinon, cette étape est ignorée. Le code du MBR analyse la table des partitions, située dans ce secteur, à la recherche d'une partition active (les MBR modernes vérifient si le bit 7 est positionné à l'offset +1BEh+10h*n , tandis que les anciens MBR vérifient simplement la valeur 80h ). Si une partition est trouvée, le premier secteur de la partition correspondante, contenant l' enregistrement de démarrage du volume (VBR), est chargé en mémoire à l'adresse 0000h : 7C00h, de la même manière que s'il avait été chargé par le BIOS ROM. Le MBR transmet ensuite l'exécution à la portion chargée après avoir initialisé certains registres.MSDOS.SYS sur les systèmes MS-DOS, en mémoire. Sous Windows 9x, le code d'initialisation du système DOS, les pilotes de périphériques intégrés et le noyau DOS sont regroupés dans un seul fichier IO.SYS, tandis que MSDOS.SYS sert de fichier de configuration texte.
- Le fichier CONFIG.SYS est ensuite lu pour analyser les paramètres de configuration. La variable SHELL spécifie l'emplacement de l' interpréteur de commandes , qui est par défaut COMMAND.COM .
- Le shell est chargé et exécuté.
- Le fichier batch de démarrage AUTOEXEC.BAT est ensuite exécuté par l'interpréteur de commandes.
Les fichiers système DOS chargés par le secteur d'amorçage doivent être contigus et constituer les deux premières entrées du répertoire . Par conséquent, la suppression et l'ajout de ce fichier risquent de rendre le support non amorçable. Il est toutefois possible de remplacer l'interpréteur de commandes à volonté, une méthode permettant d'accélérer le lancement d'applications dédiées. Cette limitation ne s'applique pas aux versions de DR- DOS, où les fichiers système peuvent être situés n'importe où dans le répertoire racine et n'ont pas besoin d'être contigus. Ainsi, les fichiers système peuvent être simplement copiés sur un disque, à condition que le secteur d'amorçage soit déjà compatible DR-DOS.
Sous PC DOS et DR DOS 5.0 et versions ultérieures, les fichiers système DOS sont nommés IBMBIO.COM au lieu de IO.SYS et IBMDOS.COM au lieu de MSDOS.SYS . Les anciennes versions de DR DOS utilisaient DRBIOS.SYS et DRBDOS.SYS.
À partir de MS-DOS 7.0, les fichiers système binaires IO.SYS et MSDOS.SYS ont été fusionnés en un seul fichier IO.SYS, tandis que MSDOS.SYS est devenu un fichier de configuration similaire à CONFIG.SYS et AUTOEXEC.BAT. Si la directive les noms de fichiers au format 8.3 : 8 caractères pour le nom et 3 pour l’extension. À partir de DOS 2, la gestion des répertoires hiérarchiques est prise en charge. Chaque nom de répertoire respecte également le format 8.3, mais la longueur maximale du chemin est de 64 caractères en raison des tables CDS (Current Directory Structure) internes gérées par DOS. En incluant le nom du lecteur, la longueur maximale d’un nom de fichier complet pris en charge par DOS est de 80 caractères, au format lecteur:\chemin om_de_fichier.extension, suivi d’un octet nul.
DOS utilise le système de fichiers FAT ( File Allocation Table ). Initialement, il s'agissait du FAT12 , qui prenait en charge jusqu'à 4 078 clusters par disque. DOS 3.0 a introduit la prise en charge du FAT16 , utilisant des entrées d'allocation sur 16 bits et supportant jusqu'à 65 518 clusters par disque. Compaq MS-DOS 3.31 a ajouté la prise en charge du FAT16B , supprimant la limite de 32 Mio et pouvant gérer jusqu'à 512 Mio. Enfin, MS-DOS 7.1 (le composant DOS de Windows 9x) a introduit la prise en charge du FAT32 , utilisant des entrées d'allocation sur 32 bits et pouvant gérer des disques durs jusqu'à 137 Go (127 Gio) et plus .
À partir de DOS 3.1, la prise en charge de la redirection de fichiers a été ajoutée. Initialement utilisée pour la mise en réseau, elle a ensuite servi à la gestion des lecteurs de CD-ROM avec MSCDEX . IBM PC DOS 4.0 disposait également d'une prise en charge préliminaire du système de fichiers installable (IFS), mais celle-ci fut abandonnée et supprimée dans DOS 5.0. DOS prenait également en charge les périphériques de stockage par blocs (« lecteurs de disque ») chargés depuis CONFIG.SYS et utilisables au sein du système de fichiers DOS pour la gestion des périphériques réseau.
Schéma de dénomination des allées
Les applications DOS utilisent directement les lettres de lecteur (contrairement au répertoire /dev des systèmes de type Unix ). Par conséquent, l'ajout de matériel nécessitant une lettre de lecteur peut perturber leur fonctionnement. Par exemple, si un nouveau disque dur possède une partition principale alors qu'un disque dur existant contient des lecteurs logiques dans des partitions étendues, le nouveau disque se verra attribuer une lettre précédemment attribuée à l'un des lecteurs logiques de ces partitions étendues. De plus, même l'ajout d'un disque dur ne contenant que des lecteurs logiques dans une partition étendue perturberait l'attribution des lettres des disques RAM et des lecteurs optiques. Ce problème a persisté dans les versions 9x de Windows, basées sur DOS, jusqu'à leur remplacement par les versions basées sur la gamme NT, qui conservent les lettres des lecteurs existants jusqu'à ce que l'utilisateur les modifie. Sous DOS, il est possible de contourner ce problème en définissant un lecteur SUBST et en installant le programme DOS sur ce lecteur logique. L'attribution de ce lecteur est ensuite modifiée par un traitement par lots au démarrage de l'application. Sous certaines versions de Concurrent DOS , ainsi que sous Multiuser DOS , System Manager et REAL/32 , la lettre de lecteur réservée L: sera automatiquement attribuée au lecteur de chargement correspondant chaque fois qu'une application démarre.
Noms de périphériques réservés
Il existe des noms de périphériques réservés sous DOS qui ne peuvent pas être utilisés comme noms de fichiers, quelle que soit leur extension, car ils sont occupés par des périphériques de caractères intégrés. Ces restrictions affectent également plusieurs versions de Windows, provoquant parfois des plantages et des failles de sécurité.
Les noms réservés sont :
COM1viaCOM9( ports de communication série )LPT1viaLPT9( Port parallèle pour imprimantes ligne )CON(« console » ; représente le clavier dans le flux d'entrée et l'affichage dans le flux de sortie)AUX(« auxiliaire » ; représente le premier port COM connecté)PRN(« imprimante » ; représente le premier port LPT connecté)NUL( périphérique nul ) ajouté dans 86-DOS 1.10 et PC DOS 1.0
Sous Windows 95 et Windows 98 , la saisie de l'emplacement d'un nom réservé (tel que CON/CON, AUX/AUX ou PRN/PRN) provoque un plantage du système d'exploitation. Microsoft a publié un correctif de sécurité pour ce problème. Sous Windows XP , le nom du fichier ou du dossier utilisant un nom réservé est automatiquement rétabli à son nom précédent, sans notification ni message d'erreur. Sous Windows Vista et versions ultérieures, toute tentative d'utilisation d'un nom réservé pour un fichier ou un dossier génère le message d'erreur suivant : « Le nom de périphérique spécifié n'est pas valide. »
Ces noms (à l'exception de NUL) ont continué d'être pris en charge dans toutes les versions de MS-DOS, PC- DOS et DR-DOS depuis lors. LST était également disponible dans certaines versions OEM de MS-DOS 1.25, tandis que d'autres versions OEM de MS-DOS 1.25 utilisaient déjà LPT1(première imprimante ligne ) et COM1(premier périphérique de communication série ), introduits avec PC- DOS . Outre LPT1et LPT2ainsi COM1que , la version OEM de MS-DOS 2.11COM3 de Hewlett-Packard pour le HP Portable Plus prenait également en charge comme alias pour et comme alias pour ; elle prenait également en charge pour les traceurs . Par ailleurs, , , et le périphérique d'horloge (encore nommé dans certaines versions de MS-DOS 2.11 ) ont été introduits avec DOS 2.0, et et ont été ajoutés avec DOS 3.3. Seuls les systèmes MS -DOS 4 et DR-DOS 5.0 et versions ultérieures , ainsi que Multiuser DOS, prennent en charge un périphérique de détection dynamique d'inactivité afin d'économiser de l'énergie et d'améliorer le multitâche. est un pilote intégré optionnel pour une imprimante à quatre lignes, prise en charge dans certaines versions de DR-DOS depuis la version 7.02. constitue le gestionnaire PnP en mode réel dans MS-DOS 7.0 à 8.0.LSTLPT282164ACOM2PLTCOM2LPT2LPT3CLOCK$CLOCKCOM3COM4KEYBD$SCREEN$$IDLE$LPT4CONFIG$
AUXLes valeurs par défaut sont généralement COM1et ( ), mais ces valeurs peuvent être modifiées dans certaines versions de DOS pour pointer vers d'autres périphériques série ou parallèle. Le périphérique (présent uniquement dans certaines versions OEM HP de MS-DOS) était également reconfigurable. PRNLPT1LSTPLT
Les noms de fichiers se terminant par deux points ( :) indiquent généralement des noms de périphériques, mais les deux points ne font pas partie du nom des pilotes de périphériques intégrés. Dans certains cas, il n'est pas nécessaire de saisir les deux points, par exemple :kibioctets (Kio) comme quantité maximale de mémoire disponible pour les programmes et ont réservé les 384 Kio restants à la mémoire vidéo, à la mémoire morte des adaptateurs de certains périphériques vidéo et réseau, ainsi qu'au BIOS du système. Dès 1985, certaines applications DOS atteignaient la limite de mémoire, tandis qu'une grande partie de la mémoire réservée restait inutilisée, selon les spécifications de la machine.
Des spécifications ont été développées pour permettre l'accès à de la mémoire supplémentaire. La première, la spécification de mémoire étendue (EMS), permettait d'accéder à la mémoire d'une carte d'extension via une page de 64 Kio dans la zone mémoire supérieure réservée. Les systèmes 80386 et ultérieurs pouvaient utiliser un gestionnaire de mémoire en mode virtuel 8086 (V86), tel que EMM386, pour créer de la mémoire étendue à partir de la mémoire étendue existante, sans carte d'extension. La seconde spécification, la spécification de mémoire étendue (XMS), était destinée aux systèmes 80286 et ultérieurs. Elle offrait la possibilité de copier des données depuis et vers la mémoire étendue, d'accéder à la zone mémoire haute de 65 520 octets située directement au-dessus du premier mégaoctet de mémoire, ainsi qu'à la zone de blocs mémoire supérieurs . La prise en charge de XMS était généralement assurée par HIMEM.SYS ou par un gestionnaire de mémoire en mode V86, tel que QEMM ou 386MAX , qui prenait également en charge EMS.
À partir de DOS 5, DOS pouvait exploiter directement l'HMA en y chargeant son code noyau et ses tampons disque via l' DOS=HIGHinstruction dans CONFIG.SYS. DOS 5+ permettait également l'utilisation des blocs de mémoire supérieurs disponibles via l' DOS=UMBinstruction dans CONFIG.SYS.
DOS sous OS/2 et Windows
interface utilisateur
Les systèmes DOS utilisent une interface en ligne de commande . Un programme est lancé en saisissant son nom de fichier à l'invite de commande. Les systèmes DOS incluent des programmes utilitaires et fournissent des commandes internes qui ne correspondent pas à des programmes.
Afin de proposer un environnement plus convivial, de nombreux éditeurs de logiciels ont développé des programmes de gestion de fichiers dotés d' interfaces WIMP . Microsoft Windows en est un exemple notable : Windows 9x est ainsi devenu un chargeur de programmes autonome, remplaçant DOS comme chargeur de programmes compatible PC le plus utilisé. Parmi les programmes à interface texte, on peut citer Norton Commander , DOS Navigator , Volkov Commander , Quarterdesk DESQview et Sidekick . Les programmes à interface graphique incluaient GEM de Digital Research (initialement conçu pour CP/M) et GEOS .
Finalement, les fabricants des principaux systèmes DOS ont commencé à inclure leurs propres gestionnaires d'environnement. MS-DOS/IBM DOS 4 incluait DOS Shell ; DR DOS 5.0, sorti l'année suivante, incluait ViewMAX , basé sur GEM.
Mettre fin à la résidence et rester résident
Les programmes « terminate-and-stay-resident » permettent également d'offrir des fonctionnalités supplémentaires non disponibles par défaut. Des programmes comme CED et DOSKEY fournissent des outils d'édition de ligne de commande plus complets que ceux disponibles dans COMMAND.COM. Des programmes comme les extensions de CD-ROM Microsoft (MSCDEX) permettent d'accéder aux fichiers présents sur les CD-ROM.
Certains TSR peuvent même effectuer une forme rudimentaire de commutation de tâches. Par exemple, le logiciel shareware Back and Forth (1990) dispose d'un raccourci clavier permettant d'enregistrer l'état du programme en cours d'exécution sur le disque, de charger un autre programme et de basculer vers celui-ci, rendant ainsi possible l'alternance entre les programmes (bien que lente, en raison des accès disque requis). Back and Forth ne permettait cependant pas le traitement en arrière-plan ; cette fonctionnalité nécessitait DESQview (au moins sur un 386 ).
Logiciel
- Arachne , un navigateur Web graphique 16 bits
- dBase , programme de base de données
- Harvard Graphics , un programme de conception graphique de présentation
- Lotus 1-2-3 , un tableur auquel on attribue le succès de l'IBM PC
- Norton Commander et XTree , utilitaires de gestion de fichiers
- Norton Utilities et PC Tools , utilitaires de maintenance de disques et de fichiers
- PKZIP , l'utilitaire qui est rapidement devenu la norme en matière de compression de fichiers
- ProComm , Qmodem et Telix , programmes de communication par modem
- Sidekick , un gestionnaire d'informations personnelles pouvant être utilisé depuis d'autres programmes.
- WordPerfect , un logiciel de traitement de texte qui a dominé les années 1980.
- WordStar , traitement de texte initialement conçu pour CP/M et devenu populaire sur IBM PC
Outils de développement
- Interpréteurs du langage BASIC . BASICA et GW-BASIC
- DJGPP , le portage DOS DPMI 32 bits de gcc
- Microsoft Macro Assembler , Microsoft C et CodeView de Microsoft
- Watcom C/C++ de Watcom
- Turbo Pascal , Turbo BASIC , Turbo C , Turbo Prolog et Turbo Assembler de Borland