China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-29 12:48
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » What Is a DOS Shell View 1,204 Replies 4
Original Poster Posted 2005-11-28 16:37 ·  中国 河北 唐山 联通
初级用户
Credits 36
Posts 8
Joined 2005-11-27 11:39
20-year member
UID 46029
Gender Male
Status Offline
What is a DOS shell
Floor 2 Posted 2005-11-29 08:02 ·  加拿大 Bell
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
Usually it can be treated as a DOS command interpreter, such as COMMAND, 4DOS, etc.
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

Floor 3 Posted 2005-11-29 13:56 ·  中国 河北 唐山 联通
初级用户
Credits 36
Posts 8
Joined 2005-11-27 11:39
20-year member
UID 46029
Gender Male
Status Offline
I want to know how to make a DOS shell. Can you tell me? I urgently need it, thanks
Floor 4 Posted 2005-11-29 15:40 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
Credits 4,432
Posts 1,512
Joined 2002-10-18 00:00
23-year member
UID 19
Gender Male
Status Offline
Re zhanglei200:

Please do not repeatedly post new topics for the same question. When necessary, you can reply under the original topic and bump the thread to draw everyone's attention to your question, but the reply frequency should also not exceed once per day. Your duplicate topics have already been deleted by me, and I apologize for not notifying you separately. In addition, your question has already been answered by someone on this forum, but no response to that answer was seen in your replies; this is impolite.

DOS shell is an abstract term, and at different levels it points to different things. For example, at the DOS boot level, it refers to command interpreters such as command.com / 4dos / ndos mentioned by moderator Wengier, which are loaded and supported by the DOS kernel. But at the DOS application level, it may refer to some advanced programs supported by DOS, such as DOSShell that comes with MSDOS.

Actually, if we look into the original meaning of shell and kernel, it is nothing more than one outside and one inside. But because computer software architecture has many layers, such as the BIOS layer, operating system layer, and application layer, and these layers also contain many sublayers, the distinction between shell and kernel ultimately depends on the choice of boundary. We can say DOSShell is the shell of DOS, and we can also say COMMAND is the shell of DOS, but in fact, DOS here has meanings at different levels.

Finally, let me end with a small question: what is the kernel of DOS? Is it IO.SYS, or is it BIOS? This is what is called “the benevolent see benevolence, the wise see wisdom.”
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
Floor 5 Posted 2005-11-29 16:54 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
I don't quite agree with Xiaotian's statement. Actually, SHELL has a clear definition in OS. Simply put, it is the interface between the OS and the user, that is, the interface through which ordinary users (meaning non-programmers) deal with the OS. For DOS, the SHELL it comes with is command.com. Precisely because the SHELL is independent of the CORE, any third-party software can be used to replace the SHELL that comes with the distribution. In fact, the scope of this replacement can be expanded, and is not limited to third-party command processors like 4DOS. Actually, you can use any program, even one without interactive functions, as a SHELL. It's just that after this program finishes running, the machine will “die” and will no longer accept user input. That would also make it lose the meaning of a SHELL. For example, you can use SHELL=C:\MSDOS\CHKDSK.EXE. Here, let me tell everyone something: I had already achieved “independent” Windows back in the Windows 3.x era, hehe. Actually, it was just using SHELL=C:\WINDOWS\WIN.COM. Of course, after exiting Windows the machine would “die.” In fact, if it were possible to exit the first-level command.com, the machine would also “die,” but why doesn't it “die” after executing exit? That is because the system does not allow you to exit the first-level command.com. When DOS starts, loading the first-level command.com is equivalent to manually loading command.com with the /P parameter later on.

As for DOSShell under MS-DOS, although it is an application program, I think it is an application program on a level similar to Windows 3.x, that is, some parts of it reach the system level.

What is the kernel of DOS? I think this is a very clear question. Taking MS-DOS as an example, it basically consists of three parts: IO.SYS, MSDOS.SYS, and COMMAND.COM. COMMAND.COM has already been discussed above. IO.SYS is the interface through which DOS deals with BIOS, while MSDOS.SYS is the core of DOS; all DOS interrupt calls and the implementation of the OS's basic functions are inside it. As for BIOS, that is unrelated to the OS.
Forum Jump: