시스템프로그래밍 3차 텀 프로젝트(컴퓨터 공학,unix,커널,컴공,IT,시프,시스템프로그래밍,디바이스,프로젝트,텀)
본 자료는 미리보기를 지원하지 않습니다.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

시스템프로그래밍 3차 텀 프로젝트(컴퓨터 공학,unix,커널,컴공,IT,시프,시스템프로그래밍,디바이스,프로젝트,텀)에 대한 보고서 자료입니다.

목차

#1 3
1. 과제 개요 3
2. 소스코드 설명 3
3. 결과 화면 4
#2 5
1. 과제 개요 5
2. 소스코드 설명 5
3. 결과 화면 6
#3 7
1. 과제 개요 7
2. 소스코드 설명 7
3. 결과 화면 8

본문내용

1. 과제 개요
 커널의 가상버퍼에 데이터를 쓰고 읽는 문자 디바이스 드라이버를 작성한다.
 char_read() 함수를 작성 – copy_to_user() 함수 사용
 char_write() 함수를 작성 – copy_form_user() 함수 이용

2. 구현 사항
linux/fs.h를 참조하여 file_operations구조체 구현 및 register_chrdev(), unregister_chrdev() 함수를 이용한 장치 드라이버 등록/해제 구현.
open, release, read, write함수 구현 read에서는 copy_to_user()함수를 이용하여 데이터전달, write에서는 copy_from_user()함수를 이용하여 데이터전달.

3. 소스코드 설명

소스1. open 및 release 함수
virtual_device_open() 함수는 처음으로 장치를 연 경우 장치를 초기화 하고 Minor번호를 확인 후 필요한 경우 file포인터를 수정한다. 그리고 참조 횟수(usage count)를 증가시킨다.
virtual_device_release() 함수는 참조 횟수를 감소시키고 만약 close하는 경우 장치를 종료한다.




소스2. write 및 read 함수
char_write()함수는 buffer를 초기화하고 copy_from_user()함수를 이용해 유저 메모리 영역에서 커널로 데이터를 복사한다(buf의 내용 -> buffer). 그리고 요구한 만큼 기록한 경우 count 값을 리턴 한다.
char_read()함수는 copy_from_user()함수를 이용해 커널에서 유저 메모리 영역으로 데이터를 복사한다 (buffer의 내용 -> buf). 그리고 요구한 만큼 읽은 경우 count값을 리턴 한다.

키워드

추천자료

  • 가격4,000
  • 페이지수9페이지
  • 등록일2016.09.05
  • 저작시기2015.3
  • 파일형식압축파일(zip)
  • 자료번호#1007988
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니