다음 이전 차례

2. I/O 포트를 읽고 쓰는 또다른 방법

I/O 포트를 읽고 쓰는 또다른 방법은 open() /dev/port (문자 장치, 주번호 1, 부 번호 4) 읽고 쓰기 위해서 (stdio.h의 f*(), 즉 표준 입출력 파일 처리 함수는 내 부적인 버퍼링을 가지고 있어서, 이들을 피한다??). 그 다음 lseek()는 파일에서 적절한 지점에 위치시키는데 쓰이고(파일 위치 0 = 포트 0, 파일 위치 1 = 포트 1, 등등), 여기서 온 바이트나 워드를 읽고 쓰기 위하여 read() 또는 write()를 사 용한다.

물론, 여러분의 프로그램은 /dev/port를 읽고 쓸 필요가 있다. 이 방법은 보통 쓰 이는 방법보다는 조금 느리지만, 최적화나 ioperm()를 필요로 하지 않는다. (여 러분이 /dev/port에 일반 사용자 권한이나 그룹 권한을 주었을 때는, 루트로 실 행할 필요가 없다.)


다음 이전 차례