고수준, 저수준 함수

 

고수준 함수(BUS 방식)

→ 속도는 느리지만 효율적이다.(버퍼에 data를 모았다. 한번에 보낸다.)

저수준 함수

→ 속도는 빠르지만 비효율적.(즉시 data를 보낸다.)


⇒ 메모리와 마찬가지로 HDD 등의 물리적인 장치또한 table(type, name, address)등을 가진다.

→ FAT (임베디드 계열에서 특히 많이 쓰인다. 간단하고 접근 권한이 없다.)

→ NTFS(win NT의 파일 시스템, 접근 권한이 있다.)

→ UNIX는 처음부터 접근 권한이 있었다.


⇒ data는 보호되기 위해 header와 tail이 감싼다.

 lowhighlevel.png

 

 

 

→ 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(저수준 함수)

→ 버퍼를 사용하지 않는다. 데이터를 모으지 않고 바로 처리한다.

→ 고속, 저효율