커널

포스트: 228|조회수: 0|CIVILIZATION
Items

Posts

228 posts

리눅스 민트 17(우분투 14.04 기반) 커널을 우분투 16.04 커널로 업데이트

반달가면|2019년 7월 26일

우분투 14.04 LTS 기반의 배포판인 리눅스 민트 17의 커널을 우분투 16.04 LTS 커널로 업데이트했다. 기존 커널의 버전은 3.13이고 업데이트한 커널은 4.4이다. 굳이 커널을 업데이트하지 않고도 여태까지 사용에 별 문제가 없었으나, 도커(Docker)를 설치해서 실행해 보려고 하니 커널 버전이 4.x가 아니면 실행이 되지 않았다. 결국 불가피하게 커널 업데이트를 진행. 우분투 커널 업데이트 유틸리티(ukuu, 이전 게시물을 참고하자. 여기로)를 사용해 볼까 했으나, 시냅틱 패키지 매니저에서 검색해 보니 16.04 커널이 공식 S/W저장소를 통해서 제공되고 있길래 그냥 이걸로 업데이트했다. 우분투 16.04의 코드명이 "Xenial Xerus"이므로 xenial 커널을 설치하면 된다.

[리눅스커널] 메모리관리: 가상 주소를 물리 주소로 직접 변환해보기

[리눅스커널] 메모리관리: 가상 주소를 물리 주소로 직접 변환해보기

Guillermo Austin Kim|2019년 7월 25일

지금까지 가상 주소를 물리 주소로 변환하는 원리를 배웠습니다. 이어서 이번에는 실제 가상 주소를 물리 주소로 변환하는 과정을 살펴보겠습니다. 다음 그림을 같이 보겠습니다. [그림 14.21] 가상 주소를 물리 주소로 변환하는 예시 위 그림에서 페이지 테이블 관련 시스템 정보는 다음과 같습니다.변환 테이블 시작 주소: 0x8000_4000가상 주소: 0x807A_0A8C 먼저 변환 테이블 시작 주소는 0x8000_4000입니다. 그리고 변환하려는 가상 주소의 [31:20]은 16 진수로 807입니다. 다음 계산식으로 레벨1 페이지 테이블 엔트리 주소를 계산할 수 있습니다.0x8000_4000 + ((0x807A_0A83 >> 20) << 2)0x8000_4000 + ((0

[리눅스커널] 메모리관리: 가상 주소를 물리 주소 변환하는 세부 원리 알아보기

[리눅스커널] 메모리관리: 가상 주소를 물리 주소 변환하는 세부 원리 알아보기

Guillermo Austin Kim|2019년 7월 25일

가상 주소를 물리 주소 변환하는 세부 원리 알아보기이번에는 가상 주소를 물리 주소로 변환하는 과정을 살펴보겠습니다. 다음 그림을 같이 보겠습니다. [그림 14.18] 가상 주소를 물리 주소로 변환하는 과정 전체 흐름도 가상 주소를 물리 주소로 변환하는 과정은 크게 2 단계로 나눌 수 있습니다. [그림 14.19] 가상 주소를 물리 주소로 변환하는 단계 1단계[그림 14.18] 가장 위쪽에 있는 주소는 TTBR(Translation Table Base Register)에 저장된 변환 테이블 시작 주소입니다. 페이지 테이블의 베이스 주소입니다. 변환 베이스 주소와 SBZ로 구분할 수 있는데 SBZ는 항상 0라는 의미입니다. 커널에서는 swapper_pg_dir 전역 변수가 이 주소를 저장합니다. 다음 ‘가

우분투 커널 업데이트 스크립트(ubuntu-mainline-kernel.sh)

반달가면|2019년 7월 12일

ubuntu-mainline-kernel.sh 스크립트는 우분투 계열 배포판에서 최신 버전의 커널(kernel)을 설치하게 해 주는 스크립트다. 예전에 정리했던 ukuu는 GUI 기반이고, 이 스크립트는 터미널창에서 사용한다. ubuntu-mainline-kernel.sh의 깃허브(github) 페이지는 아래의 링크로 가면 되겠다. 우선 필요한 S/W 패키지를 설치/업데이트하자. dpkg, coreutils, wget 패키지다. # S/W 저장소 정보 갱신 sudo apt-get update # S/W 패키지 설치/업데이트 (dpkg, coreutils, wget) sudo apt-get install dpkg coreutils wget 이제 스크립트를 다운