블로그 이미지
Terapi

calendar

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
2008.12.11 10:22 System/System 이론




  C언어는 어떤 장치든지 파일로 취급하여 사용하므로 파일에 대한 접근 방식에 대한 이해가

필요하다. 파일과 유저간에 접근 방식은 고수준 접근방식과 저수준 접근방식으로 나눌수 있다.

유저는 파일에 직접 접근할 수 없다. 그래서 버퍼를 이용하여 접근해야하는데 고수준 접근에서

는 시스템에 의해 자동으로 버퍼가 생성되고 저수준 접근은 유저가 직접 버퍼를 생성하여 접근

해야한다. 그래서 저수준의 접근은 약간의 위험성을 동반한다.

 대부분의 컴파일러는 고수준으로 접근하는데 일반적으로 C언어도 고수준으로 접근한다고 생

각하고 쓰면된다.

 예를 들어 파일을 여는 함수인 fopen()의 경우
 1. 시스템에의해 버퍼가 생성되고
 2. 파일을 관리하는 부분이 생성 되어 버퍼를 제어가능하게 한다.
 (내부적으로는 파일 구조체를 생성한 후 그 포인터를 반환하고 이 포인터가 버퍼를 다루는
 정보를 가지고 있어서 제어가 가능한 것)

 위의 내용을 봐도 직접적인 물리 접근이 아닌것을 알수가 있다.

 

대표적인 버퍼링은 다음과 같다.

1. 파일         -> 풀버퍼링
2. 표준 I/O    -> 라인단위 버퍼링(라인스킵 - '\n'시 출력) <부팅시 자동생성됨>
3. 표준 error  -> 노버퍼링(바로 출력)


신고

'System > System 이론' 카테고리의 다른 글

usb 모듈...  (0) 2009.01.02
c로 쓴 수치해석 적분  (0) 2008.12.11
고수준 접근과 저수준 접근  (0) 2008.12.11
posted by Terapi

티스토리 툴바