Windows 운영 체제는 어떻게 로드됩니까? BIOS와 UEFI란 무엇입니까? 컴퓨터를 부팅하는 방법. 컴퓨터 켜기, POST, BootMonitor

Windows 7,8,10의 로딩 속도가 느려서 지치셨나요? 예, 운영 체제를 설치하는 시간이 길어질수록 이 주제는 더 많은 고통을 받기 시작합니다. 컴퓨터는 더욱 강력해지고 생산성이 높아지고 있지만 동시에 새로운 장비용으로 개발된 프로그램에 대한 수요도 증가하고 있습니다. 예를 들어, Windows XP는 동일한 하드웨어에서 Windows 7/10보다 훨씬 빠르게 부팅됩니다.

그렇다면 이제 운영 체제의 빠른 로딩을 위해 새로운 기능을 포기해야 할까요? 아니요, 다행스럽게도 이 문제를 해결하는 데 도움이 되는 까다롭거나 그리 까다롭지 않은 트릭이 있습니다. 이 문서에서는 프로그래밍 방식으로 Windows 부팅 시간을 20초 이하로 줄이는 방법을 알아봅니다.

1단계, 서비스 및 프로세스

Windows OS에서는 불필요한 서비스가 실행되는 경우가 많아 시스템 로딩 및 작동 속도가 느려집니다. 다양한 하드웨어에 대한 지원도 있으므로 하드웨어가 제대로 작동하는지 확인하는 서비스는 시스템에서 시작됩니다. 물론 시스템에서 서비스가 필요하지 않다고 판단하면(컴퓨터에 해당 장치가 없기 때문에) 서비스가 비활성화됩니다. 그러나 서비스를 시작하고 확인하고 중지하는 데는 여전히 시간이 걸립니다.

"시스템 구성"프로그램을 시작합니다. 이를 위해 "Win ​​+ R"을 누르고 창에 다음을 작성합니다. msconfig Enter 키를 누릅니다. 일시적으로 비활성화하려면 필요한 서비스, 같은 이름의 탭으로 이동합니다.

하지만 어떤 서비스를 끌 수 있는지, 어떤 서비스는 계속 실행해야 하는지 이해해야 합니다. 대부분의 서비스에 대한 정보는 인터넷에서 쉽게 찾을 수 있으므로 이에 대해서는 자세히 설명하지 않겠습니다. 나는 단지 말할 것입니다 : 서두르지 말고 모든 것을 끄십시오. 이것은 운영 체제 작동에 슬픈 영향을 미칠 수 있습니다.

동일한 논리를 사용하여 다음 "시작" 탭에서 시스템 시작 시 로드되는 프로그램을 비활성화합니다. 자세한 내용은 별도의 기사로 제공됩니다. 새로운 시작 설정을 적용하려면 컴퓨터를 다시 시작해야 합니다.

2단계, 등록

Windows에는 레지스트리라는 약점이 있습니다. 가장 중요한 일은 고대부터 일어났습니다. 윈도우 설정계층적 데이터베이스에 저장됩니다. 로딩 속도와 Windows OS 전체의 작동은 OS가 레지스트리에서 필요한 항목을 찾는 속도에 직접적으로 의존합니다.

프로그램 제거 프로그램이 비효율적으로 작동하여 존재 및 작업에 대한 항목(매개변수, 등록된 라이브러리, 특정 파일 확장자에 대한 바인딩 등)을 레지스트리에 남겨 두는 것은 드문 일이 아닙니다. 이러한 기록은 쓰레기로 간주되어 데이터베이스를 복잡하게 만들 수 있습니다. 그리고 Reg Organizer, CCleaner, Ashampoo WinOptimizer 등과 같은 유틸리티를 사용해야 하는 이 쓰레기를 제거해야 합니다.

CCleaner를 실행하고 "레지스트리" 섹션으로 이동하여 "문제 검색"을 클릭하고 완료되면 "선택 항목 수정"을 클릭합니다.

이러한 정리 과정과 단순히 Windows가 실행되는 동안에는 레지스트리가 지속적으로 조각화될 수 있습니다. 이는 레지스트리를 조각 모음해야 함을 의미합니다. 이는 동일한 개발자의 Defraggler 프로그램을 사용하여 수행할 수 있습니다. 그러나 어떤 경우에는 레지스트리를 "정리"하는 것도 영향을 미칠 수 있다는 점을 중요하게 언급하겠습니다. 중요한 매개변수. 그러므로 반드시 먼저 확인하시고, 문제가 발생할 경우 윈도우 작업즉시 이전 상태로 복구할 수 있습니다.

세 번째 단계, 주요 단계

이제 시스템과 프로그램을 로드하는 프로세스를 심층적으로 최적화할 수 있습니다. 애플리케이션 실행 중에 추가 라이브러리 및 루틴의 긴 로딩, 조건부 분기 예측, 캐시 누락 등과 같은 많은 부작용이 발생할 수 있습니다. 이러한 데이터를 분석하는 것을 프로파일링이라고 합니다.

문제의 OS는 Microsoft에서 만들었으므로 같은 회사에서 만든 프로파일러인 Windows Performance Toolkit을 사용하겠습니다. 최근 이 도구는 Windows SDK의 일부가 되었습니다. Microsoft 웹사이트에서 웹 설치 프로그램을 다운로드할 수 있습니다.

