현재 리눅스가 4.6 버젼까지 나왔는데 2.6커널을 가지고 공부를 하여도 괜찮을까요?
안녕하세요.대학교 2학년까지 수료하고 적성이 맞지않아 하드웨어를 공부하겠다는 포부로
8비트 AVR과 ARM코어를 공부하며 펌웨어 SI같은 곳(ㅡ,.ㅡ;;)에서 일하고있는 학생입니다.
최근 기존에 일하던 곳하고는 별개로 예전에 일하던 곳에서 인수인계불가로 저대신 일해줄 컴퓨터 소프트웨어 개발 요청으로 리눅스환경을 타겟으로 개발중입니다.
기존에 일을 위해서 쓰던 3.5.0-17버젼에 돌아가던 커널 모듈에 버그와 환경이 바뀌면 커널패닉이 나는 문제로, 뭐가 문제일까 하고 Ubuntu 16.04의 4.4 커널에서
돌아가게끔 코드를 바꾸기를 시도하고 컴파일에러 다해결했다 라고 기뻐하던 와중 제대로 작동을 하지않아, 절망하고 이렇게 그냥 막상 변수형 바꾸고
함수 파라미터 입력 바뀐거 조금 수정한거가지고는 안되겠다 싶어서 리눅스 커널을 공부하기로 마음먹었습니다.
여러가지 책을 검색하던 와중 ,
리눅스 커널 심층 분석 3판을 구매하였습니다.
http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788960773318
어찌됫든 공부해야하는거니까 막상지르고 나니 2.6버젼의 커널을 기준으로 가르치는 내용이더군요.
위에서 뜯고씹고한 커널모듈의 소스를 분석했을 대 linux/mapper.h 와 linux/bio.h 그리고 이들이 참조하는 구조체들을 선언한 헤더 코드들이
4.4버젼와 3.5버젼사이에 약간의 차이가 있엇습니다.
현재 제가 공부를 위한 서적은 2.6이고 현재 새로 나온 커널은 스테이블 기준으로 4.6입니다. 버젼 숫자가 크게 차이난다고 꽤 겁을 먹었는데.
그것과 상관없이 리눅스를 이해하고 공부하는데에는 큰 상관이 없을까요?
두서없고 서론이 너무 긴 글 읽어주셔서 감사하며 고수님들의 가르침을 고대합니다.
커널 초보입니다만..
커널 초보입니다만..
공부하는데는 문제 없는듯 보입니다.
저는 IT expert 디바이스 드라이버(2.4, 2.6 기준)으로 스터디를 진행했는데(책 중간쯤 까지)
프린터 포트로 설명(소스) 된 책을 라즈베리파이2 커널 4.4 버전으로 변경하여 진행을 했는데
많이 변경 된 것 같진 않았습니다.
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
2.6과 4.6이 숫자로는 큰 차이처럼 보이지만
2.6과 4.6이 숫자로는 큰 차이처럼 보이지만
2.6.39 버전이후로 numbering 방식에 변화가 생겨서,
실제로 4.x 은 2.8.x 정도에 해당하는 버전입니다.
https://en.wikipedia.org/wiki/Linux_kernel#Version_numbering
댓글 달기