|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 46 楼』:
使用 LLM 解释/回答一下
忘了一点,你在哪里看到v5的,好象是r5吧???
Forgot one thing, where did you see v5? It seems like r5???
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-2 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 47 楼』:
使用 LLM 解释/回答一下
而且,CWSDPMI最新版本r5已经放弃DPMI 0.9的支持了(对其进行不完全兼容,据说
是对一个SWAP命令的不兼容)而支持最新的DPMI 1.0。它的版本号只是表示发布版本
其中对其主版本号的输出如下
CWSDPMI V0.90+ (r5) Copyright (C) 2000 CW Sandmann ABSOLUTELY NO WARRANTY
这很明确地说明了它的主版本号小于1(它的命名规则和日本人的惯用的规则更相象)
另外,强调声明一下。CWSDPMI的发展历史,它起初不是为DJGPP开发的,但是在R4版本后
的确是为了支持DJGPP而做了优化。当然,这个独立的开发小组还和著名的游戏机模拟器项目
MAME有共同开发,交换资料的活动。
过几天,我会把中文化的关于CWSDPMI的文档,贴出来的。
再问一次,DD需要合作么?
Moreover, the latest version r5 of CWSDPMI has given up support for DPMI 0.9 (incompletely compatible with it, it is said that it is an incompatibility with a SWAP command) and supports the latest DPMI 1.0. Its version number only indicates the release version. The output of its major version number is as follows:
CWSDPMI V0.90+ (r5) Copyright (C) 2000 CW Sandmann ABSOLUTELY NO WARRANTY
This clearly shows that its major version number is less than 1 (its naming rule is more similar to the habitual rule of the Japanese).
In addition, emphasize and declare. The development history of CWSDPMI. It was not originally developed for DJGPP, but after version R4, it was indeed optimized to support DJGPP. Of course, this independent development team also has activities of co-developing and exchanging materials with the famous game console emulator project MAME.
In a few days, I will post the Chinese-documented document about CWSDPMI.
Once again, does DD need cooperation?
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-2 00:00 |
|
|
ATLaS
初级用户
 
积分 169
发帖 29
注册 2003-7-9
状态 离线
|
『第 48 楼』:
使用 LLM 解释/回答一下
嗯,是release 5,不是v5。
其实dos下的程序我更关心的就是dos extender。dos4gw也不是没有发展了,但免费的就到此为止。djgpp缺省用cwsdpmi,但pmode/dj好像也有些自己的优势:更小,速度更快。只是还找不到完整的对比。
djgpp虽说也是32-bit的开发环境,但我看过它runtime library的源码,i/o部分还是用底层的bios中断做的,也就是说,程序仍然有mode switching。这对有实时性要求的程序来说是无法接受的。我很感兴趣的是:绕过bios直接写纯保护模式下的i/o到底有多难?希望能有人有兴趣探讨一下。
Well, it's release 5, not v5.
Actually, for programs under DOS, what I care more about is the DOS extender. DOS4GW isn't without development, but the free ones end here. DJGPP defaults to using CWSDPMI, but PMODE/DJ also has some advantages: smaller size and faster speed. However, I still can't find a complete comparison.
Although DJGPP is also a 32-bit development environment, I've seen the source code of its runtime library, and the I/O part still uses the underlying BIOS interrupts, which means the program still has mode switching. This is unacceptable for programs with real-time requirements. I'm very interested in: how difficult is it to directly write pure protected mode I/O bypassing BIOS? I hope someone is interested in discussing this.
|
|
2003-8-2 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 49 楼』:
使用 LLM 解释/回答一下
dos4gw绝对在版权上,不能称为免费. 它从来没有免费过.
其实讨论DOS4GW和CWSDPMI,这时对我们来说没有多少
意义.因为现成的,最好的实现还是MS提供的DPMI服务.
我相信,多数人连CWSDPMI的安装包都不下载.
绕过bios直接写纯保护模式下的i/o??????? 你在说什么?
绕过bios还有什么??对,还有直接的机器指令,但80386
处理器本身就是需要一个mode switching才能从real
mode 转到v86模式. 这是从CPU指令上直接决定的,
windows 3.x就是实现的典范.真不明白你想用80386
来作怎样的东西.想写一个实时操作系统???
dos extender??这些技术和实时性本身就是相矛盾的.
CWSDPMI不支持dos extender,说明文件里首先声明了
这一点.
DOS下的实时系统的实现需要的是其他的技术,那需要的
是更深厚的底子.如工业控制软件.
如果是做这类的东西,参照老的计算机教材反而来的更好.
DOS4GW is definitely not free in terms of copyright. It has never been free.
In fact, discussing DOS4GW and CWSDPMI doesn't make much sense to us. Because the best existing implementation is still the DPMI service provided by MS. I believe most people don't even download the installation package of CWSDPMI.
Bypassing BIOS to write I/O directly in pure protected mode?????? What are you talking about? What else is there besides bypassing BIOS? Right, there are direct machine instructions, but the 80386 processor itself needs a mode switching to transfer from real mode to v86 mode. This is directly determined by the CPU instructions, and Windows 3.x is a classic example of implementation. I really don't understand what kind of thing you want to make with 80386. Do you want to write a real-time operating system???
Dos extender?? These technologies are contradictory to real-time itself. CWSDPMI doesn't support dos extender, and this is stated in the instruction file first.
The implementation of real-time systems under DOS requires other technologies, which need a deeper foundation. Such as industrial control software.
If you are doing this kind of thing, referring to old computer textbooks is actually better.
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-2 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 50 楼』:
使用 LLM 解释/回答一下
最后,保护模式,我们天天把他挂在嘴边.
有谁能真正完整地解释一下,什么是保护
模式? 保护模式发展的历史么?
Finally, protected mode, we talk about it every day. Who can really fully explain what protected mode is? The history of the development of protected mode?
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-2 00:00 |
|
|
ATLaS
初级用户
 
