
나는 MS-DOS의 아키텍처에 대해 읽고 있었고 다음과 같은 파일을 발견했습니다.Autoexec.bat그리고config.sys.
Autoexec.bat.bat
경로, 환경 변수, CWD, 프롬프트 등을 초기화하는 데 사용된 명령이 포함된 배치( ) 파일입니다.config.sys)은 OS의 시작 절차 중에 자동으로 실행되었습니다(존재하는 경우).
부터,MS-DOS그리고명령 프롬프트대부분 서로 동일(또는 유사)하므로 현재 Windows OS 버전에서도 동일한 절차가 이어질 것이라고 생각했습니다.
우리 가 시작할 때 이미 매번 특정 CWD에 있고, 등에 cmd
지정된 위치 집합이 있기 때문에 이해할 수 있는 것 같습니다.path
그러나 그것은 밝혀졌습니다.윈도우 XP이후 버전의 Windows OS에는 이러한 기능이 없었습니다.
그래서 이제 모든 것이 어떻게 초기화되는지, 그리고 왜 그랬는지 생각하고 있었습니다.Autoexec.bat제거됐어?
답변1
Windows NT는 DOS에 의존하지 않는 완전히 다른 OS이므로 Windows 2000뿐만 아니라 XP 이상을 포함한 모든 후속 제품도 AUTOEXEC.BAT와 같은 DOS를 사용하지 않습니다. %SystemRoot%\system32
DOS 응용 프로그램이 시작될 때 환경을 설정하기 위한 AUTOEXEC.NT가 있다는 뜻입니다.
Windows ME는 Windows 9x 제품군에도 불구하고 DOS에서 벗어나려고 시도했습니다. 따라서 AUTOEXEC.BAT의 환경 변수만 구문 분석합니다.
답변2
CONFIG.SYS
DEVICE=
및 라인을 사용하여 다양한 옵션과 로드된 드라이버를 설정합니다 DEVICEHIGH=
. DOS가 시작되는 동안 읽혔습니다.
DOS가 초기화를 완료하면 쉘이 시작됩니다. 이는 SHELL=
CONFIG.SYS의 행 에 의해 지정되며 일반적 COMMAND.COM
으로 반드시 그럴 필요는 없습니다.
COMMAND.COM
AUTOEXEC.BAT
스위치 로 시작될 때 실행됩니다 /P
. 이는 일반적으로 다음 CONFIG.SYS
COMSPEC=
줄에 지정됩니다(예) 이는 "영구적으로 만들다"를 의미합니다("하위 쉘"이 아님). 스위치 /D
는 이를 억제할 수 있습니다.
DOS와 다른 Microsoft 운영 체제의 차이점은 XP보다 더 오래전으로 거슬러 올라갑니다. Windows가 Windows의 NT 분기에서 처음 작업했던 1993년으로 거슬러 올라갑니다. 그리고 2년 후 Windows 95가 출시되었습니다. 9x 브랜치와 NT 브랜치는 모두 내부적으로 MS-DOS와 다릅니다. NT의 경우에는 매우 매우 다릅니다.
NT Windows는 MS-DOS와 차이점을 대략적으로 개략적으로 설명하면 다음과 같은 차이점이 있습니다.
- CPU의 보호 모드를 사용하여 커널과 사용자 공간 사이에 장벽을 만듭니다.
- DOS의 원시적이고 제한된 TSR 시스템과는 별도로 여러 프로그램이 동일한 디스크, 디스플레이 등에 실행되고 액세스할 것으로 예상합니다.
- GUI 마우스 및 창 인터페이스의 입력 방법을 지원하는 데 필요한 이벤트 기반 프로그래밍을 지원하는 메시징 시스템이 있습니다.
- 창, 위젯을 만들고 디스플레이를 수정하는 데 사용해야 하는 API(GDI 등)가 있습니다.
- 프로그램이 모든 장치와 통신하기 위해 시스템 호출을 할 것으로 예상하며 하드웨어에 대한 직접 액세스를 허용하지 않습니다.
- 처음에 NT는 운영 체제에서 작업을 수행하기 위해 COMMAND.COM이나 이에 상응하는 명령줄 도구를 많이 제공하지 않았습니다.
따라서 부팅 프로세스는 다르며 Windows NT 분기(XP 포함)의 경우 매우 다릅니다.
Wikipedia에는 다음과 같은 좋은 기사가 있습니다.Windows NT 초기화에 대한 세부사항.
9x Windows는 32비트로 확장할 수 있는 이상한 메커니즘을 갖춘 MS-DOS의 멀티태스킹 확장과 훨씬 유사합니다. 9x의 부팅 프로세스는 MS-DOS와 조금 더 유사합니다.이것은 좋은 설명이다. Windows ME는 Microsoft가 XP를 NT 기반 Windows의 소비자 버전과 비즈니스 버전으로 만들기 전에 Windows 9x 분기 중 마지막 버전이었습니다.
답변3
시작은 서비스 및 시작 폴더에 의해 처리되어 앱을 시작합니다(작업 관리자 시작 탭 참조). 오늘날 DOS가 어떻게 시작되었는지에 대응하는 것은 없습니다. NT4부터는 로그온하지 않고도 서비스를 시작할 수 있습니다. 매우 다릅니다.