메뉴 건너뛰기

Chsoo's Windows 공부방



기획 연재/ 윈도우즈 XP, 구조와 원리 샅샅탐험. 1부 윈도우즈XP 부팅과정

갖가지 컴퓨터 하드웨어를 팔다리 쓰듯 부리는 것이 운영체제 소프트웨어(Operating System, 이하 OS)다. OS도 유닉스, 리눅스들이 있는 것을 보면 종류도 많다. 그 가운데 미국 마이크로소프트사가 만든 윈도우즈 XP를 손꼽는다. 많은 사람이 쓰고 있지 않은가.
 
1부. 윈도우즈 XP 부팅과정을 알아본다

2001년, 윈도는 컴퓨터 역사 페이지를 한 장 넘겼다. 윈도98에서 윈도XP로 바뀐 것이다. 윈도XP는 얼굴을 찌푸리게 했던 윈도98보다 안정성이 훨씬 좋다. 부리는 재주도 많아졌지만 안정성만큼 중요하겠는가. 그러나 100% 완벽한 사람이 없듯 윈도우즈XP도 골치를 썩인다. 또 윈도98보다 속 알맹이가 복잡한 윈도XP는 말썽을 부렸다 하면 손쓰지 못할 정도다. 윈도우즈XP는 왜 말썽을 부리는가. 윈도우즈XP가 지닌 구조와 원리를 파헤쳐보고 에러 유형을 알아내 보자. 대처법과 예방법도 간략하게 살펴본다.

윈도우즈 XP 작동 구조
PC를 전원을 켜면 몇 초 지나지 않아 윈도우즈 시작음과 함께 윈도우즈 XP 바탕화면이 뜬다. 윈도우즈는 부팅하는 동안 ‘윈도우즈 시작 중’이라는 말만 되풀이할 뿐 어떻게 돌아가고 있는지 보여주지 않는다. 볼 필요 없는 걸까? 어차피 알려줘 봤자 쓸모가 없어서? 그렇지 않다. PC는 전기를 받아 어떻게 깨어나고 윈도우즈는 어떤 구조로 돌아가는지 알아둬야 말썽장이 윈도를 내 맘대로 주무를 수 있다. 시동화면을 벗기로 숨겨진 화면 속으로 넘어가 보자.

 

 

자가 진단하는 PC
전원을 켜자마자 PC가 처음으로 하는 일이 무엇일까? 사람이 잠에서 깨어나 기지개를 펴듯 메인보드의 롬(ROM)에 저장된 바이오스(Basic Input Output System) 프로그램을 불러온다. 바이오스는 갖가지 하드웨어 입출력을 제어하는 PC의 가장 기본 프로그램이다. 바이오스는 우선 그래픽카드 정보를 읽고 이것을 화면으로 보여준다.
그런 다음 자기 진단 프로그램인 포스트(POST, power on self test)가 CPU나 메모리 용량, 하드디스크 등을 체크한다. 이 단계에서 문제가 없어야 윈도우즈가 부팅 단계를 제대로 밟는다. 다음으로 바이오스는 하드웨어를 돌리는 소프트웨어 즉 구동 드라이버를 찾는다.
구동 드라이버 파일의 머리부분에 기록된 맨 앞 512바이트에는 ‘MBR(Master Boot Recoder) 영역이 있다. MBR은 선도부장(부트 스트랩 로더 프로그램)과 하드디스크 파티션 구성을 알려주는 네 가지 ‘파티션 테이블’ 정보가 기록되어 있다. 선도부장은 하드디스크에서 잠자던 운영체제를 깨워 바탕화면을 띄우기까지 부팅과정을 이끄는 일을 한다.
바이오스는 선도부장에게 “PC를 켰으니 일을 시작하라. 이제 너에게 모든 권한을 넘기겠다”고 한다. 명령을 받은 선도부장은 파티션 테이블을 참조해서 각 파티션 맨 앞에 있던 행동대원(NT loader)을 부추겨서 윈도우즈 XP 커널을 부른다. 부팅은 이렇게 바이오스, 선도부장인 부트 스트랩 로더, 행동대원인 NT 로더가 함께하는 과정이다.

