能力值:
( LV12,RANK:270 )
|
-
-
2 楼
简单的说,Dos下的调试,是由调试器来负责加载要运行的程序,并做一定的处理,hook一些函数和中断,一两句话讲不清楚,具体内容你可以参考《软件调试》中4.4实模式调试器例析,里面讲的很清楚……
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
看得不是很明白,楼主指的是在debug下用T命令单步么?在DOS下用debug调试程序,依然是单任务,因为你同时只能调试一个程序
另外,在DOS下有一种特殊的程序叫TSR,就是常驻内存程序,一般是利用int8,int9等中断实现“准多任务”,比如说整人专家、Game Tools、SoftIce等调试工具就是这样的,看起来像多任务——因为能与你要调试的程序同时运行
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
另外,所谓的多任务只不过是让CPU在某一时间段处理程序A,在接下来的时间段处理程序B罢了,这个时间段很短,几毫秒,用户感觉不到,其实在每个瞬间,CPU只能处理一个任务。所以从CPU的角度上说,多任务不存在,多任务只是软件营造出来的一种错觉。
所以Windows下也好,DOS下也罢,只要程序写出了多任务的效果就行,就如Windows 3.X,只不过是DOS下的一个程序而已,却能给你多任务的感觉。
楼主不必太较真了
|
能力值:
( LV4,RANK:40 )
|
-
-
5 楼
NTVDM
.exe
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
不清楚,帮楼主盖楼
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
单任务系统
不是
單程序系統
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
就单进程 这么简单吗
有个DOS插件
名字叫QEMM 可以让支持4G内存扩展 优点我不详细说 你懂的 就是让DOS支持32位东东
让DOS支持上高32内存了 那你能做什么 你也懂的
LZ你自己找去..因为现在用不到这些了 所以基本以前研究的都忘记了 很多资料都封闭了
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
楼上提到的QEMM,呵呵,好东西啊
不过在上世纪90年代,QEMM最大的卖点是能通过优化尽可能的把TSR程序塞进640K以上的内存空间,基本上能让空闲的常规内存达到634K(只占用6K),神器啊!
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
还牵涉啥8087指令集的是吧 懂都不懂的。。学无止尽 蛋疼
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
说是多任务其实是单任务的,只不过由于把任务分成时间片,轮流运行,但是间隔很短,给人感觉就是多任务
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
传说中的时间片轮转...
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
补充一下:实际上,任何单CPU系统中的任务都只能说是单任务的,所谓的多任务也指示时间片轮转或者其他操作系统窗口划分的结果。真正的多任务,是需要多CPU并且在编写程序的时候需要指定CPU运行的指令,充分调度,这样才能算是多任务...
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
请高人解答,本人在网上找了无数答案,每个都差不多没有一个能详细解释这个问题的,Dos是单任务系统,用debug和t命令执行的汇编命令是哪个程序的?在debuG里面用t执行汇编命令时那个被调试的程序执行任务了没有啊
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
其实大家已经回答你了。只是你钻了牛角尖。
Debug就是一个应用程序,你可以理解为被调试的程序是作为Debug的文档被载入的,Debug通过修改中断向量表之类的底层技术来让你单步跟踪程序。
或者,你可以把Debug当作是一个Shell,你调试的程序是运行了,如果你用的是g命令,那么程序运行完了又会回到Debug,如果你用的是t命令,那么程序每运行一条指令就回到Debug。
原理上,与用Turbo C之类的开发环境是类似的
网上你怕是找不到太多的相关文档了,因为DOS在internet普及前就淘汰了。
|
|
|