포함된 모든 구성 요소를 설치할 필요는 없으며 Windows Performance Toolkit을 통해서만 설치할 수 있습니다.

이 도구를 사용하면 처음부터 운영 체제 부팅을 추적할 수 있습니다. Windows Performance Toolkit을 설치하도록 지정한 폴더에 있는 실행 파일 “xbootmgr.exe”가 필요합니다. 기본적으로 이 파일은 “C:\Program Files\Microsoft Windows Performance Toolkit\” 디렉터리에 있습니다.

비디오를 시청하거나 기사를 계속 읽으십시오:

유틸리티를 호출하려면 매개변수와 함께 xbootmgr.exe를 실행하십시오. 예를 들어 "-help" 매개변수는 가능한 모든 기능 목록을 표시합니다. 이렇게 하려면 "Win + R" 버튼을 누르거나 "시작 -> 실행" 메뉴로 이동하여 창에 다음 명령을 입력하세요.

xbootmgr –도움말

다음과 같이 시작하는 경우 파일에 경로를 추가할 필요가 없습니다.

단지 재미로, 실행 시 시스템이 어떻게 작동하는지 보고 싶다면 이 순간, 다음 명령을 실행합니다.

xbootmgr -추적 부팅

컴퓨터를 재부팅하고 시작하는 동안 데이터를 수집합니다. 그녀의 작업 결과는 파일에서 볼 수 있습니다 boot_BASE+CSWITCH_1.etl, xbootmgr은 자체 폴더 또는 "C:\Users\yourname" 폴더에 저장합니다. 이 파일에는 시스템이 시작될 때 프로그램의 동작에 대한 모든 정보가 포함되어 있으며 많은 흥미로운 것들을 볼 수 있습니다. 이렇게 하려면 파일을 두 번 클릭하여 분석기를 엽니다.

관심이 있으시면 정보를 연구하십시오. 다운로드 프로세스에 대한 자세한 내용은 다음과 같습니다. 각 프로세스를 시작하는 데 걸린 시간, 컴퓨터 리소스 사용 방법 등.

이제 비즈니스에 착수해 보겠습니다. 자동으로 Windows 로딩을 분석하고 속도를 높이는 프로세스를 시작하겠습니다. 다음 명령을 실행하십시오.

xbootmgr -trace boot –prepsystem

최적화 중에는 기본적으로 6번의 재부팅이 수행되며, 재부팅할 때마다 프로그램 동작에 대한 정보가 포함된 6개의 파일이 동일한 디렉터리에 저장됩니다. 이 전체 프로세스는 꽤 길지만 사용자 참여가 필요하지 않습니다. 프로그램이 진행되는 동안 성공적으로 점심식사를 하실 수 있습니다. 그리고 먼저 몇 기가바이트가 있는지 확인하는 것을 잊지 마세요. 자유 공간드라이브 "C:"에 있습니다!

재부팅 후 흰색 창에 메시지가 나타납니다(예: "부트 추적 1/6 지연 중")과 함께 카운트다운이 표시됩니다.

이 경우에는 노트북으로 작업할 필요 없이 기다리기만 하면 됩니다. 더 많은 메시지가 나타납니다. 두 번째 단계에서는 프로세서에 아무것도 로드되지 않은 상태에서 "시스템 준비 중" 창이 약 30분 동안 멈췄다가 재부팅이 발생하고 나머지 단계가 빠르게 진행되었습니다. 실제로 전체 프로세스는 한 시간 정도 걸릴 수 있습니다.

Xbootmgr은 무엇을 합니까? 보이는 것처럼 불필요한 서비스와 프로세스를 비활성화하지 않습니다. Xbootmgr은 주어진 시간에 최대 컴퓨터 리소스가 사용되도록 부팅을 최적화합니다. 즉, 프로세서가 100% 로드되고 하드 드라이브가 휴면 상태이거나 그 반대일 때 이런 일이 발생하지 않도록 하기 위한 것입니다. 또한 발생합니다. 마지막 재부팅 후에는 아무 작업도 수행할 필요가 없으며 Windows가 더 빠르게 부팅되고 작동합니다.

4단계, 위험하다

XP(모든 사람이 이를 깨닫는 것은 아니지만)와 마찬가지로 7개도 멀티 코어 프로세서를 지원합니다. 시스템 자체가 시작될 때 항상 사용 가능한 모든 리소스를 사용할 수는 없지만 이미 완전히 로드되고 사용자가 작업을 시작한 경우에만 사용하기 시작하는 이유는 명확하지 않습니다.

이는 그녀가 시스템 시작 매개변수에서 사용 가능한 리소스를 사용하도록 도와야 함을 의미합니다. 이렇게 하려면 구성을 자세히 살펴봐야 합니다. "Win + "R"키 조합을 사용하여 "실행"창을 열고 msconfig 명령을 작성하고 "확인"을 클릭하십시오. 나타나는 시스템 구성 창에서 “다운로드” 탭을 선택하세요.

"고급 옵션"을 선택하세요.