NT 로더가 윈도우즈XP를 일으키는 핵심
하드디스크에서 곤히 잠자던 커널은 NT 로더가 깨운다. NT 로더는 먼저 boot.ini 파일을 읽어서 윈도우즈가 수행할 장소를 알아둔다. 그 다음 NTDETECT.COM을 불러 PC에 달린 장치를 점검하게 하고 system32 폴더 안에 담긴 ntoskrnl.exe를 깨운다. 이 ntoskrnl.exe가 바로 윈도우즈 커널의 실체다.
윈도우즈 커널은 작업 수행부와 보호막으로 나눈다. 전문용어로 NT 실행부와 HAL(hardware abstraction layer)이다. 보호막은 응용 프로그램이 하드웨어를 직접 조정하는 것을 막는다. 윈도우즈는 보호막에게 장치 드라이버나 갖가지 필요한 파일을 부르게 한다. 그런 다음 winlogon.exe를 작동시켜 로그온 화면을 띄운다. userinit.exe가 이용자 설정을 읽고 로그온이 제대로 되면 explorer.exe를 수행하면서 윈도우즈 바탕화면을 그려낸다. 여기까지가 윈도우즈 XP 부팅 과정이다.

 

위 내용은 베타 뉴스에서 퍼온 글 입니다.
번호 제목 글쓴이 날짜 조회 수
공지 많이 애용해 주세요. [2] 김창수 2000.01.01 8686
60 전세계 역사상 가장 위대한 소프트웨어 김창수 2006.12.14 10075
59 xp 부팅에러(Unmountable Boot Volume" Win XP) 복구방법 [1] 노행근 2005.12.30 9771
58 윈도우 업데이트 실패(0x80246008 오류)문제 해결 김창수 2006.04.14 9769
57 저번의 (hot swap)과 핫플러그(hot plug)의 차이점이에 대한 부연 설명입니다. [3] 안병태 2007.02.28 8863
56 WindowsXP에서 Ipv6 설정하는 방법 노행근 2005.12.30 8019
55 알아두면 편리한 윈도우 명령어 김창수 2008.02.15 7844
54 윈도우비스타 SP1 무엇이 달라지나? [2] file 김창수 2008.02.11 7738
53 '일반 볼륨' 장치를 지금 중지할 수 없습니다. 대처법 file 김창수 2010.04.22 7609
52 핫스왑과 핫플러그는 현재 하드웨어 부문에서 주로 쓰여지는 말입니다. [1] 안병태 2007.03.01 6459
51 알아두면 편리한 윈도우XP 기능 60가지(41~60) file 김창수 2008.09.22 5932
50 윈도우 7 이미지 모음 file 김창수 2008.11.04 5596
49 윈도우 업데이트 실패 (0xC800021F 오류)발생시 김창수 2006.04.14 5262
48 PC에서 나의 흔적 없애는 방법 김창수 2007.09.06 5218
47 알아두면 편리한 윈도우XP 기능 60가지(21~40) file 김창수 2008.09.22 5160
46 주요 관리목적 공유폴더와 그 위험성 [1] file 김창수 2005.04.21 5108
45 알아두면 편리한 윈도우XP 기능 60가지(1~20) file 김창수 2008.09.22 4987
44 Windows 자동 재부팅 막기 [2] 김창수 2004.12.31 4840
43 구글 크롬, 출시 하루만에 점유율 1% 돌파 file 김창수 2008.09.04 4710
42 필요없는 ActiveX를 지우는 방법 김창수 2006.08.25 4665
41 윈도우즈 XP 팁 BEST 60 [1] 젊은아찌 2005.04.25 4332
40 해킹방지 위한 최소한의 예방조치법(퍼옴.) 김창수 2006.04.06 4179
39 PC방에서 가장 먼저 해야 할 일 김창수 2006.07.28 4140
» 윈도우XP 구조와 원리 샅샅탐험 (1부) - 윈도우XP 부팅의 비밀 관리자 2003.09.09 4097
위로