积分 169
发帖 29
注册 2003-7-9
状态 离线
|
『第 51 楼』:
使用 LLM 解释/回答一下
保护模式,呵呵,简单的说:不是保护你的程序不被破坏,而是保护系统不被你的程序破坏。真正的32-bit保护模式是在80386以后才实现的。
你没有明白我的意思。bios和dos代码都是real mode下的代码,而dos4gw,cwsdpmi或者其他各种dpmi server都是完全运行在protected mode下的,如果runtime library或者程序中调用了bios或dos中断,dpmi server会把程序从protected mode切换为real mode(好像也有是v86 mode?),但如果程序中没有调用任何real mode下的东西,那就是纯保护模式代码。
在新的操作系统中(比如window nt kernel和linux),系统加载后都会接管所有的bios中断,让系统真正运行在纯保护模式下。当然,我需要的没有那么复杂,只是部分,比如i/o部分有没有可能绕过bios和dos?唯一的困难在于这种实现可能严重依赖于硬件,而我们没有那么大的能力。但简单的像屏幕输出之类的功能,完全可以用直接写buffer的方式来实现,从而避免mode switching,当然可能有些功能难以完整。至于输入部分,我还没有什么概念。
Protected mode, heh, simply put: it's not about protecting your program from being damaged, but about protecting the system from being damaged by your program. The real 32-bit protected mode was only realized after the 80386.
You didn't understand my meaning. The BIOS and DOS code are all code in real mode, while dos4gw, cwsdpmi or other various DPMI servers all run completely in protected mode. If the runtime library or the program calls BIOS or DOS interrupts, the DPMI server will switch the program from protected mode to real mode (I think there is also v86 mode?), but if the program doesn't call anything in real mode, then it's pure protected mode code.
In new operating systems (such as Windows NT kernel and Linux), after the system is loaded, it will take over all BIOS interrupts and make the system truly run in pure protected mode. Of course, what I need is not that complicated, just part of it. For example, is there a possibility to bypass BIOS and DOS for the I/O part? The only difficulty is that this implementation may rely heavily on hardware, and we don't have that much ability. But simple functions like screen output can completely be implemented by directly writing the buffer, thus avoiding mode switching. Of course, some functions may be difficult to complete. As for the input part, I don't have any idea yet.
|
|
2003-8-2 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 52 楼』:
使用 LLM 解释/回答一下
本贴被整理到精华区
This post has been sorted into the essence area
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-9-20 00:00 |
|
|
cir2633
初级用户
 
积分 52
发帖 23
注册 2009-12-25
状态 离线
|
『第 53 楼』:
使用 LLM 解释/回答一下
DJGPP是个什么概念? 是个开发环境还是IDE ?,,,,,,,
What concept is DJGPP? Is it a development environment or an IDE?,,,,,,
|
|
2010-1-8 16:05 |
|
|