[리눅스커널] 비트 마스크를 어셈블리 코드로 빨리 읽는 방법 - HARDIRQ_MASK, SOFTIRQ_MASK, NMI_MASK
By Guillermo Austin Kim | 2019년 5월 11일 |
이번에는 비트 마스크를 C 코드가 아닌 어셈블리 코드로 읽는 방법을 소개합니다. in_interrupt() 함수 소개 in_interrupt() 함수는 현재 프로세스가 인터럽트 컨택스트인지 알려주는 기능입니다.[https://elixir.bootlin.com/linux/v4.19.30/source/include/linux/preempt.h]#define in_interrupt() (irq_count()) in_interrupt() 함수 코드를 보면 irq_count() 함수로 치환됩니다.[https://elixir.bootlin.com/linux/v4.19.30/source/include/linux/preempt.h]#define irq_count() (preempt_count() & (HAR
리눅스 bash 스크립트에서 연관 배열(associative array) 사용하기
By 반달가면 | 2017년 12월 18일 |
통상적인 배열(array)에 대한 내용은 이전 게시물을 참고하자. 여기로 리눅스 bash 스크립트에서 연관 배열(associative array)을 사용하는 방법이다. 연관 배열은 인덱스를 수자로 사용하지 않고 문자열을 사용할 수 있다. 변수를 연관 배열로 사용하려면 해당 변수가 연관 배열임을 미리 선언해 주어야 한다. declare 명령으로 선언하면서 -A 옵션으로 연관 배열임을 지정해야 한다. # 변수 arr_test를 연관 배열로 선언 declare -A arr_test 이제 인덱스를 문자열로 사용할 수 있다. 아래의 예시를 보자. # 배열 값 할당 arr_test[abc]=0 arr_test[def]=1 # 배열에 저장된 내용 출력 echo ${arr_test[ab
유용한 리눅스 커맨드라인 앱
By 미친병아리의 이글루스 | 2021년 5월 1일 |
맥북에서도 유용하게 쓸 것 같아 정리를 해봤는데, 설치하는 것 귀찮아서 아직 사용을 안해봤음. 뭐, 사실은 맥북 사용하면서 iTerm 열어서 사용할 일이 별로 없긴 함. 그래도 나중에 필요할 것 같아 일단 메모용으로 정리. 1. vim sudo apt-get install vim 엄청 빠른 텍스트 에디터 - 리눅스 사용에 필수라 두말하면 잔소리 Ben Awad’s vim tutorial: Awesome vim lecture: vi 보다 사용하기 편하다고 하는데, 인터넷에 연결되지 않은 리눅스 다눌 일이 더 많다 보니 난 설치하기 귀찮아서(?) 그냥 vi를 사용하는 경우가 더 많다 2. tmux sudo apt-get install tmux
[bash: ((] 연관 배열(associative array)에 저장된 정수 계산
By 반달가면 | 2018년 1월 8일 |
간혹 실수하는 부분이 있어서 정리해 두기로. 리눅스 bash 스크립트에서의 정수 계산은 이전 게시물을 참고하자. 여기로 리눅스 bash 스크립트에서의 배열(array) 활용은 여기로, 연관 배열(associative array) 활용은 여기로. bash에서 기본적인 정수 계산은 이중 괄호를 사용한다. # 정수 계산 예시 x=3 y=5 echo $((x+y)) 8 배열(array)이라고 특별히 달라질 것은 없어 보인다. # 배열에 저장된 정수 계산 예시 a[0]=3 a[1]=5 echo $((a[0]+a[1])) 8 # 배열 인덱스에 변수 사용 a[0]=3 a[1]=5 x=0 y=1 echo $((a[x]+a[y])) 8 echo $((a[$x