4.10 프로세스 디스크립터 접근 매크로 함수
By Guillermo Austin Kim | 2019년 2월 7일 |
리눅스 커널 코드를 읽으면 다음 매크로를 자주 볼 수 있습니다.+ current_thread_info()+ current 위 매크로를 활용해서 프로세스 태스크 디스크립터와 struct thread_info 구조체 필드 정보를 읽어 프로세스를 제어합니다. 4.10.1 current_thread_info()이전 절에서 프로세스 스택 최상단 주소에 struct thread_info 구조체에 프로세스 실행을 저장한다고 분석했습니다. current_thread_info() 매크로 함수는 프로세스가 어떤 함수를 실행하더라도 struct thread_info 구조체가 있는 스택 최상단 주소를 전달합니다. current_thread_info() 매크로 함수 구현부를 분석하기 전에 매크로 함수가 어느 코드에서 쓰는
virbr0 NAT 인터페이스 disable 시키기
By 황제펭귄의 IT | 2017년 12월 11일 |
출처:http://www.cyberciti.biz/faq/linux-kvm-disable-virbr0-nat-interface/virbr0 NAT 인터페이스 disable 시키기왜 disable 시킬까? by Vivek Gite · 0 commentsThis entry is part 9 of 12 in the series Redhat KVM Virtulization virtual network (virbr0)는 guest들이 네트웍 서비스에 접근하는 것을 허락하기위해서 Network address translation (NAT) 를 위해 사용된다. 하지만 NAT는 늦고 데스크탑 설치를 위해서 권장된다. 이 Network address translation (NAT)를 disable시키기 위해서는 아래와
[리눅스커널] 스핀락(spinlock) 플러그인 함수: spin_lock_irqsave()/spin_unlock_irqrestore
By Guillermo Austin Kim | 2019년 9월 12일 |
리눅스 커널에서 spin_lock_irq() 함수 뿐만 아니라 spin_lock_irqsave() 함수로 임계 영역을 보호하는 기능을 지원합니다. 이번 소절에서는 spin_lock() 함수 기능을 확장한 스핀락 플러그인 함수를 소개합니다. spin_lock_irqsave() spin_unlock_irqrestore() 먼저 spin_lock_irqsave()/spin_unlock_restore() 함수를 리눅스 커널에서 지원하는 이유를 알아보고 세부 코드를 분석하겠습니다. spin_lock_irq() 함수를 써서 임계 영역 코드 구간을 보호하다 보니 다음과 같이 불편한 점이 생겼습니다. spin_lock_irq() 함수를 호출한 후 인터럽트를 비활성화하다 보니 현재 인터럽트를 상태(활성화/
[ARM] ARM 프로세서 학습 방법의 문제점
By Guillermo Austin Kim | 2019년 12월 23일 |
이제부터 ARM 프로세서에 대한 이야기를 조금 더 해보려고 합니다.제 개발 인생을 돌이켜 보니 대부분의 시간을 사실 ARM 프로세서와 함께 보냈더군요. 다음과 같은 조합으로 말이죠. * 'ARM + RTOS, ARM + 리눅스' ARM 프로세서를 처음 접할 때의 느낌 그런데 제가 ARM 프로세서를 처음 접할 때의 느낌을 잊을 수가 없습니다. 그 느낌이 어땠나면; * 목욕탕에서 가장 뜨거운 온탕에 점프해 들어갔을 때 음, 잘 공감이 가시나요? 대중 목욕탕에 안 가신다고요? 그럼 다음의 예는 어떤가요? * 그럼 충치가 있어서 치과를 가서 진료실에서 기다릴 때 아직도 공감이 안된다고요? 난 한번도 치과에 가본 적이 없다고요? 그렇다면 어쩔 수 없죠. 더 이상의 예를 들기는 어렵겠군요.