Kernel (1) - 커널모드/사용자모드

2025. 5. 20. 17:55·운영체제
728x90
반응형

리눅스 아키텍처

  • 리눅스에서 커널이 모든 핵심 기능을 제공하지만 커널이 그 자체로 운영체제는 아님
    • 운영체제에서 매우 중요한 요소 중 하나가 커널일 뿐
  • 리눅스에는 커널 모드와 사용자 모드가 존재 

커널모드란?

  • 커널은 CPU/메모리/네트워크 장치 등을 통일된 시스템 콜·드라이버 인터페이스로 추상화해 사용자 공간에 API를 제공
  • 시스템 콜을 통해 커널모드로 진입해 하드웨어를 직접적으로 제어하는 매커니즘
    • 위 권한 레벨 자체를 커널모드라고 부름
  • 커널 모드는 추상화를 제한함으로써 빠르게 실행됨

사용자 모드란

  • 사용자 모드는 일반 애플리케이션 수준에서 커널이 제공하는 API(시스템 콜)를 통해서 하드웨어에 간접 접근하는 CPU 실행 상태
    • 좀 더 풀어서 설명하면 사용자 작성한 코드는 직접 하드웨어에 전달되지 못하고 커널모드를 통해서만 하드웨어와 통신을을 할 수 있음
  • 사용자가 시스템 콜을 사용할 때 마다 "사용자 모드" -> "커널 모드" 전환이 이루어짐
    • 해당 작업을 거칠 경우 문맥교환(Context switch), 권한검증 등이 발생해 리소스 발생(느려짐)
  • 사용자 모드는 상대적으로 느리지만 더 안전하고 편리한 추상화를 의미
  • 해당 사용자모드를 통해서 시스템 전체가 망가질 위험이 줄어들고, 메모리 침범 등 보안 사고도 방지

여기서 말하는 추상화란?

  • 커널은 CPU/메모리/네트워크 장치 등을 통일된 시스템 콜·드라이버 인터페이스로 추상화해 사용자 공간에 API를 제공
  • 동시에 커널 모드에서는 보호 메커니즘을 해제하고 직접 하드웨어 레지스터나 메모리 매핑을 조작할 수 있는데, 이러한 “불필요한 중간 계층을 최소화한” 방식이 곧 제한된 추상화(limited abstraction) -> 속도가 빠름
  • 반대로 편리한 추상화는 개발자가 복잡한 하드웨어·시스템 동작을 일일이 다루지 않아도 되고, 단순한 함수 호출만으로 원하는 기능을 쉽게 쓸 수 있도록 감춰 둔 계층을 말함
    •  EX) open(), read() 등의 함수 호출
  • 제한된 추상화(커널 모드)는 빠른 처리 속도가 장점, 편리한 추상화는 느리지만 안전함
728x90
반응형

'운영체제' 카테고리의 다른 글

linux getuid와 geteuid  (0) 2025.05.19
VMware Windows11 설치 방법  (0) 2023.10.26
윈도우 VMware 환경에서 macOS(Monterey) 설치 및 네트워크(인터넷)연결 방법  (2) 2022.06.14
macOS] DNS Suffix 테스트( /etc/resolve.conf 관련)  (0) 2022.04.04
'운영체제' 카테고리의 다른 글
  • linux getuid와 geteuid
  • VMware Windows11 설치 방법
  • 윈도우 VMware 환경에서 macOS(Monterey) 설치 및 네트워크(인터넷)연결 방법
  • macOS] DNS Suffix 테스트( /etc/resolve.conf 관련)
Royal!
Royal!
Bachelor of Arts. Bachelor of Science in Engineering. Master of Science in Engineering (In Progress). Job Title: Infrastructure & Security & Cloud Engineer. Etc: Mentor at Fourth Industrial Revolution Center.
  • Royal!
    Security
    Royal!
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 운영체제
      • 네트워크
      • 클라우드
      • 서버
        • Container
      • 보안
      • 프로그래밍
        • Python_혼자 끄적끄적
        • Python_AI(영상처리)
        • 빅데이터
        • C_정보올림피아드 Language_Coder
        • C_QnA
      • 자격증
        • 정보보안기사
        • 정보처리기사
        • ADsP
        • CPPG
        • 보안법률
        • NCA~NCP
        • AWS Certified Solutions Arc..
      • 기타
        • 면접일지
        • 기타 활동
        • 인턴활동
        • 논문 요약
        • Hackerschool FTZ
        • 리버싱 걸음마
      • 기타 교육
        • KISA 정보보호제품실습군
        • 빅데이터_분석실무
        • 시큐어코딩진단전문교육(호남정보보호센터)
        • SW테스트 전문가 과정(ISTQB CTFL자격)
        • 정보보호 컨설팅 전문가 양성과정
        • K-Shield Jr_악성코드분석
        • K-Shield Jr_침해사고분석
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    WAF SSRF
    네이버클라우드 ftp 설정
    블록체인체험
    openstack lbaas
    swtich frame
    nce덤프
    SSRF 막는 방법
    nce dump
    LBaaS
    지그립토
    2025블록체인누리단
    스위치 프레임 동작 방식
    F5 WAF
    블록체인누리단
    openstack설치
    fragment-free
    우수교육생
    SSRF 완화방법
    F5 LBaaS
    l2 스위치 프레임 전달 방식
    F5 SSRF
    LBaaS설치
    openstack LBaaS설치
    SSRF란
    ICT이노베이션스퀘어
    ai
    SSRF 방어방법
    switch forwarding mode
    openstack F5연동
    F5 AWAF
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Royal!
Kernel (1) - 커널모드/사용자모드
상단으로

티스토리툴바