나타나는 창에서 "프로세서 수" 및 "최대 메모리" 매개변수를 최대로 설정합니다. 이제 주목!프로그램을 닫았다가 다시 열면 "최대 메모리" 값이 "0"으로 재설정되지 않았는지 확인하세요. 그렇다면 이 상자를 선택 취소하십시오. 그렇지 않으면 시스템이 전혀 시작되지 않습니다. 재부팅, 완료.

참고: RAM을 추가하거나 프로세서를 다른 프로세서로 교체하기로 결정한 경우( 큰 금액커널), 위의 매개변수를 변경해야 합니다. 그렇지 않으면 시스템은 단순히 사용하지 않습니다 추가 메모리및/또는 추가 프로세서 코어.

컴퓨터에 두 개의 운영 체제가 설치되어 있으면 오랫동안 한 운영 체제에서 다른 운영 체제로 실행할 수 없습니다. 둘 다 주의 깊게 연구한 후에 조만간 둘 중 하나만 선택해야 할 것입니다. 기본, 작업이 주로 수행됩니다. 대부분의 경우 하나의 Windows 시스템만 사용하고 다른 버전 또는 에디션은 다른 디스크 파티션에 있는 경우, 삭제할 필요는 없습니다.물론 공간이 허락한다면 하드 드라이브크기에 제한이 없습니다.

나중에 다른 컴퓨터 시스템으로 작업할 수 있는 기능은 남겨둘 수 있지만 편의상 일시적으로 사용하지 않는 시스템을 부팅에서 제거하여 기본 시스템으로의 진입을 단순화할 수 있습니다. 이 경우 필요한 운영 체제만 자동으로 로드하여 컴퓨터 시작이 단순화됩니다. 컴퓨터를 더 쉽게 시작할 수 있는 또 다른 옵션은 모든 시스템 부팅을 선택하는 창을 제거하는 것이 아니라 원하는 Windows 버전을 기본 부팅 버전으로 지정하고 다른 옵션을 선택하는 데 걸리는 시간을 줄이는 것입니다. 부트로더 창.

여러 운영 체제의 부팅 프로세스를 편집하는 방법 윈도우 시스템한 대의 컴퓨터에 설치됩니다. 이에 대한 자세한 내용은 아래에서 확인하세요.

따라서 우리의 경우에는 다음과 같은 컴퓨터가 있습니다. 설치된 버전윈도우 7과 8.1. 컴퓨터를 켜면 선택할 시스템 목록이 포함된 부트로더 창이 표시됩니다.

컴퓨터를 부팅할 때마다 올바른 시스템적절한 선택을 통해 가능합니다. 그렇지 않으면 특정 시간이 경과한 후 - 기본적으로 이는 30 초– Windows가 자동으로 로드됩니다. 목록의 첫 번째.우리의 경우는 윈도우 7, 이는 컴퓨터에 마지막으로 설치된 것이며, 보시다시피 컴퓨터가 시작된 후 우리를 맞이하는 것은 부트 로더이기 때문입니다.

글쎄, 바꿔보자. 메인 시스템인 Windows 8.1의 자동 로딩을 설정해 보겠습니다. 물론 이렇게 하려면 입력해야 합니다.

설정 섹션이 필요하며 Windows 8.1에서는 버튼의 상황에 맞는 메뉴를 사용하여 해당 섹션에 액세스할 수 있습니다.

시스템 창에서 선택 추가 옵션.

상황에 맞는 메뉴를 사용하여 Windows 7의 설정 섹션으로 이동할 수도 있지만 아이콘을 통해 호출됩니다. "컴퓨터"탐색기에서. 명령 중에서 를 선택해야 합니다.

Windows 7에서는 또한 다음을 선택합니다. 추가 옵션.

두 시스템의 추가 단계는 동일합니다.

나타나는 시스템 속성 창의 탭에서 "추가로"마지막 섹션에서 매개변수 버튼을 클릭합니다.

이제 여러 시스템의 부팅 편집을 시작할 수 있습니다. 드롭다운 목록의 옵션에서 기본 Windows 부팅을 변경합니다. 우리의 경우 사전 설치된 Windows 7을 Windows 8.1로 변경합니다.

언급했듯이 기본적으로 Windows 부트로더대기 중 30분사용자가 운영 체제를 선택할 수 있도록 합니다.

작업이 주로 하나의 시스템에서만 수행되는 경우, 자동으로 로드될 때까지 30분 동안 기다려야 할 필요가 없습니다. 다른 운영 체제가 시작되는 것을 방지할 수는 없지만 부팅 옵션을 선택하기 위해 미리 설정된 시간이 단축될 수 있습니다. 부팅 가능한 시스템 목록을 표시할 때 우리의 경우에는 다음을 설치하겠습니다. 5초 Windows 8.1 기본 시스템이 자동으로 부팅되기 전에 대기 중입니다. 이번에는 Windows 7에 로그인해야 하는 경우 선택을 하기에 충분할 것입니다.

부팅 목록에서 다른 시스템을 완전히 제거하려면 옵션을 선택 취소해야 합니다. 디스플레이 시스템 목록. 이 경우 기본적으로 부팅하도록 선택된 시스템만 시간 지연 없이 부팅됩니다.

두 번째 운영 체제가 필요한 경우 이 옵션을 만들어 입력할 수 있습니다. 다시 활동하다.

