• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

운영체제 커널 모듈 프로그래밍에서의 Linked list 사용

kimyl3002
개인인증판매자스토어
최초 등록일
2021.11.01
최종 저작일
2020.09
6페이지/한글파일 한컴오피스
가격 2,000원 할인쿠폰받기
다운로드
장바구니

목차

1, 과제설명 ( 사용자 요구사항 기술: 과제에 대한 설명 및 목표 )
2, 이론
3. 알고리즘 및 자료구조 설계 내용
4. 소스코드 설명 ( 직접 작성한 소스코드중에 핵심 부분을 발췌하여 설명 )
5. 실행결과 및 설명 ( 실행 결과를 캡쳐하여 첨부한 후 설명 )
6. 고찰 ( 과제를 진행하면서 배운점 이나, 시행 착오 내용, 기타 느낀점 )
7. 전체 소스코드 ( 글자크기 9에 줄간격을 120%로 유지하고 한 줄이 너무 길지 않게 작성 )

본문내용

2, 이론

리스트에서 노드와 노드들의 연결방식은 다음과 같다.
위의 예시는 int형의 데이터를 저장하는 단순한 노드이다. struct node *prev와 struct node *next가 있는 걸 봤을 때 이중 연결리스트 임을 알 수 있다.
리눅스 커널에서도 리스트를 이와 같은 자료구조의 형태로 관리할까? 실제 코드를 보면 알 수 있지만 그 구조는 다르다.
실제 리눅스에서는 node내에 list_head라는 자료 구조를 두어서 관리한다. 따라서 구조는 다음과 같다.

3. 알고리즘 및 자료구조 설계 내용

구조체 생성후 list_head를 통한 구조체 선언 후 LIST_HEAD를 통한 리스트 선언
-> list_add(), list_add_tail()을 통한 각각 리스트의 앞, 뒤쪽에 노드 추가
-> 매크로 list_for_each을 사용하여 리스트 순환
list_for_each 매크로의 첫 번째 인자는 순환에 사용되는 포인터 , 두 번째는 리스트의 head 이다.
-> list_head()를 포인터의 인자로 사용해 list_del을 통한 리스트 삭제

< 중 략 >

6. 고찰 ( 과제를 진행하면서 배운점 이나, 시행 착오 내용, 기타 느낀점 )

아직 리눅스 환경에 익숙하지 않다보니 이번 과제 역시 HW3과 마찬가지로 적지않은 시행착오를 겪었다. 실습과제를 할 때 코드를 그대로 입력했음에도 제대로 make가 안되는 현상이 발생하여
해당 오류코드를 구글에 검색해보기도하고 리눅스 헤더파일을 다시 설치하기도 하였으며
혹시 list.h 파일에 손상이 있나 싶어서 새로 list.h 파일을 교체해보기도 하고
ubuntu 18.04 환경에서 작동하지않자 12.04 환경에서도 실행시켜보고 했는데 해결이 안돼서
코드를 하나하나 보는데 static int hello_init(void) 내부에 list print 가 아닌
list_print 로 수정해줬더니 허탈할만큼 잘 돌아갔다.

참고 자료

없음
kimyl3002
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
운영체제 커널 모듈 프로그래밍에서의 Linked list 사용
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업