objdump활용 vmlinux 분석시 start address의미

2025. 9. 11. 00:21·Linux

objdump로 vmlinux를 분석했을 때,

start address가 0xffffffc080000000이다.

 

즉, 처음 vmlinux가 실행될 메모리 주소가 이미 정해진 것이나 마찬가지인데

이게 어떻게 가능할까라는 생각이 들었다.

 

만약 이미 이 주소를 다른 프로세스가 사용중일 수 있지 않을까?

라는 생각이 들었다.

objdump 실행, 출력 일부분

간단하게 말하면, 다른 프로세스가 사용중일리가 없다.

objdump로 vmlinux를 분석할 때 보이는 start address는 물리 메모리 주소를 의미한다.

Kernel은 부팅될 때 부트로더에 의해 약속된 위치에 로드되기 때문이다.

 

반면, 일반 응용 프로그램의 경우 start address는 가상 메모리 주소를 의미한다.

미리 고정된 가상주소를 할당하고, 실제 실행시에 MMU에 의해 실제 메모리의 빈 공간으로 매핑된다.

따라서 가상주소의 경우 겹쳐도 상관이 없다.

'Linux' 카테고리의 다른 글

커널에서 static inline 함수선언과 wrapping  (0) 2025.09.20
linux/drivers/char/mem.c 드라이버 분석  (0) 2025.09.20
디바이스 드라이버  (0) 2025.08.01
커널 모듈 (insmod, lsmod, rmmod) 커널 API  (5) 2025.07.30
ls 명령어 분석 with strace  (1) 2025.07.29
'Linux' 카테고리의 다른 글
  • 커널에서 static inline 함수선언과 wrapping
  • linux/drivers/char/mem.c 드라이버 분석
  • 디바이스 드라이버
  • 커널 모듈 (insmod, lsmod, rmmod) 커널 API
Jminu
Jminu
  • Jminu
    뇌 구조가 바이너리
    Jminu
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • ARM arch
        • Cortex-M
        • FreeRTOS
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Qualcomm 기업과제
      • Linux
      • Web
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    commit
    피보나치
    파이썬
    rubik pi
    c언어
    이진 트리
    스택
    Qualcomm
    rubikpi3
    앤드류모튼
    INIT
    시스템콜
    Git
    파일 입출력
    커널 기여
    arm
    토발즈
    Branch
    자료구조
    C++
    백준
    동적메모리
    소수
    커널
    리눅스
    드라이버 분석
    순환
    yolo
    버퍼
    포인터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Jminu
objdump활용 vmlinux 분석시 start address의미
상단으로

티스토리툴바