본문내용
proc 파일시스템을 구현하여 커널에 존재하는 프로세스들의 프로세스 각각의 상태(State)들의 개수와 이름, PID 와 각각의 상태(Running, Uninterrupt, Interrupt, Stopped, Zombie)프로세스가 차지하는 VM_SIZE 저장하는 파일을 구현하기로 결정하고, 이러한 커널 프로그램을 만들게 되었습니다.
먼저 커널에 존재하는 모든 프로세스들의 각각의 state를 파악하기 위해서 process descriptor를 명확히 알아야하고, task_struct 자료구조를 이용하여 각각의 프로세스가 사용하는 가상메모리의 영역을 구하기 위해 메모리 관리를 위한 struct mm_struct *mm을 이용하여 구한다.
문자 디바이스 구현을 위해서 /dev에 디바이스 파일로 만든다.
디바이스 드라이버를 적재할 때 자신을 등록하기 위해 Major Number, 디바이스이름, 디바이스 드라이버 기능을 수행할 함수 포인터가 인자로 필요하다.
디바이스 드라이버 함수를 구현하기 위해서는 file_operations 구조체를 이해하고, 문자 디바이스를 등록하고 해제하는 함수에 대해 알 필요가 있다.
먼저 커널에 존재하는 모든 프로세스들의 각각의 state를 파악하기 위해서 process descriptor를 명확히 알아야하고, task_struct 자료구조를 이용하여 각각의 프로세스가 사용하는 가상메모리의 영역을 구하기 위해 메모리 관리를 위한 struct mm_struct *mm을 이용하여 구한다.
문자 디바이스 구현을 위해서 /dev에 디바이스 파일로 만든다.
디바이스 드라이버를 적재할 때 자신을 등록하기 위해 Major Number, 디바이스이름, 디바이스 드라이버 기능을 수행할 함수 포인터가 인자로 필요하다.
디바이스 드라이버 함수를 구현하기 위해서는 file_operations 구조체를 이해하고, 문자 디바이스를 등록하고 해제하는 함수에 대해 알 필요가 있다.
소개글