ARM64(Aarch64) - 함수 호출시 Stack Push(스택 푸쉬) 규약
By Guillermo Austin Kim | 2017년 12월 25일 |
아래와 같은 콜 스택에서 유저 공간에서 돌던 레지스터 Stack Push와 Exception 발생 시 Stack Push에 대해서 살펴봤어요. 이제는 평상시 함수 호출 시 어떻게 Stack Push를 하는 지 점검하려고 해요. 자 계속 그 동안 다뤄왔던 아래 "rild"란 프로세스의 콜스택에서 msm_ipc_router_sendmsg()-> msm_ipc_router_send_to() 으로 함수가 호출된 후 스택 푸쉬가 어떻게 수행되는 지 점검해볼께요.-000|do_mem_abort()-001|el1_da(asm) -->|exception-002|ch_pop_remote_rx_intent()-003|glink_tx_common()-004|glink_txv()-005|ipc_router_glink
애플 실리콘 맥 실제 제품 발표 소감
By being nice to me | 2020년 11월 10일 |
드디어 대망의 애플 실리콘 맥이 공식 발표되었습니다. A...가 아니라 (Mac의?) M입니다. SoC 라 그냥 하나의 커다란 칩에 다 때려박은 매우 모바일스러운 칩. 이걸 장착한 신형 맥북 에어, 맥 미니, 맥북 프로 13인치가 첫번째 애플 실리콘 맥 라인업이 되었습니다.얘네 셋은 외적인 디자인이 거의 똑같은데(페더리기가 깨우기 한다며 열어보기 할때 부터 맥북 에어 그대로 가는구나 했음) 디자인이 전혀 안바뀐 것은 절약도 하면서 나름 전략적인 선택이 아니었을까 싶습니다. 똑같은 디자인이지만 애플 실리콘을 장착하면 이런 차이가 나게 할 수 있다는 것을 극적으로 보여주기 위한...뭐 개인적인 생각입니다. 빨간색(프로덕트 레드?)이 없음에도 기본적으로 전세대 인텔 모델 대비 3배쯤 빠르다는 것을 기본으로
locate - 리눅스에서 고속으로 파일 찾기
By 반달가면 | 2018년 12월 3일 |
파일을 검색할 때 개인적으로 가장 요긴하게 사용하는 명령어가 find인데, 파일 수가 엄청나게 많은 상황에서 특정 파일의 위치를 확인하려면 시간이 꽤 걸릴 수 있다. 이럴 경우 locate를 사용하면 훨씬 빠르게 결과를 얻을 수 있다. 파일 시스템을 직접 검색하는 find와 달리, locate는 파일 정보가 저장되어 있는 데이터베이스(DB)를 검색해서 결과를 출력하기 때문에 속도가 훨씬 빠르다. 검색 조건과 관련된 옵션에 있어서는 find가 훨씬 유연하고 다양하므로 필요에 따라 두가지 명령을 상호보완적으로 사용하면 되겠다. (find 활용은 이전 게시물들을 참고하자. 여기로) 가장 간단한 예로, 파일시스템 어딘가에 my_file.txt 파일이 어디에 있는지 보려면 아래와 같이 입력하면 된다.
[ARMv8] 익셉션 클래스가 구현된 코드 분석하기: 리눅스 커널
By Guillermo Austin Kim | 2020년 9월 23일 |
[ARMv8] 익셉션 클래스가 구현된 코드 분석하기: 리눅스 커널 이번 포스트에서는 ARMv8 에서 소개된 익셉션 클래스가 ARMv8 기반의 리눅스 커널에서 어떤 방식으로 구현됐는지 분석합니다. # 익셉션 클래스 소개 소스를 분석하기 전에 ARMv8의 익셉션 클래스를 Q/A 형식으로 소개합니다. Q: 익셉션 클래스란 무엇인가? 익셉션 클래스는 익셉션이 발생한 세부 원인(Cause)를 나타내며 Synchronous 유형의 익셉션이 발생했을 때 익셉션 클래스를 읽을 수 있습니다. Q: 익셉션 클래스는 언제 어떻게 읽을 수 있나? 익셉션 클래스는 Synchronous 유형의 익셉션이 발생했을 때 익셉션 신드롬 레지스터(Exception Syndrom Register)를 통해 읽습니다.익셉션 클래스는