【转载】DOS 系统和 Windows 系统有什么关系?为什么windows系统下可以执行dos命令?
作者:bombless
首先是 DOS 上的一个图形界面 Windows 1.0 ,它带了画图、记事本等程序。 DOS 上的这些图形界面程序当然也是16位的,并一直发展到 Windows 3.1 (不过Windows 3.1对应的中文版的版本号是3.2)。 在这个时候因为 DOS 总是作为 Windows 的基础运行的,在运行Windows 的时候当然可以回到 DOS 下运行 DOS 命令。 接下来就是划时代的 Windows 95,这个系统下它不是直接运行在 DOS 上,而是在 DOS 启动的时候直接跳到一个 Windows 图形界面。 Windows 95 上的程序是32位的,不过操作系统的核心还是 DOS 下的那一套,虽然图形方面当然是32位的。 这个时候的 Windows 还是可以运行16位下的 DOS 程序。 Windows 95、 Windows 98 再接下来是 Windows ME ,这就是32位的仍然没有摆脱 DOS 的三个Windows 版本。
接下来就是 Windows NT 3.5,Windows NT 4.0,Windows 2000,Windows XP/Windows 2003 开始的这一代了,也包括 Windows 7 ,Windows 8 等,我们叫做 NT 内核的 Windows ,它的核心就完全是32位的,跟从前汇编编写的代码库完全告别了。这个时候操作系统只是在最初的时候从16位模式跳到32位的保护模式,除此之外不再真正有16位的代码,所以这个时候就没有运行 DOS 程序的条件了。
所以总结下来就是,早期的 Windows 中就是 DOS 上的一个外壳,中期的 Windows 和 DOS 共享了一些代码,在 Windows XP 中已经完全告别了 DOS ,只能靠模拟来运行这些DOS程序。 不过,旧的DOS程序在 Windows XP 上还是可以照常运行,虽然有些比较依赖硬件的程序会运行不正常(不过这些程序反正换了一套硬件就很有可能运行不正常了), Windows 8 在第一次运行 DOS 程序的时候会提示安装 NTVDM 。 这个 NTVDM 就是 NT 内核 Windows 运行 DOS 程序的关键,它用来模拟 DOS 程序运行时所依赖的环境。 不过以上这些都是说的32位 Windows ,在64位 Windows 中本身也没有 NTVDM 功能,所有也就运行不了 DOS 程序了。
不过最后还剩一个问题,在 Windows NT 中执行 DOS 命令到底是什么意思? DOS 上带有一系列的命令,早期和中期的 Windows 都可以执行这些 DOS 命令。到了 Windows NT ,这些命令的使用方式没有变,于是就沿用了执行 DOS 命令这个说法。而实际上在 Windows NT 中使用这些命令时都只是在使用一个叫 cmd.exe 的命令行辅助工具,跟 DOS 不再有什么关系了。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
现在windows下的命令提示符只是一个软件,操作方式和界面模拟dos操作系统
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
转自http://www.zhihu.com/question/24744565
【转载】DOS 系统和 Windows 系统有什么关系?为什么windows系统下可以执行dos命令?的更多相关文章
- 使用拷贝的方式(adb push) 绕过Android系统和adb install直接安装APK
某些情况下定制的Android系统为了限制用户安装应用,例如电视盒子,车载中控等,通过修改代码屏蔽了正常安装应用的方式 本文探讨如何在 adb shell 具有读写data分区目录的权限前提下,通过a ...
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(10)——R600显卡的3D引擎编程
3D图形处理流水线需要流经多个硬件单元才能得到最后的渲染结果,流水线上的所有的硬件单元必须被正确编程,才能得到正确的结果. 总体上看,从图形处理流水线的源头开始,需要准备好vertex和index,在 ...
- 使用Xshell在Windows系统和Linux系统之间进行文件传输
版权声明:本文为转载内容. 原博客内容https://blog.csdn.net/love666666shen/article/details/75742077 Windows系统在安装虚拟机cent ...
- 安装JDK+Eclipse+Maven+Git/Gitee(windows系统和linux系统)
1. 安装JDK 官网下载 下载java SE 下载 Java SE 7 1.1 windows配置jdk windows配置jdk 1.2 Ubuntu配置jdk Ubuntu 安装 JDK 7 / ...
- android系统和ios系统是如何实现推送的,ios为什么没有后台推送
ios系统为什么没有后台推送? iOS 为了真正地为用户体验负责,不允许应用在后台活动.有了这个限制,但是对于终端设备,应用又是有必要“通知”到达用户的,随时与用户主动沟通起来的(典型的如聊天应用). ...
- 扫盲--CRM系统和ERP系统的区别
企业规模在逐步扩大的时候,为了提高生产和管理的效率,经常需要用到相关管理软件.很多企业管理者在选择管理软件的时候犯了难,面对CRM系统和ERP系统不知如何选择无法下手.那么,CRM和ERP的区别是什么 ...
- vsftpd安装和使用 Linux系统和window系统
vsftpd 安装(Linux)一.安装系统环境 centos 6.9 64位二.vsftpd版本 vsftpd-2.2.2-24.el6.x86_64三.安装步骤1.安装 执行 yum -y ins ...
- Java系统和PHP系统相互调用
一.HTTP JSON方式的缺点 JSON序列化效率低 多语言服务治理功能低 二.关于RPC框架 RPC 框架大致分为两类,一种是偏重服务治理,另一种侧重跨语言调用 2.1 服务治理型 特点 功能丰富 ...
- ERP系统和MES系统的区别
公司说最近要上一套erp系统,说让我比较一下,erp系统哪个好,还有mes系统,我们适合上哪个系统,其实我还真的不太懂,刚接触erp跟mes的时候,对于两者的概念总是傻傻分不清楚,总是觉得既然都是为企 ...
随机推荐
- iOS开发路线简述
1 iOS开发环境1.1 开发环境标准的配置是MacOSX+Xcode.MacOSX的话首选用苹果电脑,Macmini最便宜只要4000多就好了然后自己配一个显示器,MacBookPro 也可以,不推 ...
- varnish 隐藏版本号
varnish 隐藏方法: 修改default.vcl配置文件. 找到或添加 vcl_deliver 子程序,代码如下: 1 2 3 4 5 sub vcl_deliver { unse ...
- Leetcode: Design Phone Directory
Design a Phone Directory which supports the following operations: get: Provide a number which is not ...
- poj 1835 宇航员
http://poj.org/problem?id=1835 宇航员 Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 4802 ...
- meta
<meta charset="UTF-8"> <meta name="viewport" content="width=device ...
- jfinal 解决ajax 跨域访问--jsonp
JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的 js无法操作b.com或是c.a.com域名下的对象. ...
- 将图片插入到excel中
static void Main(string[] args) { //说明:插入图片 //1.创建EXCEL中的Workbook IWorkbook myworkbook = new HSSFWor ...
- (转)学习使用Jmeter做压力测试(一)--压力测试基本概念
一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下 ...
- scp 从远程拷贝文件不需要密码
执行这一句,弹出来要你输入密码,输入一次后,以后再 scp 远程机的文件 再也不需要密码了 ssh-copy-id myusername@8.8.8.8
- android ContentObserver
android 设置飞行模式 : 长按关机键 3 秒. 工作中,需要开启一个线程大量的查询某个数据库值发送了变化,导致的开销很大,后来在老大的指点下,利用了 ContentObserver完美的解 ...