Posts
556 postsukuu - 우분투 커널 업데이트 유틸리티
ukuu(Ubuntu Kernel Update Utility)는 우분투 계열 리눅스 배포판에서 커널 업데이트를 쉽게 해 주는 GUI 프로그램이다. 터미널창에서 복잡한 작업을 할 필요 없이 클릭 몇번으로 간편하게 커널을 변경할 수 있다. 설치는 터미널창에서 아래와 같이 작업하면 된다. # ukuu 저장소 추가 sudo add-apt-repository ppa:teejee2008/ppa # S/W 저장소 갱신 sudo apt-get update # ukuu 설치 sudo apt-get install ukuu 실행은 아래와 같이 하면 되겠다. # ukuu 실행 ukuu-gtk 실행창이 나오면, 설치하고자 하는 커널 버전을 선택하고 "install" 버튼을 클릭하
[리눅스커널][시그널] T32: 시그널 생성 과정 디버깅해보기
이전 포스팅에서 커널이 '시그널'을 어떤 방식으로 처리하는지 살펴봤습니다.이전에 배웠던 내용을 리뷰하는 차원으로 '시그널' 처리 과정을 정리해볼까요? 1. 시그널 생성 시그널을 받은 프로세스의 태스크 디스크립터에 시그널 정보를 써주고 해당 프로세스를 깨운다. 2. 시그널 전달 시그널을 받을 프로세스는 깨어나 시그널을 처리한다. 시그널 처리 과정에 대해 소스 코드를 분석했는데 이번에는 __send_signal() 함수에서 시그널을 생성할 때 바뀌는 시그널 자료구조에 대해서 디버깅해보는 시간을 갖겠습니다. 사실 함수 실행 흐름과 자료구조는 '이와 잇몸'의 관계와 같습니다. 조금 더 구체적으로 말씀드리면 다음과 같겠네요. "함수는 자료구조를 읽고 바꾸기 위해 실행한다." "자료구조
[리눅스커널] 스핀락 플러그인 함수: spin_lock_irq()/spin_unlock_irq()
리눅스 커널 코드를 조금만 분석하면 spin_lock() 함수뿐만 아니라 spin_lock_irq() 함수를 써서 임계 영역을 보호하는 동작을 많이 볼 수 있습니다. 이번 소절에서는 spin_lock() 함수 기능을 확장한 스핀락 플러그인 함수를 소개합니다. - spin_lock_irq()/spin_unlock_irq() 먼저 spin_lock_irq()/spin_unlock_irq() 함수를 리눅스 커널에서 지원하는 이유를 알아보고 세부 코드를 분석하겠습니다. spin_lock_irq()/spin_unlock_irq() 함수가 생겨난 이유는 무엇일까?spin_lock_irq()/spin_unlock_irq() 함수의 원리를 살펴보기 앞서 spin_lock_irq()/spin_unlock_irq()
[bash: sed] 슬래시(/)가 포함된 문자열 대체하기
우선 sed를 이용한 문자열 대체의 기본적인 예시는 이전 게시물을 참고하자. 여기로. # abc를 ABCD로 대체 echo "abc" | sed "s/abc/ABCD/" ABCD 그런데 만약 대체하고자 하는 문자열 자체에 슬래시(/)가 포함되면 어떻게 할 것인가? 의외로 방법은 간단하다. sed에서 통상 슬래시를 구분자로 사용하지만, 사실은 s 옵션 바로 다음에 나오는 문자가 구분자로 지정된다. 그리고 이 구분자가 반드시 슬래시일 필요는 없다. 아래의 예시를 보자. # ab/c를 ABC/D로 대체, 구분자는 "%" echo "ab/c" | sed "s%ab/c%ABC/D%" ABC/D "s/문자열/문자열/" 형태 대신 "s%문자열%문자열%" 형태로, 구분자를 퍼센트(%) 기


