본문 바로가기

Computer Engineering/System

[퍼옴]부팅은 어떤 순서로 이루어지나?

From Evernote:

[퍼옴]부팅은 어떤 순서로 이루어지나?

Clipped from: http://www.terms.co.kr/boot.htm
[주의]

이 순서는 맥, 유닉스, OS/2 등 운영체계에 따라 조금씩 다를 수 있지만, 컴퓨터를 켰을때 운영체계는 대개 다음 순서에 의해 자동으로 부트된다.

1.

컴퓨터는 켜지자마자 컴퓨터 롬(ROM)에 들어있는 바이오스가 기동되며 임무를 시작한다. 바이오스는 롬에 저장되어 있기 때문에 램에 저장된 정보와는 달리, 컴퓨터를 끄더라도 그 내용이 지워지지 않는다.

2.

바이오스는 컴퓨터 부분품이 운영될 수 있는 상태인지를 확인하기 위하여 포스트(POST ; power-on self test)라고 불리우는 테스트를 수행한다. 그런 다음 바이오스의 부트 프로그램은 하드디스크에 있는 운영체계를 실제로 로드 시키기 위한 특별한 부트 프로그램들을 찾는다.

3.

제일 먼저, 컴퓨터는 운영체계 부트 파일이 위치해 있는 위치를 찾기 위하여 A 드라이브를 찾아본다(만약 A 드라이브가 없거나, 아니면 바이오스 셋업에서 다른 드라이브를 먼저 찾아보도록 셋팅한 경우는 예외이다). 이때 만약 운영체계가 MS-DOS인 경우라면 컴퓨터는 IO.SYS와 MSDOS.SYS라고 이름 붙여진 두 개의 파일을 찾게된다. 만약 A 드라이브에 시스템 디스크가 아닌 디스켓이 들어있다면, 바이오스는 "A 드라이브에서 시스템 디스크를 찾을 수 없다"는 에러메시지를 내보낸다. 그러나 A 드라이브가 비어있는 경우, 바이오스는 하드디스크에서 시스템 파일을 찾는다.

4.

부트 파일이 위치해 있는 드라이브를 인식하고 나면, 바이오스는 첫 번째 섹터에 있는 정보를 찾아 메모리에 로드하기 위해 복사하게 되는데, 이 정보가 바로 마스터 부트 레코드(MBR ; Master Boot Record)라고 알려져 있는 정보이다.

5.

그 다음 부트 레코드를 메모리의 특정 위치(16진수로 7C00 번지에 해당한다)로 복사해 넣는다.

6.

부트 레코드는 이제 바이오스가 다른 곳으로 분기하거나 컴퓨터의 부트 레코드에게 통제를 넘겨주기 위한 프로그램을 담고 있다.

7.

부트 레코드가 초기 시스템 파일(MS-DOS인 경우 IO.SYS)을 디스켓이나 하드디스크로부터 읽어서 메모리에 로드한다.

8.

초기 파일(IO.SYS인 경우 SYSINIT이라고 불리우는 프로그램)은 운영체계의 나머지 부분을 메모리로 로드한다.(이 시점이 되면 부트레코드는 더 이상 필요없기 때문에 부트레코드가 차지하고 있던 영역에 다른 데이터가 덮어씌워지는 경우도 있다).

9.

초기 파일(예를 들어 SYSINIT)이 시스템 파일(예를 들어 MSDOS.SYS)을 로드한다.

10.

초기에 로드되는 시스템 파일 중에 하나로 시스템 구성 파일(DOS의 경우 CONFIG.SYS)이 있다. 시스템 구성파일은 로드해야 할 특정 시스템 파일(예를 들어 각종 장치를 위한 드라이버 파일들)들에 관한 정보를 담고 있다.

11.

함께 로드되는 또 다른 특수 파일중에 하나는 특정한 응용 프로그램이나 사용자가 부트 과정 중에 실행되길 원하는 명령어들을 담고 있는 파일이 있다. DOS의 경우에는 이 파일은 AUTOEXEC.BAT이라고 부르고, 윈도우에서는 WIN.INI라고 부른다.

12.

운영체계와 관련된 모든 파일들이 로드되고 나면 컴퓨터의 통제권은 운영체계로 넘어가게된다. 이어서 운영체계는 요구된 초기 명령어들을 수행하고 난뒤, 곧바로 사용자의 입력을 통한 명령을 수행하기 위해 대기하게 된다.

Posted via email from zzackzack2's Space

'Computer Engineering > System' 카테고리의 다른 글

[Lord of BOF] orge 정복기  (1) 2011.12.28
[Lord of BOF ] Darkelf 정복기  (0) 2011.12.27
[ESPC2] 0x08 Wolfman 정복기  (0) 2011.12.26
[ESPC2] 0x07 정리  (0) 2011.12.24
[ESPC2] 0x07 Eggshell  (0) 2011.12.24