제목 : C 언어 파일 관련 함수 조사 정리
1. 고수준, 저수준 I/O Function의 종류와 특징 비교
저수준과 고수준의 분류방법은 Computer Language와 마찬가지로 기계와 사람중 어디에 더 가까운지, 즉 쓰기 쉬움을 기준으로 하고 있다.
고수준
저수준
버퍼 사용 여부
버퍼 사용
메모리로 직접 읽어들임
입출력
스트림
파일 핸들
속도
비교적 느리다
비교적 빠르다
문자 단위 입출력
가능
비효율적
난이도
비교적 쉽다
비교적 어렵다
세밀한 조작
어렵다
쉽다
고수준 function은 운영체제가 제공하는 FILE 구조체를 이용하여 버퍼를 고려하지 않고 입출력 한다.
두 방식의 가장 큰 차이점은 버퍼의 사용 유무이다. 나머지 차이점들은 버퍼 사용 유무에 따라서 파생되는 특성들이다.
1)고수준 I/O Function
고수준의 파일입출력은 버퍼형 파일 시스템 또는 형식화된 파일 시스템이라고 한다.
버퍼
운영체제
파일
프로그램
DATA
FORMATTING
(Option)
고수준 파일 입출력
◎고수준 파일 입출력 함수의 장점
- OS에 의존적이지 않기 때문에 이식성이 좋다.
- 여러 가지 형태로 입출력을 다룰 때 쉽게 사용할 수 있다.
- 입력과 출력이 버퍼화 되어 있다.
◎버퍼
- 버퍼란 속도차이가 있는 하드웨어 장치들, 또는 우선순위가 다른 프로그램의 프로세스들에 의해 공유되는 데이터 저장소를 말한다. 버퍼는 각 장치나 프로세스가 상대방에 의해 정체되지 않고 잘 동작할 수 있도록 해준다.
- 캐시(cache memory)와 비슷하지만, 캐시는 어떤 작업의 속도를 증진시키기 위한데 반해 버퍼는 개별 프로세스 간의 협력을 지원한다.