[리눅스커널] 시간관리: jiffies란 무엇인가
By Guillermo Austin Kim | 2019년 8월 1일 |
jiffies란 많은 리눅스 커널 세부 함수에서 jiffies를 써서 실행 시간 기준으로 알고리즘을 제어합니다. 이번 시간에 jiffies의 개념을 소개하고 리눅스 커널에서 jiffies로 시간의 흐름을 제어하는 코드를 소개합니다. jiffies 소개jiffies는 커널 타이머를 실행하는 시간 단위입니다. 공학 용어로 Resolution와 비슷한 개념입니다. jiffies를 지피스라고도 부르기도 합니다. 하지만 이번 챕터에서 리눅스 커널에서 쓰는 jiffies란 용어를 그대로 쓰겠습니다. HZ란 무엇일까 jiffies 개념을 이해하려면 HZ가 무엇인지 알아야 합니다. HZ는 무엇일까요? HZ는 진동수라고 부르며 1초에 지피스(jiffies)가 업데이트되는 횟수이다. 만약 HZ가 300이면 지피
그나마 이상적인 핸드헬드PC, 제미니 PDA (Gemini PDA)
By 자그니 블로그 : 거리로 나가자, 키스를 하자 | 2018년 12월 24일 |
오랫동안 제 관심을 잡아 끄는 기기가 하나 있습니다. 바로 제미니 PDA입니다. 예전 핸드헬드PC(HPC) 사이언를 모델로 나온 기기로, 5.99인치 화면에 미디어텍 헬리오 X27 프로세서, 4GB 메모리, 64GB 저장공간을 가지고 있는 제품입니다. 해상도는 2880x1440의 QHD+ 규격. 멀티 터치 지원. 당연히 클랩쉘 스타일이고 멤브레인 ... 키보드(공식 홈피에선 기계식이라는데, 또 다른 곳에선 멤브레인이라 그래서 확인이 필요합니다.)를 장착하고 있습니다. LTE(주파수 한국 대응)와 와이파이 전용으로 나뉘고, 리눅스와 안드로이드 듀얼 부팅(공식 홈피), 안드로이드 전용 버전(일본 판매용)이 있습니다. 무게는 310g. USB-C 포트로 충전 및 외장 기기 연결이 가능합니다(2개 탑
[리눅스커널] 메모리: TRACE32로 슬랩 캐시 디버깅해보기
By Guillermo Austin Kim | 2020년 4월 21일 |
슬랩 캐시를 나타내는 링크드 리스트 확인 먼저 slab_caches 전역 변수를 확인해보자. $ v.v %t %h slab_caches (static struct list_head) slab_caches = ( (struct list_head *) next = 0xFFFFFFC72CA83E60, (struct list_head *) prev = 0xFFFFFFC6008FC060) slab_caches 전역변수의 next 필드는 struct kmem_cache 구조체의 list 필드를 가르킨다. 다음과 같은 명령어를 입력해보자. $ v.v %h %t %s container_of(0xFFFFFFC72CA83E60,struct kmem_cache,list) (struct kmem_cac
리눅스에서 문자열에 대한 베이스64 인코딩/디코딩
By 반달가면 | 2018년 1월 24일 |
우선, 파일에 대한 베이스64(base64) 인코딩/디코딩의 예시는 아래와 같다. (이전 게시물을 참고하자. 여기로) # 파일 test.txt를 베이스64 인코딩하여 test.txt.b64로 저장 base64 test.txt > test.txt.b64 # 파일 test.txt.b64의 내용을 베이스64 디코딩하여 화면에 출력 base64 -d test.txt.b64 파일이 아니라 특정 문자열에 대한 베이스64 인코딩/디코딩을 하고 싶다면 파이프(|)를 사용하면 간단하게 할 수 있다. 예를 들어 문자열 "abc"에 대한 베이스64 인코딩은 아래와 같이 하면 된다. # 문자열 abc 베이스64 인코딩 echo "abc" | base64 YWJjCg== 만약 줄바꿈(new