변경한 후 "좋아요"이 창 하단과 시스템 속성 창 하단에 있습니다.

모든 것 - 다운로드 목록 운영체제편집되었습니다.

위에서는 기존 운영 체제의 부팅 편집을 살펴보았습니다. 그러나 종종 컴퓨터를 시작할 때 컴퓨터에 이미 설치된 운영 체제 목록을 볼 수 있습니다. 아니요. 이는 단순히 디스크 파티션을 포맷하거나 삭제하여 두 번째 운영 체제를 제거한 후 발생하는 자연스러운 이벤트입니다. 시스템 파일수동으로, 그러나 동시에 시스템 구성에서 로드 가능성에 대한 항목이 제거되지 않았습니다.부트 로더는 시스템이 종료된 후 존재하지 않는 기본 Windows를 시작하는 옵션을 표시할 수도 있습니다. 다시 설치됨. 그건 그렇고, 이것이 주요한 것은 아니지만 시스템 전문가가 파일을 저장하지 않고 소위 Windows 새로 설치를 수행하도록 권장하는 이유 중 하나입니다. 이전 시스템그리고 디스크 파티션을 포맷합니다.

기본 Windows 시작 프로세스가 지연되지 않도록 부팅 옵션에서 기존 운영 체제를 완전히 제거하는 것이 좋습니다.

메인 시스템에서 우리는 명령을 호출합니다. 윈도우 8.1의 경우 빠른 액세스이는 버튼의 상황에 맞는 메뉴에서 구현됩니다.

우리는 필요하다 시스템 구성 섹션. 명령 필드에 값을 입력합니다.

딸깍 하는 소리 "좋아요".

Windows 7에서는 메뉴 검색창에 주요 검색어를 입력하면 보다 쉽게 ​​시스템 구성 창을 실행할 수 있습니다.

시스템 구성 창이 나타나면 탭으로 이동하십시오. 존재하지 않는 시스템 로드에 대한 항목을 선택하고 삭제합니다.

우리의 경우에는 다운로드 목록이 포함되어 있습니다. 다른 버전 Windows를 선택하고 삭제할 항목을 결정하세요. "세븐"분명히 우리에게는 어렵지 않았습니다. 그러나 다운로드 목록에 동일한 두 개의 항목이 포함되어 있는 경우 윈도우 버전, 시스템에 대한 설명은 삭제해야 하는 시스템을 파악하는 데 도움이 됩니다. 우리가 실제로 있는 Windows는 현재 Windows로 지정됩니다.

버튼으로 변경한 내용을 저장합니다. 클릭 후 "좋아요"시스템이 제공할 것입니다 재부팅.

컴퓨터를 다시 시작한 후 메인 시스템이 즉시 시작되는 것을 관찰할 수 있습니다.

로고를 그리고 "Windows 시작 중"이라고 말하는 순간 운영 체제에 어떤 일이 일어나는지 궁금한 적이 있습니까? 그리고 일반적으로 로드하는 데 시간이 오래 걸리는 이유는 무엇입니까? 결국 시스템이 시작되면 계산적인 관점에서 복잡한 문제는 해결되지 않습니다!

그렇다면 운영 체제를 로딩한다는 것은 무엇을 의미합니까? 대부분의 경우 실행 가능한 모듈을 메모리에 매핑하고 서비스 데이터 구조를 초기화하는 작업이 포함됩니다. 데이터 구조는 메모리에 있으므로 이론적으로 이를 사용한 작업은 빨라야 합니다. 모든 것은 실행 가능한 모듈을 메모리에 로드하는 과정에서 정확하게 시간이 소모된다는 것을 암시합니다.

재미삼아 OS가 시작될 때 어떤 모듈, 어떤 수량, 어떤 순서로 로드되는지 알아봅시다. 이를 확인하려면 예를 들어 시스템 부팅 로그를 얻을 수 있습니다. 제 경우 테스트 OS는 Windows 7 Enterprise x64입니다. 커널 디버거를 사용하여 부팅 프로세스를 기록하겠습니다. 커널 디버거에는 여러 가지 옵션이 있습니다. 개인적으로 저는 WinDbg를 선호합니다. 또한 로그를 눈에 더 보기 좋은 것으로 마법처럼 변환하는 몇 가지 도구도 필요합니다.

채광 및 제작

Google에서는 디버깅 설정이 쉽기 때문에 이 과정을 자세히 설명하지 않겠습니다. 우리는 시스템이 시작되는 순간부터 일어나는 모든 일에 관심이 있기 때문에 커널 디버깅 하위 시스템이 디버깅 중인 시스템에 로드되자마자 디버거가 중지되는 "Cycle Initial Break" 항목을 확인해야 합니다. . 출력을 파일에 복제하는 것은 ".logopen" 및 ".logclose" 명령을 사용하여 수행할 수 있으며 간단합니다. 다른 유용한 명령- ".cls". 명령 화면을 지우고 예, 명령 화면만 지웁니다.

