01.01.2015 Views

device_driver-08.pdf(1.9MB)

device_driver-08.pdf(1.9MB)

device_driver-08.pdf(1.9MB)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

초기화와 종료 처리<br />

241<br />

디바이스 드라이버에는 하드웨어를 다루고 커널 내에서<br />

디바이스 드라이버로 동작하기 위한 소프트웨어적인 처<br />

리 수반<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

디바이스 드라이버의 등록과 해제<br />

디바이스 드라이버에 내부 구조체의 메모리 할당과 해제<br />

여러 프로세스가 하나의 디바이스에 접근할 때 필요한 사전 처리<br />

및종료시처리<br />

주번호에 종속된 부번호를 관리하기 위한 사전 처리 및 종료 시 처<br />

리<br />

하드웨어 검출 처리 및 에러 처리<br />

하드웨어 초기화와 제거 가능한 하드웨어의 제거 처리<br />

응용 프로그램에서 디바이스 드라이버를 사용하는 경우의 초기<br />

처리및사용종료처리<br />

부번호에 관련된 프로세스별 처리<br />

프로세스별 메모리 할당과 해제<br />

사용하는 모듈수의 관리<br />

http://eoslab.ssu.ac.kr<br />

Linux Device Driver<br />

초기화와 종료 처리<br />

242<br />

두 가지 초기화 처리 시점과 종료 처리 시점 존재<br />

<br />

<br />

모듈 적재와 커널 부팅 처리 과정 또는 제거 과정<br />

• insmod 명령 : module_init<br />

• rmmod 명령 : module_exit<br />

exit<br />

응용 프로그램이 디바이스 파일을 여는 과정과 닫는 과정<br />

• open() 함수 : file_operations.open<br />

• close() 함수 : file_operations.close<br />

http://eoslab.ssu.ac.kr<br />

Linux Device Driver

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!