제목 없음




color=#ffffff>자료출처 : 김동수님의 C 강의


 


제3강


 


====================================================================


WINDOWS(DOS) 가 작동되기까지


====================================================================


 


컴퓨터를 켠다


 


1. cpu 에 전기가 들어간다.


2.clock 을 발생시키는 칩이 cpu 에게 심장박동을
시켜준다.


3. cpu 는 ROM BIOS 가 있는 ROM 부분 (주소는
0xffff0 번지)에 있는


style="TEXT-INDENT: 10pt; mso-char-indent-count: 1.0; mso-char-indent-size: 10.0pt">데이터를
읽어오기 시작한다.  


[ROM은 전기가 나가도 데이터를 기억하는 특성{ 쓰기 방지된  카세트 테잎처럼}이


 있기 때문에 CPU 가 막 시작할때에도 읽어올 수 있는것입니다.


 


4.ROM 
의 역할


ROM 은 용량이 작은 메모리이라서 많은  프로그램을 저장할 수 없다.


그래서 이것은 컴퓨터의 시스템을 점검하고나서 운영체제를 메모리상으로 올리는


역할을 합니다. 이 운영체제는 다른 많은 프로그램을 메모리상으로 올리는
능력을 가지고


있다,


 


메모리상으로 프로그램을 올린다는 이야기는 요리를
준비한다는것인데 즉 도마위에


   
요리책 과 재료를 올려놓았다는것으로 프로그램을 실행한다는것이다,


 


 DOS.


프로그램이 하드 디스크에 있는  많은 프로그램을 자유롭게 불러 올 수 있다.


 DOS는 (Disk 
Operating System)의 준말이다.  즉 "디스크
작동  시스템"


이라는 뜻이다. 


 


System 이란 컴퓨터 전체를 말하는 유기적인 장치들의 set  를 말한다.


Dos 는 이러한 유기적인 장치{ 램 ,cpu,그래픽 카드 등등}들을
작동시킨다.


디스크란 컴퓨터의 소프트 웨어를 저장하는 장치이다.


그래서 이장치를 작동 시킨다는 것은  곤 컴퓨터를 작동 시킨다는 된다.


DOS 까지만 정상적으로
메모리(RAM)에 올라오면  그다음 부터는 하드디스크의


 프로그램 파일을 메모리상으로  불러 오는것은 DOS 가 할 줄아는 쉬운 일이다.


 


 


 


컴퓨터를 키고 나서  DOS가 메모리에 올라오기 까지의 일련의  과정을 우리는


 부트 
프로세싱(Boot processing)이라고 한다. 


 


 


===================================================================


 시스템 프로그래머와 응용 프로그래머


====================================================================


DOS 
,Windows 등은 운영체제이며 이 프로그램을 시스템 프로그램이라하며, 컴퓨터라는


시스템을구성하는 
각 장치를   작동 시키는 프로그램이다. 워드 나 한글 같은
것은


 
운영체제를 기반으로 하는 윈도우 응용 프로그램이라고 한다.


프로그램을 시스템 프로그래밍 ( low level) 과 응용 프로그래밍(high level )로 나누어


 부른다    


 


 


 ROM_BIOS (부팅) style="FONT-FAMILY: Wingdings; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 바탕; mso-char-type: symbol; mso-symbol-font-family: Wingdings"> style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">è 운영체제(win,DOS  같은것)
style="FONT-FAMILY: Wingdings; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 바탕; mso-char-type: symbol; mso-symbol-font-family: Wingdings"> style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">è 응용 프로그램(한글  같은 것)


 


 


====================================================================


 CPU 는 1바이트단위로
16(2)진수로 된 숫자[기계어]를 읽는다


style="mso-spacerun: yes"> 그래서 컴퓨터는 문자단위(문자: 1바이트) 로 읽는다라고도 한다


===================================================================


 


 


기계어: 컴퓨터가 알아듣고 수행할 수 있도록 0과 1의 이진법 숫자로 만든
기초적인


언어


 


Cpu가 알아 듣는 말은 기계어 뿐이다


이 기계어(machine language)는 0 부터 255 까지
256가지의 숫자들인데 이는


한 바이트가 256까지 나타내기 때문이다. 이숫자들은  2진수와 16진수로 표현된다.


인간이 6각형의 주사위 놀이{1~6}를 한다면 컴퓨터는 256 각형의
주사위(0~255) 놀이를


 한다고 볼 수 있다


인간이 1에서 10까지의 숫자를 센다면 컴퓨터는 0 과 1까지의
수(2진수)  혹은 0 부터 15


까지의 수를 센다(16진수) . 그래서 0 부터 255 까지를 컴퓨터는
0x00 ~0xff [16진수]로


 센다. 


 


 


 


cpu 는 각 기계어[0 부터 255까지] 에 명령어를 의미하기도 하고
숫자를 의미하기도 한다.


77 이 style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">“+ style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">”를 의미한다면
style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">“77 33 22 style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">” style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">“33 과 22 를 더하라 style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">” 라는 식으로


첫번째 숫자는 명령어를 의미한다  style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">“plus 33 and 22 . style="FONT-FAMILY: 'Courier New'; mso-ascii-font-family: 바탕">“ 이것은 intel 의


cpu 칩 설계자들의 아이디어 이다  


기계어는 숫자의 나열인데 이것으로 프로그래밍한다면 암기를 잘해야할것이다


굳이 C 언어로 위의 77 33 22 를 표현한다면 33+22; 가
될것이다.   


좀더 인간에게 직관적으로 느껴지는 쉬운 편이 아닌가?


 


인간이 사용하기 편한 언어로 프로그램을 짠뒤 다시 기계어로 변환시켜줘야 하는데


이런한 행위를 하는 것이 컴파일러이다.


 


우리가 finkl.cpp 라는 소스 코드를 작성햤을 때 컴파일러는  finkl.obj 로 변환시키고


다시금 linker 가  finkl.exe 로 만들어 준다. Finkle.exe 는 기계어로 번역된
실행화일이


 된다.





2005/08/19 04:19 2005/08/19 04:19
Trackback address :: http://4ellene.net/tt/trackback/325

Comments List

  1. clinton donated underwear 2008/05/23 04:28

    嫄몄

  2. celebs caught thong 2008/05/23 07:30

Write a comment.

[로그인][오픈아이디란?]