우리가 관심을 갖고 있는 함수는 “MiCreateImageFileMap”입니다. 실행 파일을 메모리에 매핑하는 메모리 관리자의 내부 기능입니다. 예를 들어 시작 시 섹션이 생성될 때 메모리 투영이 발생합니다. 실행 가능 파일. 그러나 실행 파일이 메모리에 매핑되었다고 해서 해당 코드가 실행된다는 보장은 없습니다. 이 기능은 단순히 프로젝션을 생성하며, 대부분 "예약 상태"이므로 누군가 실행을 위해 모듈을 실행하기로 결정한 경우 로딩 시간을 절약할 수 있습니다. 이 함수에 로깅 중단점을 설정해 보겠습니다.

마나가 충분하다면 다음 명령을 입력하세요.
bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d 파일 이름 @rcx; g"
매직라인은 문자 그대로 다음을 의미합니다.

  • bu(해결되지 않은 중단점 설정) - 해결되지 않은 중단점을 설정합니다. 누군가 또는 무언가가 그것을 허용하지 않는 것이 아니라 설치하려면 어떤 주소에 놓을지 결정해야 할 뿐입니다. 사실은 어떤 주소에 위치해야 하는지 미리 알 수 없다는 것입니다. 모듈을 로드할 때 필수 기능, 해당 기능이 발견되면 자동으로 중단점이 설정됩니다. 이 설치 방법은 ASLR이 활성화된 경우 필수입니다. 모듈은 매번 하나씩 로드되므로 주소 공간 무작위화입니다. 다른 주소, 고정 주소에 설정된 중단점은 실패할 가능성이 높습니다.
  • nt!MiCreateImageFileMap은 중지할 기호입니다. WinDbg는 "module_name!function_name" 형식의 항목을 허용합니다. 이 경우 nt는 ntoskrnl.exe에 대해 미리 정의된 별칭입니다.
  • 다음은 이 기능이 중지될 때마다 실행되는 WinDbg 스크립트의 일부입니다. 러시아어로 "dt nt!_EPROCESS -d ImageFileName @$proc"은 "현재 프로세스" 의사 레지스터에 정의된 주소에 표시되는 경우 nt 모듈에서 _EPROCESS 구조의 ImageFileName 필드를 표시함을 의미합니다. 구분 기호 ";" 다음 이 명령은 거의 동일한 것을 의미하며 함수의 첫 번째 매개변수가 Microsoft x64 ABI에 전달되는 rcx 레지스터에서 구조의 주소만 가져옵니다. "g"는 "가다"를 의미합니다. 계속해서 실행하세요.

로깅 중단점 사용에 대한 빠른 팁: 디버거 확장("!"으로 시작하는 명령)을 사용하지 마십시오. 이렇게 하면 로깅 속도가 훨씬 느려집니다.

가다! 브레이크포인트 브레이크를 풀고 기다리세요. 데스크탑이 로드될 때까지 기다렸습니다. 로그인했습니다. 결과 "수확"은 약간 편집되었으며 추가 처리의 편의를 위해 불필요한 모든 것을 잘라내어 비단뱀에 공급합니다. 로그 분석에 집중하지 마세요. 노드가 서로 겹치기 때문에 추가 수동 수정을 통해 그래프가 아르키메데스 나선 모양에 적합하다는 점만 알아두겠습니다. 결과 그래프는 라이브러리가 로드되는 순서를 고려합니다. 불행하게도 그래프의 가독성을 위해 라이브러리와 관련된 실행 파일의 로딩 순서를 희생해야 했습니다.

별 지도


여러 개의 로딩 그룹을 임시로 선택해 보겠습니다.

OS는 OS의 핵심인 ntoskrnl.exe 모듈에서 작동을 시작합니다. 그리고 더 구체적으로 말하면 KiSystemStartup() 함수에서요. 다운로드 가능한 시스템 구성요소와 함께 운영 모드 분리, 사용자 애플리케이션을 위한 기본 서비스 등 OS의 기반을 형성합니다. 이 그룹에는 시스템 시작 중에 로드되도록 표시된 드라이버도 포함됩니다. 간단히 말해서 Windows OS는 이 쉘에서 탄생합니다.

다음 노드는 세션 관리자입니다. 그는 이후 첫 번째 사람으로 소개됩니다. 시스템 프로세스, Windows에서 시작 - smss.exe. 이 과정은 네이티브로 유명합니다. 윈도우 프로세스즉, 일반적으로 아직 로드되지 않은 Win32 하위 시스템을 사용하지 않습니다. 이 프로세스에서는 OS 서비스에 대한 사용자 모드 인터페이스인 ntdll.dll을 통해 기본 운영 체제 서비스만 사용합니다. 이 프로세스는 운영 체제의 신뢰할 수 있는 구성 요소이기도 하며 보안 토큰을 생성할 수 있는 등의 독점 권한을 갖습니다. 그러나 주요 목적은 그래픽 및 다양한 실행 파일(Windows, POSIX) 모두 세션을 생성하고 하위 시스템을 초기화하는 것입니다. 이 쉘은 모든 사람의 요구를 충족합니다.

로그온 그룹은 여러 프로세스로 구성됩니다. 일반적으로 세션 초기화를 담당합니다. 여기에는 시작 화면 표시, 데스크탑 생성, 시작 프로세스 시작, 보안 하위 시스템 초기화 등이 포함됩니다. 이 빗자루는 모든 낯선 사람을 쓸어 버립니다.

