강좌 & 팁
고수준, 저수준 함수
고수준 함수(BUS 방식)
→ 속도는 느리지만 효율적이다.(버퍼에 data를 모았다. 한번에 보낸다.)
저수준 함수
→ 속도는 빠르지만 비효율적.(즉시 data를 보낸다.)
⇒ 메모리와 마찬가지로 HDD 등의 물리적인 장치또한 table(type, name, address)등을 가진다.
→ FAT (임베디드 계열에서 특히 많이 쓰인다. 간단하고 접근 권한이 없다.)
→ NTFS(win NT의 파일 시스템, 접근 권한이 있다.)
→ UNIX는 처음부터 접근 권한이 있었다.
⇒ data는 보호되기 위해 header와 tail이 감싼다.
→ data를 보호하기 위해 header와 tail이 감싼다.
(네트워크 등에서도 마찬가지 → packit)
→ mp3 같은 경우 header에는 tag 정보등이 기록되어 있다.
→ 그림 파일 같은 경우 header에 속성, 크기, RGB 값 등이 모두 있고 그것을 해석해서 viewer를 만들 수 있다.
⇒ 파일이 저장되는 형식(format - data를 저장할 수 있도록 특별한 형식으로 바꾼다.)
⇒ table에는 운영체제만 접근할 수 있으므로 fopen 명령으로 열어 달라고 하고, win나 linux는 열지 못할 때 0(NULL)을 반환한다.
⇒ 칩 셀렉트
→ CPU가 관장한다.
→ 어디로 보낼지(전송할지) CPU가 선택하는 것
→ 즉, 메모리에 있는 걸 CPU가 받은 다음 다른 곳으로 전송
→ DMA(Direct Memory Access) : 메모리에서 장치로 바로 전송하는 방법
⇒ fopen, fclose (고수준 함수, f가 붙으면 대부분 고수준 방식)
→ 버퍼를 사용한다. 즉, 버퍼에 데이터를 모았다가 한번에 처리한다.
→ 저속, 고효율
⇒ open, close(저수준 함수)
→ 버퍼를 사용하지 않는다. 데이터를 모으지 않고 바로 처리한다.
→ 고속, 저효율