본문 바로가기

SYSTEM

커널영역, 유저영역 차이

728x90
반응형

#1 커널영역과 유저영역 차이

일반 프로그램을 실행시키기 위해 필요한 메모리 공간과 운영체제의 실행을 위한 메모리 공간을 분리 X 하면 관리하기 힘들어짐 

→ 유저 영역과 커널 영역을 분리하는 이유

 

▶유저 영역 

: 프로그램이 동작하기 위해 사용되는 메모리 공간

→ 스택 영역, 힙 영역, 데이터 영역, 코드 영역으로 나뉨

  • 사용자 모드 : 사용자 영역의 응용 프로그램이 사용하는 모드
  • 사용자 영역의 응용프로그램이 커널 영역의 기능을 사용하기 위해서는 시스템 콜이 필요함
  • 유저 어플리케이션은 사용자 모드에서만 실행 o

 

시스템 콜이란? : 프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게함

Ex) 쉘에서 cat이라는 명령어를 입력, cat을 살펴보면 안에는 파일을 open하거나 read 해주는 시스템 콜이 있음

 

 

▶커널 영역 

: 메모리에서 유저 영역을 제외한 영역

  • 커널이 위치함 
  • 커널 모드 : 운영체제가 CPU 제어권을 가지고 운영체제 코드를 실행하는 모드
  • 운영체제 코드는 커널 모드에서만 실행 o ,
  • z커널이 실행될 때는 커널모드에 진입되어 메모리 공간 어디든 접근할 수 있음

→ 유저 영역과 커널 영역에서 전부 접근 가능

 

커널이란? : 운영체제의 핵심부로 컴퓨터 자원(CPU, 메모리, 파일 등)들을 관리함

  • 프로그램이 동작할 때 필요한 부분은 메모리에 올라가서 사용하게 됨

→ 메모리에 상주하는 운영체제의 부분 = 커널

  • 커널은 컴퓨터 자원을 관리하며 사용자와의 상호작용을 하지 않음 

→ 쉘을 통해서 커널에 명령을 내림

728x90
반응형

'SYSTEM' 카테고리의 다른 글

VA, RVA, RAW  (0) 2023.01.03
가상 메모리와 물리 메모리  (0) 2023.01.03
함수 프롤로그, 에필로그  (0) 2022.12.30
공유 라이브러리 생성  (0) 2022.12.30
리눅스 특수권한 조사, 실습  (0) 2022.12.30