서비스 그룹이 가장 큰 것으로 나타났습니다. 그 양의 대부분은 SuperFetch 서비스 덕분입니다. 주말에 미리로드한다고하는 것이 바로 이것입니다 오피스 스위트, 그리고 일주일이 시작될 때-장난감으로 찌십시오. Superfetch는 시스템이 시작될 때 엄청난 수의 모듈을 로드하므로 나중에 "모든 것이 더 빠르게 작동"합니다. 그 외에도 시스템에는 충분한 서비스 응용 프로그램과 자동 시작 드라이버가 있습니다. 모두가 서비스 및 응용 프로그램 스냅인을 본 적이 있을 것입니다. 이 생명의 별은 시스템에 필요한 모든 것을 가져오지만 그리 많지는 않습니다.

마지막으로 언급할 것은 모두가 좋아하는 explorer.exe입니다. 주목할 만한 점은 시작할 때 사용하는 모든 모듈이 이미 메모리에 로드되어 있다는 것입니다. 스크린샷에는 특정 vcredist_x64.exe도 포함되어 있습니다. 불쌍한 동료는 실험용 가상 머신의 바탕 화면에 누워 있었고 지휘자가 메모리에 로드했습니다.

일반적으로 모듈을 메모리에 로드하는 방법에는 여러 가지가 있습니다. 예를 들어 아이콘을 포함하여 실행 파일의 리소스에서 정보를 요청하는 것으로 충분합니다. 구체적으로 이 예에서는 Explorer는 이 프로그램에 높은 권한이 필요한지 확인했습니다. 노란색-파란색 방패가 있는 해당 그림을 아이콘에 추가할 가치가 있습니까? 모듈을 메모리에 로드하는 것이 해당 코드를 실행하는 것을 의미하지 않는다는 점을 다시 한 번 언급하겠습니다!

개인적으로 나는 결과 사진을 가까이에 보관합니다. 예를 들어 드라이버의 종속성을 명확하게 보여줍니다. 또한 Sysinternals Autoruns 유틸리티와 함께 ​​사용하면 특정 모듈을 로드하는 단계를 확인할 수 있습니다.

다운로드 그래프는 설치된 Windows 7 Enterprise x64용으로 작성되었습니다. 가상 기기 VM웨어. 아래는 벡터 이미지그래프와 직접 gml 형식의 파일을 생성하여 모든 그래프 편집기에서 사용할 수 있습니다.

운영 체제 파일은 디스크(하드 또는 플로피)에 있습니다. 그러나 프로그램은 RAM에 있는 경우에만 실행될 수 있으므로 운영 체제 파일을 RAM에 로드해야 합니다. .

컴퓨터를 켜면 장치를 테스트하고 컴퓨터를 제어하는 ​​프로그램인 OS로 부팅을 시도합니다.

이 과정을 부트스트랩.컴퓨터 전원을 켜면 자동으로 실행됩니다.

컴퓨터를 켜면 운영체제가 로드됩니다. 시스템 디스크부팅 프로그램에 따라 실행되어야 하는 RAM에 저장됩니다.

컴퓨터에는 컴퓨터 테스트용 프로그램과 운영 체제 로딩의 첫 번째 단계를 포함하는 읽기 전용 메모리(ROM)가 포함되어 있습니다. 바이오스(기본 입출력 시스템). ROM은 시스템 보드에 위치하며 배터리로 전원을 공급받기 때문에 컴퓨터를 꺼도 그 안에 기록된 프로그램이 지워지지 않습니다.

컴퓨터를 켜면 이러한 프로그램이 실행되기 시작하고 이 프로세스의 진행 상황에 대한 정보가 디스플레이 화면에 표시됩니다. 먼저 하드웨어를 테스트하고 구성한 다음 운영 체제가 로드되기 시작합니다.

이 단계에서 프로세서는 디스크에 액세스하여 특정 위치(디스크의 1개 섹터)에서 아주 작은 부트로더 프로그램이 있는지 찾습니다. 마스터 부트.디스크가 시스템 디스크인 경우 Master Boot가 제자리에 나타나고 메모리로 읽혀지고 제어권이 해당 디스크로 전송됩니다. 그러면 Master Boot는 디스크에서 기본 부트 로더를 검색합니다. 부트 섹터,이를 메모리에 로드하고 제어권을 메모리로 전송합니다. 다음으로, 메인 부트 로더는 나머지 운영 체제 모듈을 검색하여 RAM에 로드합니다.

시스템 디스크가 아닌 디스크를 드라이브에 삽입하거나 디스크가 전혀 없는 경우 모니터 화면에 다음과 같은 메시지가 나타납니다. 시스템 디스크가 아닌,컴퓨터가 멈췄습니다.

운영 체제 로딩이 완료되면 제어권이 명령 프로세서로 전달됩니다. 인터페이스를 사용하는 경우 명령줄시스템 프롬프트가 화면에 나타납니다. 그렇지 않으면 부팅됩니다. GUI.

최신 운영 체제의 용량은 수십, 수백 메가바이트이므로 모든 운영 체제 파일을 RAM에 동시에 배치할 수는 없습니다. 컴퓨터가 작동하려면 RAM에 제어하는 ​​모듈이 있어야 합니다. 파일 시스템, 명령 프로세서 및 연결된 장치 드라이버. 그래픽 인터페이스를 제공하는 운영 체제 모듈은 사용자 재량에 따라 RAM에 로드될 수 있습니다.

