전원을 켜고 컴퓨터를 시작하는 것은 컴퓨터 사용자에게 거의 일상적인 일이지만, 컴퓨터가 시작 화면을 표시할 때 컴퓨터는 무엇을 하고 있을까요? 대부분의 사용자는 모를 수 있습니다. 전원을 켜는 순간부터 Windows 9x의 푸른 하늘이 나타날 때까지 컴퓨터가 하는 일을 간략하게 설명합니다.
컴퓨터 부팅 프로세스에는 잘 정립된 하드웨어 자체 테스트 메커니즘이 있습니다. Award BIOS가 설치된 컴퓨터의 경우 전원 켜기 자가 테스트는 몇 초 안에 100개 이상의 감지 단계를 완료할 수 있습니다. 첫 번째는 BIOS(기본 입출력 시스템)로, 실제로 컴퓨터 하드웨어에 "고체화"되어 하드웨어를 직접 처리하는 일련의 프로그램입니다. 컴퓨터 부팅 프로세스는 일반적으로 "시스템 BIOS"라고 부르는 마더보드 BIOS의 제어하에 수행됩니다. 두 번째 기본 개념은 메모리 주소입니다. 일반적으로 컴퓨터에 설치된 메모리는 32MB, 64MB 또는 128MB이며, 이 메모리의 각 바이트에는 CPU가 쉽게 액세스할 수 있도록 주소가 있습니다. 32MB의 주소 범위는 0에서 1까지 16진수이며, 32비트 프로세서로 직접 액세스할 수 있는 최대 메모리는 1MB에 불과하므로 0에서 1MB 범위의 하단인 640KB의 메모리는 매우 특별하므로 "시스템 BIOS"라고 부릅니다. 하위 640KB를 기본 메모리라고 하며, A0000H ~ BFFFFH는 그래픽 카드의 디스플레이 메모리, C0000H ~ FFFFFFH는 BIOS에 예약되어 있으며, 시스템 BIOS는 일반적으로 마지막 64KB 이상을 차지하고, 그래픽 카드 BIOS는 일반적으로 C0000h ~ C7 FFFH에, IDE 컨트롤러 BIOS는 C8000H ~ CBFFFH에 있습니다. 이러한 기본 개념을 이해한 후 컴퓨터 부팅 프로세스를 자세히 살펴 보겠습니다.
전원 스위치를 누르면 전원 공급 장치가 마더보드 및 기타 장치에 전원을 공급하기 시작합니다. 이때 전압은 여전히 불안정하며 마더보드 제어 칩셋은 초기화를 위해 CPU에 리셋 신호를 보냅니다. 전원 공급이 안정화되기 시작하면 칩셋은 리셋 신호를 제거하고 CPU는 즉시 시스템 BIOS의 주소 범위 내에 있는 주소 FFFF0H에서 명령을 실행합니다. 어워드 바이오스든 AMI 바이오스든 여기에 있는 것은 시스템 바이오스의 실제 부팅 코드로 이동하기 위한 점프 명령어일 뿐입니다.
이 단계에서 시스템 BIOS 부팅 코드가 가장 먼저 해야 할 일은 POST(전원 켜기 자체 테스트)를 수행하는 것입니다. POST의 주요 임무는 메모리, 그래픽 카드 등과 같은 시스템의 일부 주요 장치가 존재하고 제대로 작동하는지 감지하는 것입니다. POST 감지 프로세스는 그래픽 카드 초기화 전 단계이므로, POST 자체 테스트 중에 메모리가 없거나 메모리에 문제가 있는 경우(POST 프로세스 중 일반 메모리 640K만 확인) 등 치명적인 오류가 발견되면 화면에 표시되지 않습니다. 이때 시스템 부팅 자체 테스트는 스피커 가청 오류, 오류 보고 유형을 대신하여 소리의 길이와 주파수를 통해 이루어질 수 있습니다(일반적인 부팅 자체 테스트 코드는 신문 30페이지 및 36페이지 참조).
다음 단계는 바이오스가 그래픽 카드의 바이오스를 찾는 것으로, 카드의 바이오스를 저장하는 ROM 칩은 일반적으로 C0000H에서 시작합니다. 바이오스가 카드의 바이오스를 찾으면 초기화 코드를 호출하고 카드의 바이오스가 그래픽 카드를 초기화합니다. 이 과정에서 대부분의 그래픽 카드는 일반적으로 제조업체, 그래픽 칩 유형, 메모리 용량 등 카드에 대한 일부 정보를 화면에 표시합니다. 컴퓨터를 켰을 때 가장 먼저 표시되는 화면입니다. 컴퓨터를 켰을 때 가장 먼저 보이는 화면이지만 이 화면은 거의 플래시에 가깝고 일부 그래픽 카드 BIOS는 사용자가 표시되는 정보를 명확하게 볼 수 있도록 지연 기능을 사용합니다. 그런 다음 시스템 바이오스는 다른 장치의 바이오스 프로그램을 찾고, 이를 찾으면 해당 바이오스 내부의 초기화 코드를 호출하여 해당 장치를 초기화해야 합니다.
다른 모든 장치의 BIOS를 검색한 후 시스템 BIOS는 시스템 BIOS의 유형, 일련 번호 및 버전 번호가 포함된 자체 부팅 화면을 표시합니다. 동시에 화면 왼쪽 하단에 BIOS 날짜, 마더보드 칩셋 모델, 마더보드 식별 번호 및 공급업체 코드를 포함한 마더보드 정보 코드가 표시됩니다.
그런 다음 시스템 BIOS는 CPU의 유형과 작동 주파수를 감지하고 그 결과를 화면에 표시하며, 이는 컴퓨터를 켤 때 보이는 CPU의 유형과 주 주파수입니다. 다음으로 시스템 BIOS는 호스트 컴퓨터의 모든 메모리 용량을 테스트하기 시작하면서 화면 상단에 빠르게 스크롤되는 익숙한 메모리 카운터인 메모리 테스트 값을 화면에 표시합니다.
메모리 테스트가 통과되면 시스템 BIOS는 하드 드라이브, 광학 드라이브, 플로피 드라이브, 직렬 및 병렬 포트 등 시스템에 설치된 여러 표준 하드웨어 장치를 감지하기 시작합니다. 또한 대부분의 최신 버전의 시스템 BIOS는 이 과정에서 메모리 관련 매개변수, 하드 드라이브 매개변수 및 액세스 모드를 자동으로 감지하고 설정합니다.
표준 장치가 감지되면 플러그 앤 플레이를 지원하는 시스템 BIOS 코드가 시스템에 설치된 플러그 앤 플레이 장치를 감지하고 구성하기 시작합니다. 각 장치를 찾은 후 시스템 BIOS는 장치의 이름과 모델 번호를 화면에 표시하고 인터럽트, DMA 채널 및 I/O 포트와 같은 리소스를 장치에 할당합니다.
이 시점까지 모든 하드웨어의 테스트 및 구성이 완료되면 시스템 BIOS는 화면을 새로 고침하여 화면 상단에 시스템에 설치된 다양한 표준 하드웨어 장치와 해당 리소스 및 일부 관련 작동 매개변수가 간략하게 나열된 시스템 구성 목록을 표시합니다.
시스템 바이오스를 누르면 시스템 바이오스가 운영 체제와 하드웨어 구성 정보를 교환하는 데 사용하는 데이터인 ESCD(확장 시스템 구성 데이터)가 업데이트되며, 이 데이터는 CMOS에 저장됩니다. 일반적으로 ESCD 데이터는 시스템 하드웨어 구성이 변경될 때만 업데이트되므로 컴퓨터를 부팅할 때마다 "ESCD 업데이트 중..."이라는 메시지가 표시되지 않습니다. 컴퓨터를 시작할 때마다 "성공"이라는 메시지가 표시됩니다. 그러나 일부 마더보드의 시스템 BIOS는 ESCD 데이터를 저장하는 데 Windows 9x와 다른 데이터 형식을 사용하므로 Windows 9x는 자체 부팅 프로세스 중에 ESCD 데이터를 자체 형식으로 변환합니다. 그러나 다음에 컴퓨터를 부팅할 때 하드웨어 구성이 변경되지 않았더라도 시스템 BIOS가 ESCD 데이터 형식을 다시 변경합니다. 이 주기로 인해 컴퓨터가 부팅될 때마다 시스템 BIOS가 ESCD를 업데이트해야 하므로 일부 컴퓨터는 시작할 때마다 "ESCD 업데이트 중.... 성공"이라는 메시지가 시작될 때마다 표시되는 이유입니다.
ESCD 데이터가 업데이트된 후 시스템 BIOS 부팅 코드는 사용자가 지정한 부팅 순서대로 플로피, 하드 드라이브 또는 CD-ROM에서 부팅하는 마지막 작업을 수행합니다. 예를 들어 C 디스크에서 부팅하려면 시스템 BIOS가 하드 디스크의 마스터 부트 레코드를 읽고 실행한 다음 파티션 테이블에서 첫 번째 활성 파티션을 찾은 다음 이 활성 파티션의 파티션 부트 레코드를 읽고 실행하여 DOS 및 Windows 9x의 가장 기본적인 시스템 파일인 IO.SYS를 읽고 실행합니다. 9x용 SYS는 익숙한 파란색 하늘을 표시하기 전에 몇 가지 중요한 시스템 데이터를 초기화해야 합니다. 이 화면에서 Windows는 계속 부팅하고 DOS 부분과 GUI(그래픽 사용자 인터페이스) 부분을 초기화합니다.
위에서는 콜드 부팅을 위해 컴퓨터의 전원을 켜거나 재설정 버튼을 누를 때 수행해야 하는 다양한 초기화에 대해 설명했습니다. DOS에서 핫 스타트를 위해 Ctrl+Alt+Del 키 조합을 누르면(또는 Windows에서 컴퓨터를 재부팅하도록 선택하면) POST 프로세스가 건너뛰고 CPU 및 메모리 테스트인 다섯 번째 단계로 진행하지 않고 세 번째 단계부터 바로 시작됩니다. 콜드 부팅이든 핫 부팅이든 시스템 BIOS는 위에서 설명한 하드웨어 감지 및 부팅 프로세스를 반복하며, 이 눈에 띄지 않는 프로세스를 통해 컴퓨터를 정상적으로 부팅하고 사용할 수 있습니다.
=====
위는 부팅 후의 과정입니다.
=====
WINDOWS 시작 과정은 다음과 같습니다:
운영 체제 선택
이 단계는 필수는 아니며 컴퓨터에 두 개 이상의 Windows 운영 체제가 설치된 경우에만 발생합니다. 그러나 컴퓨터에 설치된 Windows의 수에 관계없이 이 단계는 컴퓨터 부팅 시 설계된 대로 실행됩니다. 시스템이 두 개 이상 설치된 경우에만 부팅할 시스템을 선택할 수 있는 목록이 표시됩니다. 그러나 시스템이 하나만 있는 경우 부트 로더가 이를 판단하여 다음 단계로 바로 이동합니다.
둘 이상의 Windows 운영 체제가 설치된 경우(일반적으로 Windows 9x를 제외한 Windows 2000/XP/2003과 같은 최신 시스템을 의미함) 모든 기록은 시스템 트레이의 루트 디렉터리에 있는 boot.ini라는 파일에 저장됩니다. Ntldr 프로그램은 하드 디스크에서 부팅. ini 파일을 읽고 그 내용에 따라 첫 번째 하드 디스크의 첫 번째 파티션에 컴퓨터에 설치된 Windows의 수를 결정합니다. 하나만 설치되어 있으면 이 단계를 건너뜁니다. 그러나 두 개 이상 설치된 경우 ntldr은 파일의 레코드를 기반으로 운영 체제 선택 목록을 표시하며, 이 목록은 기본적으로 30초 동안 지속됩니다. 선택하면 ntldr에서 선택한 시스템을 자동으로 로드하기 시작합니다. 선택하지 않으면 ntldr은 30초 후에 기본 운영 체제로 로드를 시작합니다. 이 시점에서 운영 체제 선택 단계가 성공적으로 완료되었습니다.
퀴즈: 시스템 볼륨과 부팅 볼륨의 차이점은 무엇인가요?
이 두 개념은 Microsoft에서 정의한 용어를 잘못 해석하기 쉽기 때문에 쉽게 혼동할 수 있습니다. Microsoft의 정의에 따르면 시스템 디스크는 Windows 부팅에 사용되는 파일을 저장하는 하드 드라이브 파티션/볼륨입니다(이전 소개에서 이러한 파일이 ntldr, boot.ini 등을 참조한다고 이미 설명한 바 있습니다). 부팅 디스크는 Windows 시스템 파일이 저장된 하드 디스크 파티션/볼륨입니다. 운영 체제가 하나만 있는 경우, 일반적으로 첫 번째 물리 하드 드라이브의 첫 번째 기본 파티션(일반적으로 C 드라이브로 식별됨)에 설치하면 시스템 디스크와 부팅 디스크는 같은 파티션에 속합니다. 그러나 D 드라이브와 같은 다른 파티션에 Windows를 설치하면 시스템 디스크는 여전히 C 드라이브가 되지만(Windows를 다른 디스크에 설치하더라도 부팅 시스템에서 사용하는 파일은 여전히 C 드라이브의 루트 디렉터리에 저장되기 때문입니다) 부팅 디스크는 D 드라이브가 됩니다.... 이상하게도 시스템을 부팅하는 데 필요한 파일을 저장하는 파티션을 "시스템 디스크"라고 하고 운영 체제 파일을 저장하는 파티션을 "부팅 디스크"라고 하는데, 이는 정반대입니다. 하지만 Microsoft는 그렇게 말합니다.
하드웨어 감지
이 프로세스에는 주로 Ntdetect.com과 Ntldr이 사용됩니다. 이전 운영 체제 선택 단계에서 로드하려는 Windows 시스템을 선택하면 Ntdetect.com은 먼저 컴퓨터에 현재 설치된 모든 하드웨어에 대한 정보를 수집하여 테이블을 만든 다음 이 테이블을 Ntldr에 제공합니다(나중에 이 테이블의 정보를 사용하여 레지스트리에 하드웨어 관련 키를 생성합니다). 여기서 수집할 하드웨어 유형은 버스/어댑터 유형, 그래픽 카드, 통신 포트, 직렬 포트, 부동 소수점 프로세서(CPU), 이동식 저장 장치, 키보드 및 포인팅 장치(마우스) 등입니다. 이 시점에서 하드웨어 감지 작업이 성공적으로 완료되었습니다.
프로필 선택
이 단계는 필요하지 않습니다. 단일 컴퓨터(일반적으로 노트북)에 이미 여러 하드웨어 프로파일을 생성한 경우 이 단계만 처리하면 됩니다.
Hint:하드웨어 프로필이란 무엇인가요? 왜 필요한가요?
이 기능은 노트북 사용자에게 더 적합합니다. 사무실과 집에서 주로 사용하는 노트북이 있는 경우 사무실에 있는 동안 네트워크 카드로 회사의 LAN에 연결할 수 있습니다. 회사는 DHCP 서버를 사용하여 클라이언트에 IP 주소를 할당합니다. 하지만 집에 돌아가면 DHCP 서버가 없으면 시스템이 존재하지 않는 DHCP 서버를 찾아 부팅하는 데 시간이 오래 걸리므로 시스템 부팅 시간이 길어집니다. 이 경우 사무실과 집에서 서로 다른 하드웨어 프로필을 사용할 수 있으며, 하드웨어 프로필을 사용하여 프로필에서 사용할 하드웨어와 사용하지 않을 하드웨어를 결정할 수 있습니다. 예를 들어, 위에 나열된 예에서는 집과 사무실 노트북에 대해 별도의 프로필을 만들 수 있으며, 가정용 프로필에서는 네트워크 카드를 비활성화할 수 있습니다. 이렇게 하면 집에 돌아와서 가정용 프로필을 사용할 때 시스템 시작 시 NIC가 바로 비활성화되므로 존재하지 않는 DHCP 서버를 검색할 필요가 없고 시스템 부팅 시간이 길어지지 않습니다.
시스템에 하드웨어 프로파일이 두 개 이상 생성된 것을 감지하면 Ntldr은 사용자가 선택할 수 있는 모든 사용 가능한 프로파일 목록을 표시합니다. 이는 실제로 운영 체제 선택과 유사합니다. Ntldr은 시스템에 여러 프로필이 생성되었는지 여부에 관계없이 이 단계를 수행하지만 실제로 여러 하드웨어 프로필이 감지된 경우에만 파일 목록을 표시합니다.
커널 로드 단계
이 단계에서 Ntldr는 Windows XP 커널 파일인 Ntoskrnl.exe를 로드하지만 이는 단지 로드일 뿐이며 커널은 이 시점에서 초기화되지 않습니다. 그런 다음 하드웨어 추상화 계층(hal.dll)이 로드됩니다.
하드웨어 추상화 계층은 실제로 메모리에서 실행되는 프로그램으로, Windows XP 커널과 물리적 하드웨어 사이의 다리 역할을 합니다. 일반적으로 운영 체제와 응용 프로그램은 물리적 하드웨어를 직접 처리할 수 없으며, Windows 커널과 몇 가지 커널 상태 시스템 서비스만 하드웨어와 직접 상호 작용할 수 있습니다. 대부분의 다른 시스템 서비스 및 애플리케이션이 하드웨어와 상호 작용하려면 하드웨어 추상화 계층을 거쳐야 합니다.
팁: 하드웨어 추상화 계층을 사용하는 이유는 무엇인가요?
하드웨어 추상화 계층을 사용하는 이유는 크게 두 가지입니다.1. 유효하지 않거나 잘못된 하드웨어 호출을 무시하기 위해서입니다. 하드웨어 추상화 계층이 없으면 하드웨어의 모든 호출과 오류까지 운영 체제에 피드백되어 시스템 불안정을 초래할 수 있습니다. 하드웨어 추상화 계층은 물리적 하드웨어와 운영 체제 커널 사이에서 필터처럼 작동하여 운영 체제에 유해한 것으로 간주되는 모든 호출과 오류를 걸러내어 시스템의 안정성을 직접적으로 향상시킵니다.2, 여러 플랫폼 간의 번역. 이러한 추론은 생생한 예시를 통해 설명할 수 있습니다. 각 물리적 하드웨어가 서로 다른 언어를 사용하고 각 운영 체제 구성 요소 또는 애플리케이션이 동일한 언어를 사용한다고 가정하면, 서로 다른 물리적 하드웨어와 시스템 간의 통신은 혼란스럽고 비효율적일 것입니다. 하드웨어 추상화 계층이 있다면 하드웨어와 소프트웨어 사이에 번역기를 배치하는 것과 같습니다. 이 번역기는 하드웨어의 모든 언어를 이해하고 하드웨어가 말하는 내용을 시스템이나 소프트웨어가 이해할 수 있는 언어로 운영 체제 및 소프트웨어에 전달합니다. 이 메커니즘을 통해 운영 체제에 대한 하드웨어 지원이 크게 향상될 수 있습니다.
하드웨어 추상화 계층이 로드된 후 커널이 로드할 다음 키는 HKEY_LOCAL_MACHINE\System 레지스트리 키입니다. ntldr은 로드된 Select 키의 내용을 기반으로 다음에 로드해야 할 제어 집합 레지스트리 키를 결정하며(그림 2), 이러한 키에 따라 시스템이 로드하거나 시작할 장치 드라이버 또는 서비스가 결정됩니다. 이러한 레지스트리 항목의 내용을 로드한 후 시스템은 초기화 커널 단계로 진입하며, 이 시점에서 ntldr은 시스템 제어권을 운영 체제 커널에 넘깁니다.
커널 초기화 단계
이 단계에 들어가면 컴퓨터 화면에 Windows XP 로고가 표시되고 스크롤 진행률 표시줄이 여러 번 스크롤될 수 있습니다(그림 3). 이 단계에서는 화면에서 그룹화 시스템의 시각적 인상을 확인할 수 있습니다. 이 단계에서는 하드웨어 레지스트리 항목 생성, 제어 세트 레지스트리 항목 복사, 장치 드라이버 로드 및 초기화, 서비스 시작 등 네 가지 주요 작업이 완료됩니다.
하드웨어 레지스트리 항목 만들기
먼저 레지스트리에 하드웨어 키를 만들어야 합니다. Windows 커널은 이전 하드웨어 감지 단계에서 수집한 하드웨어 정보를 사용하여 HKEY_LOCAL_MACHINE\하드웨어 키를 생성합니다(즉, 레지스트리의 키 내용은 고정되어 있지 않고 시스템의 현재 하드웨어 구성에 따라 동적으로 업데이트됩니다). 구성.
제어 세트 레지스트리 항목을 복사합니다.
하드웨어 레지스트리 항목이 성공적으로 생성되면 시스템 커널이 제어 세트 항목 내용의 백업을 생성합니다. 이 백업은 시스템의 고급 부팅 메뉴에서 마지막으로 올바른 구성 옵션에 사용됩니다. 예를 들어 새 그래픽 카드 드라이버를 설치하고 시스템을 재부팅하면 하드웨어 레지스트리 항목이 성공적으로 생성되기 전에 충돌이 발생합니다. 마지막으로 올바른 구성 옵션을 선택하면 시스템이 마지막 제어 설정 레지스트리 항목의 백업을 사용하여 하드웨어 항목을 자동으로 재생성하므로 새 그래픽 드라이버 설치로 인해 시스템 설정에 변경한 사항을 취소할 수 있습니다.
장치 드라이버 로드 및 초기화
이 단계에서는 운영 체제 커널이 먼저 커널 로드 단계에서 로드된 기본 장치 드라이버를 초기화한 다음 커널이 레지스트리에서 HKEY _ local _ machine \ system \ current control set \ services for all을 찾습니다. 그런 다음 커널은 HKEY _ local _ machine \ system \ current control set \ services 아래의 레지스트리에서 시작 키 값이 "1"인 모든 장치 드라이버를 찾습니다(그림 4). 이러한 장치 드라이버는 로드되는 즉시 초기화됩니다. 이 과정에서 오류가 발생하면 시스템 커널은 장치 드라이버의 "ErrorControl" 키 값에 따라 자동으로 오류를 처리합니다.
0, 무시, 오류 메시지를 표시하지 않고 부팅을 계속합니다.
0, 무시, 오류 메시지를 표시하지 않고 부팅을 계속합니다.
1, Normal, 오류 메시지가 표시된 상태에서 부팅을 계속합니다.
2, 마지막으로 올바른 구성 옵션을 사용하여 시스템을 다시 시작하고 부팅을 중지한 후 재부팅합니다. 여전히 오류가 발생하면 무시됩니다.
3. 심각한 경우에는 부팅을 중지하고 '마지막 정상 구성' 옵션을 사용하여 시스템을 재부팅합니다. 여전히 오류가 있으면 부팅이 중지되고 오류 메시지가 표시됩니다.
서비스 시작
시스템 커널이 성공적으로 로드되고 모든 기본 장치 드라이버가 초기화되면 세션 관리자는 상위 수준의 하위 시스템 및 서비스를 시작한 다음 모든 입력 및 출력 장치를 제어하고 디스플레이 장치에 액세스하는 Win32 하위 시스템을 시작합니다. 이 모든 작업이 완료되면 Windows 그래픽 인터페이스가 표시되고 키보드 및 기타 입출력 장치도 사용할 수 있습니다.
다음으로 세션 관리자가 Win로그온 프로세스를 시작합니다. 이 시점에서 초기화 커널 단계가 성공적으로 완료되었으며 사용자는 로그인을 시작할 수 있습니다.
로그온 단계
이 단계에서는 세션 관리자에 의해 시작된 winlogon.exe 프로세스가 로컬 보안 기관(lsass.exe) 하위 시스템을 시작합니다. 이 단계가 끝나면 윈도우 XP의 시작 화면(그림 5) 또는 로그인 화면이 화면에 표시되며, 이 시점에서는 원활하게 로그인할 수 있습니다. 그러나 동시에 시스템 시작이 완전히 완료된 것은 아니며 일부 중요하지 않은 장치 드라이버가 여전히 백그라운드에서 로드될 수 있습니다.
그러면 시스템이 HKEY _ local _ machine _ \ system \ current control set \ services 레지스트리 항목을 다시 검사합니다(여기서 처음 검사한 시점이 시작 시점이었던 것을 기억하시나요?). ) 시작 키 값이 "2" 이상인 모든 서비스를 찾습니다. 이러한 서비스는 중요하지 않은 서비스이며 사용자가 성공적으로 로그인할 때까지 시스템에서 로드를 시작하지 않습니다.
팁: Windows XP가 Windows 2000보다 부팅이 빠른 이유는 무엇인가요?
현재 사용 가능한 모든 Windows 운영 체제 중에서 Windows 2000은 부팅 속도가 가장 느립니다. 이는 하드웨어 성능이 부족해서가 아니라 Windows 2000의 설계에 내재된 약점 때문입니다. 이를 보완하기 위해 Microsoft는 Windows XP를 개발할 때 중요하지 않은 모든 장치 드라이버와 서비스를 사용자가 시스템에 로그온한 후에 로드하고 실행하는 새로운 접근 방식을 고안했습니다. 즉, 시스템 시작 시 시스템이 실행되는 데 필요한 모든 프로그램을 로드하고 실행하여 사용자가 로그인할 수 있는 최단 시간 내에 로그인 화면을 표시할 수 있도록 한 것입니다. 중요하지 않은 구성 요소는 사용자가 로그온하기 전에 로드되지 않습니다. Windows XP 시작 가속은 실제로 일종의 "투기 적"접근 방식이라고 할 수 있지만 실제로는 매우 효과적입니다. 그러나 이 설계에는 몇 가지 문제도 있습니다. 예를 들어 일부 친구는 시스템이 성공적으로 로그온했지만 바탕 화면에 작업 표시 줄과 바탕 화면 아이콘을 표시하는 데 몇 분이 걸렸다고보고했습니다. 실제로 이는 시스템이 대기 시간 동안 중요하지 않은 서비스와 구성 요소를 처리하느라 바쁘기 때문입니다. 처리할 작업이 너무 많거나 컴퓨터의 하드웨어 구성이 충분히 강력하지 않은 경우 이런 문제가 발생할 수 있습니다.
팁: 중요하지 않은 서비스의 시작 순서를 제어하는 방법
알다시피, 중요하지 않은 서비스는 사용자가 성공적으로 로그인한 후에 로드되므로 이러한 서비스가 로드되는 순서를 인위적으로 제어할 수 있을까요? 사실 이것은 매우 간단합니다. 서비스의 시작 순서는 각각의 시작 레지스트리 항목의 값과 각 서비스 간의 종속성에 따라 결정됩니다. 서비스 A가 서비스 B에 종속되어 있다고 가정하면, 서비스 B가 제대로 시작될 때까지 서비스 A는 성공적으로 시작되지 않습니다. 서비스 C의 시작 키 값이 3이고 서비스 D의 시작 키 값이 6이라고 가정하면 서비스 C가 서비스 D보다 먼저 시작됩니다(값이 작을수록 우선 순위가 높습니다).
이것으로 Windows XP의 시작 프로세스가 완료되었습니다.