後方互換性の癖

DOS-777オペレーティングシステムについて聞いたことがある人はほとんどいません。そして、これは本当に存在していました。確かに、実際には、単一のコンピューターで実行し、単一のプログラムを実行するように設計された、マイナーな変更を加えた最も一般的なMSDOSでした。このクローンは、後方互換性の問題に何らかの形でその外観を負っています。しかし、まず最初に。



新しくて重要なプログラムが突然、完全に不思議な方法で動作しました。これはその作者を非常に激怒させたので、MS DOSを分解し、その作業のニュアンスを理解し、奇妙なエラーの理由を見つけることに決めました。今では、情熱を持っていても、たとえばWindows-10を分解して、そのすべての機能を理解することをあえてする人はほとんどいません。しかし、その後、90年代初頭、オペレーティングシステムが3つの比較的小さなファイルで構成されていたとき、それらの分解と分析には2週間かかりました。



現在誰もが興味を持ちそうにない多くの小さな機能が発見されました。しかし、当時、この分析の結果によれば、Frolovs(Dialogue MEPhI出版社)が編集したSystem Programmer'sLibraryシリーズの本の1つで「予約済み」と指定された内部MSDOSテーブルのフィールドの欠落した名前を入力することさえ可能でした。



繰り返しますが、これらすべての微妙な点が今では誰にとっても興味深いものになる可能性は低いですが、後方互換性の問題に何らかの形で関連する3つの微妙なニュアンスはおそらく言及する価値があります。



ニュアンスファースト。初期の「TSR」プログラム、たとえば「SideKick」は、MSDOS内のコマンドのコンテキストから直接OS内部の「ビジー」フラグのアドレスを探しました。以降のバージョンでは、このコンテキストが変更され、フラグを要求する文書化された機能が登場しましたが、いくつかの「古い」コマンドが特別にデータセグメントに移動されたため(制御できませんでした)、古いプログラムは依然として正しいコンテキストを見つけます。伝説的な前任者にちなんで名付けられた新しい船の打ち上げで、類推が思い浮かびます。次に、伝統に従って、古い船体からスラブが切り取られ、新しい船に記念の飾り板として取り付けられます。そのため、MS DOSのすべてのバージョンは、1981年の最初のバージョンの小さな断片を搭載していました。



次のニュアンスはもっと興味深かった。 MS DOSは、EXEファイルを実行する前に、コマンド内の特定の場所で特定のコンテキストをチェックすることが判明しました。存在する場合、OSは隣接するコマンドをわずかに「プッシュ」し、PUSHCXおよびPOPCXコマンドを追加します。







LOOP, , - MicroSoft, , . : « MS DOS !» . , MicroSoft , , . , CX. MS DOS POP CX, , MicroSoft . ( , ) , .



, , , , , . . , , , , , . 8086 . : .. (16 20) .. (16 20). , , , ( ). . 19- ( ) 64 .







1986 32- , 30 ( 32, ). , «» .







«». , - . , , 20- , ! : .



, , , «640 » . «expanded», - 64- «» , MicroSoft MS DOS, , , 640 .





MS DOS . DOS , , , . DOS … , ? ? ? . , DOS , (.. PSP) . ( DOS) . , .







: DOS, , , .





DOS, , . , DOS , . DOS-777 , .







, , . MMX, FPU. : , , FPU. MMX, .





-, : , MMX, ( ) , , Windows. , - MMX . - MMX FPU . - - Windows , MMX, .



したがって、後方互換性の問題は客観的に存在し、時にはそれを解決する必要があります。しかし、最初の2つの例でソリューションが独創的であり、最も重要なこととして、この互換性を必要としないユーザーに隠されている場合、最後の2つの例では、互換性の試み(私の意見では、とてつもない!)が大げさなハードウェアソリューションにつながり、問題を引き起こしました。さらに、それでも互換性は、特別に設計された仮想8086モードによってはるかに優れ、簡単に提供されました。



後方互換性の主な問題は、毎年、それを必要とするユーザーがますます少なくなっていることです。そして、誰もがそれを考慮に入れなければなりません。








All Articles