자제력을 위한 질문 1. 운영체제가 왜 필요한가요? 2. 운영 체제에는 어떤 구성 요소가 포함되어 있습니까? 3. 파일 이름은 무엇이며 이름은 어떻게 설정되나요? 4. 어떤 확장이 있을 수 있나요? 텍스트 파일? 5. 빠른 디스크 포맷과 전체 디스크 포맷의 차이점은 무엇입니까? 6. 단일 레벨과 계층형의 차이점은 무엇입니까? 파일 구조? 7. 파일에 어떤 작업이 가능합니까? 8. 운영 체제 로딩의 주요 단계는 무엇입니까?
설정 윈도우 인터페이스 공부할 질문: 1. 윈도우 데스크탑. 1.1. 개체 아이콘 및 레이블. 1.2. 창문. 1.3. 작업 표시줄. 1.4. 디스플레이 패널. 2. 폴더 창 구조. 2.1. 제목 줄. 2.2. 창 크기를 제어하는 ​​버튼입니다. 2.3. 시스템 아이콘입니다. 2.4. 메뉴 바. 2.5. 도구 모음. 2.6. 주소 표시 줄. 2.7. 작업 분야. 2.8. 상태 표시 줄.

운영체제 Windows 제품군– 가장 보편적입니다. 그들은 함께 작업하는 데 사용할 수 있습니다 사무실 프로그램, 소비자 인터넷 사용, 교육 및 오락 목적으로 사용됩니다. 모든 수술실이 그렇듯

컴퓨터 부팅 프로세스는 BIOS 섹션의 "PC 켜기" 문서에 간략하게 설명되어 있습니다. 이 과정을 더 자세히 살펴보겠습니다.

BIOS를 사용하여 시스템 초기화

  1. 전원 버튼을 누르는 중입니다.항목의 전원 버튼을 켤 때 마더보드공급 전압이 공급됩니다. Power Good 신호는 클록 생성기를 시작합니다. 재설정 신호가 프로세서로 전송되어 프로세서가 원래 상태로 재설정됩니다. 시스템 BIOS 프로그램이 실행되기 시작합니다.
  2. BIOS 확인. ROM에 있는 시스템 프로그램의 체크섬은 셀 중 하나에 있습니다. 시작 후 체크섬이 다시 계산되어 기준 값과 비교됩니다.
  3. 프로세서 식별.마더보드는 설치 기능을 제공합니다. 다양한 모델프로세서. BIOS는 프로세서 식별 요청을 제출하고 수신된 응답을 기반으로 프로세서 유형, 주파수, 전압 등을 결정합니다.
  4. 기본 요소를 설정합니다.기본 구성요소가 초기화되고 테스트되었습니다. 마더보드: 직접 메모리 접근 블록, 타이머, 하드웨어 인터럽트 블록.
  5. RAM 테스트.메모리 모듈의 유형, 볼륨 및 구성이 결정됩니다. RAM의 처음 64KB가 테스트됩니다.
  6. 작업 RAM 구조의 구성. BIOS를 위한 영역이 할당되고 인터럽트가 구성됩니다.
  7. CMOS 메모리와 배터리를 확인합니다. CMOS 배터리에 결함이 있는 경우 메모리에 저장된 모든 BIOS 설정 데이터가 손실됩니다. 모니터 화면에 표시된 대로 최신 구성을 로드할 수 없게 됩니다. 표준 공장 BIOS 값을 로드할 수 있습니다.
  8. 마더보드 장치를 초기화하는 중입니다.부팅 장치가 검색되고 구성됩니다( HDD, CD 드라이브, FDD), 부팅 프로세스 제어(키보드, 마우스), 입/출력 장치(COM, LPT). 장치에는 적절한 인터럽트 라인이 할당됩니다.
  9. PnP.시스템 커넥터를 통해 연결된 장치가 식별됩니다. 장치에는 리소스와 인터럽트가 할당됩니다.
  10. 비디오 시스템을 켜십시오.모든 비디오 컨트롤러에서 지원되는 VGA 또는 EGA 모드로 비디오 컨트롤러를 구성하는 비디오 BIOS가 시작됩니다. 그러면 비디오 컨트롤러를 사용할 수 있습니다.
  11. 모니터 화면에 메시지를 표시합니다.첫 번째 메시지는 모니터 화면에 나타납니다: BIOS 제조업체, 프로세서 유형 및 주파수, RAM 유형 및 용량.
  12. RAM 테스트.사용되지 않은 RAM을 무작위로 검사합니다.
  13. 디스크 드라이브 컨트롤러를 초기화하는 중입니다.
  14. 하드 드라이브 컨트롤러를 초기화하는 중입니다.
  15. 키보드를 초기화하는 중입니다.키보드 컨트롤러가 켜지고 접촉 매트릭스가 테스트되고 폴링 키 및 NumLock 모드에 대한 임시 매개변수가 설정됩니다. 키보드를 사용할 준비가 되었습니다. 사용할 수 있다는 메시지가 화면에 나타납니다. BIOS 프로그램설정(보통 Del 키가 사용됩니다).
  16. 자체 BIOS가 있는 장치를 검색합니다.그러한 장치가 발견되면 해당 장치의 BIOS 프로그램으로 제어권이 이전되고 초기화됩니다.
  17. OS 부트로더로 제어권을 이전합니다.소프트웨어 인터럽트 Int 19h에 따라 OS 부트 로더가 디스크 드라이브에서 검색됩니다( 부트 레코드). 장치(HDD, CD, FDD, SCSI) 중 하나에 있어야 합니다. 부트로더 위치는 어디에서나 동일합니다. OS 로더가 발견되면 제어권이 OS 로더로 전송됩니다.

