본문 바로가기

프로그래밍 공부방/C 프로그래밍 방

C Programming - 1.1 컴퓨터 시스템 구조


일반적인 컴퓨터는 CPU를 중심으로 메모리(RAM/ROM) 비디오카드(VGA), 하드디스크(HDD), 입/출력 장치 등으로 구성 되는데, 이러한 하드웨어 장치를 구동하기 위해서는 소프트웨어가 필요하다.

컴퓨터의 전원이 켜지면 부팅(booting, 컴퓨터의 모든 하드웨어 장치를 제어하고 사용자의 컴퓨터 사용을 돕는 소프트웨어, 즉 운영체제를 메모리에 읽어내는 과정) 과정이 진행되는데 메모리로 읽어들이는 장치 드라이버나 윈도우즈(Windows), 리눅스(Linux)등의 운영체제들까지 모두 C 언어로 개발되었다는 점에서 C 프로그래밍의 의미가 매우 크다고 할 수 있다.

프로그래머가 만든 C 프로그램은 모두 운영체제가 제공하는 API(Application Programming Interface, 사용자가 만든 응용프로그램이 컴퓨터 시스템의 모든 자원을 안전하게 사용할 수 있도록 공개된 일종의 함수)를 거쳐 커널 함수(Kernal Function, 실질적인 운영체제의 기능을 수행하도록 만들어진 함수)와 장치 드라이버 구현함수에 이르기까지 일련의 함수 호출과정을 통해 수행된다.