LINUX
Posts
477 postsARM64 - 각 익셉션(Exception) 레벨 소개
64비트의 ARM 아키텍쳐(ARMv8)의 익셉션 레벨에 대해 간단히 살펴보고자 합니다. 각 Exception Level(EL) 특징을 간단하게 적을께요.1> EL0 -> EL1 -> EL2 -> EL3로 갈수록 execution privilege가 증가해요. 볼 수 있는 코드나 파일에 대한 Permission이 더 있다는 거죠. 2> EL0는 유일한 unprivileged 특성을 가져요.3> EL2는 Non-secure 모드에서 가상화를 구현하기 위해서 사용되곤 하는데 자주 쓰지는 않아요.4> EL3는 secure 와 Non-secure 모드 전환을 위해서 사용되죠.5> ARMv8에서 EL0, EL1은 필수 구현 사항이며 나머지는 Option이에요.즉 ARMv8을
fd - file descriptor(파일 디스크립터) 갯수 확인 및 업데이트 방법
리눅스 커널에서는 하나의 프로세스가 소유할 수 있는 파일 디스크립터의 갯수를 정해 놓았는데요.그럼 이 갯수를 어떻게 알 수 있을까요? 아래 명령어로 확인할 수 있어요.ulimit -a 결과를 보니 "nofiles(descriptors) 1024" fd의 갯수는 1024이네요.adb shell ulimit -atime(cpu-seconds) unlimitedfile(blocks) unlimitedcoredump(blocks) 0data(KiB) unlimitedstack(KiB) 8192lockedmem(KiB) 64nofiles(descriptors) 1024processes 6609flocks
[bash: while, if] 복잡한 조건에 따른 개별 작업 이후 공통된 작업이 있는 경우
case 조건문을 사용하기 어려운 복잡한 여러개의 조건에 따라 뭔가 작업을 한 후에 공통된 작업이 있는 경우 어떻게 할 것인가에 대한 문제다. 하나의 변수에 대하여 여러 조건에 따라 작업을 하는 경우에는 case로 하면 되지만 변수가 다수일 경우에는 if와 elif를 계속 나열해야 하는 귀찮음이 생긴다. (case에 대한 내용은 이전 게시물을 참고하자. 여기로) 간단한 예시를 생각해 보자. 앞에서 있었던 작업에 의해 두가지 변수 a, b의 값이 설정되는데 먼저 a에 대해 우선적으로 특정 조건을 만족하는지 보고 만족하지 않을 경우 b에 대해 특정 조건을 만족하는지 봐야 하는 경우다. # 변수 a의 값이 0이거나, 또는 변수 b의 값이 1인 경우에 따라 변수 c의 값을 설정 if [[ $a -eq
[Linux][Kernel] fd(file descriptor: 파일 디스크립터) 디버깅 CrashTool
"echo c > /proc/sysrq-trigger" 명령어로 강제 커널 패닉을 유발시킨 다음 코어 덤프를 받아 보았어요.crash> bt -I C01003AC -S C59C3E20 0xD110E040PID: 4944 TASK: d110e040 CPU: 0 COMMAND: "sh" #0 [ ] (do_DataAbort) from [ ] pc : [ ] lr : [ ] psr: 60010013 sp : c59c3f10 ip : c1920700 fp : bee5765c r10: 00000000 r9 : acf2a284 r8 : 00000000


![[웹툰단행본] 『통제구역관리부』 1권 후기 : 이상한 변칙과 기이한 일들이 일어나는 공간에 대하여](https://img.zoomtrend.com/2026/06/09/1780996474-SE-5eda86fa-0d63-4afd-b8dd-b801879fed52.jpg)