운영 체제 로딩

운영 체제(OS) 커널이 RAM에 로드된 후 OS의 주요 부분이 시스템 메모리에 저장됩니다.


BIOS가 "대략적인" 설정을 수행합니다. 컴퓨터 시스템. 주요 임무는 특정 수정에 관계없이 컴퓨터 하드웨어에 생명을 불어넣는 것입니다. 프로세서, 마더보드, 칩셋 및 기타 장치의 새로운 모델이 거의 분기별로 출시됩니다. BIOS에 이러한 모든 다양성에 대한 식별을 즉시 포함시키는 것은 불가능합니다. 예, 그럴 필요는 없습니다. BIOS의 주요 작업은 하드웨어를 초기화하고 운영 체제를 시작하는 것입니다. 운영 체제는 자체적으로 컴퓨터 구성 요소를 미세 조정합니다.


개인용 컴퓨터 개발 초기에는 시스템 구성을 위해 사용자에게 적절한 자격이 필요했습니다. 확실히 숙련된 사용자는 여전히 다음과 같은 파일을 기억합니다. 구성.exe그리고 autoexec.bat, "카트"가 정상적으로 움직이려면 올바르게 조정되어야했습니다.


무엇을 해야 할까요? 이는 IBM 개방형 아키텍처의 또 다른 측면이었습니다. 원하는 구성의 컴퓨터를 편리하게 얻으려면 올바르게 구성하는 방법에 대한 지식에 대한 비용을 지불해야했습니다. 이러한 불편함은 준비되지 않은 사용자들을 겁나게 했고, 따라서 PC 제조업체들은 이러한 상황을 오랫동안 참을 수 없었습니다. 제조업 자 컴퓨터 장비소프트웨어 개발자들은 소비자로부터 컴퓨터를 구성할 필요성을 최대한 제거하려고 노력해 왔습니다. 처음으로 새로운 시스템 설정 절차가 OS에 적용되었습니다. 윈도우- 운영 체제 자체가 연결된 장치를 "쿼리"하고 올바르게 구성했습니다.

  • 소프트웨어 구성이 필요한 장치 목록이 결정되었습니다.
  • 적합한 프로그램을 찾았습니다 올바른 작동그러한 장치;
  • 장치의 소프트웨어 초기화 및 작동 모드 설정 절차가 수행되었습니다.

이 작업은 일반적으로 매우 어렵습니다. 구현을 용이하게 하기 위해 칩셋 제조업체와 소프트웨어 개발자는 부트스트랩 메커니즘에 대한 특정 규칙에 동의하고 설정했습니다. 이제 초기화 및 구성이 필요한 컴퓨터 시스템의 구성 요소에 적절한 장치가 장착되었습니다. 소프트웨어(프로그램, 드라이버, INF 파일 초기화):

  • 초기화 프로그램특정 주소에 제어 코드를 입력합니다(일회성 절차).
  • 드라이버- 해당 장치의 컨트롤러 동작을 제어하는 ​​프로그램입니다.
  • INF 파일- OS가 특정 컴퓨터 장치를 설정하는 절차를 구성하는 데 도움이 되는 명령 파일입니다.

초기의 윈도우 부팅관리된다 배치 파일에는 OS 부팅 프로세스 중에 실행되는 프로그램 및 드라이버 목록이 포함되어 있습니다. 이것은 소위 "빈" 명령 파일입니다. 초기 작업 중에 이 파일이 있어야 합니다. Windows 설치이 컴퓨터에 설치된 장비에 따라 컴퓨터에서 작동 버전으로 변환됩니다.


Windows에는 특정 범용 드라이버 세트가 있습니다. 새로운 버전 OS)를 사용하면 모든 시스템 구성 요소를 구성할 수 있습니다. 공정하게 말하면 다음과 같습니다. 범용 드라이버 Windows가 항상 생산할 수 있는 것은 아닙니다. 최적의 설정하나 또는 다른 장치의 성능 저하로 인해 전체 컴퓨터 시스템의 성능과 안정성이 저하됩니다. 따라서 모든 장치에는 자체 설치 소프트웨어(일반적으로 CD)가 제공됩니다. ~에 초기 설치새로운 Windows 장치적절한 드라이버가 포함된 디스크를 설치하라는 메시지가 표시될 수 있습니다. 올바른 설정새로운 장치. 또한 마더보드 칩셋에 대한 새 버전의 드라이버 출시(오류 수정, 성능 최적화 등)를 모니터링하고 정기적으로 업데이트하는 것이 좋습니다.