반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

ZZoMb1E

[KERNEL] Linux Structure 본문

STUDY/KERNEL

[KERNEL] Linux Structure

ZZoMb1E 2024. 6. 5. 11:24
728x90
반응형

 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다.  

 

Kernel 영역의 Exploit을 학습하기 위해서는 Kernel이 어떤 것인지를 인지하고 있어야 한다.

 

기본적인 Linux의 구조는 위 그림과 같다.

 

우리가 Linux를 다루는데 있어서 각종 명령을 입력하는 작업을 수행한다. 이때 우리는 Shell이라는 부분을 다루게 된다. 이후 우리가 입력한 명령을 하드웨어에서 작동할 수 있도록 관리 및 통역해주는 역할을 해주는 것이 Kernel이다.

 


Shell

기본적인 Shell은 사용자와 커널 사이의 인터페이스 역할을 수행한다.

 

명령어 해석: 사용자가 입력한 명령을 해석하여 커널로 전달
   사용자가 입력한 명령어는 셸이 해석하여 커널로 전달되며, 커널은 이를 처리한 후 결과를 다시 셸에 반환

스크립트 작성: 셸 스크립트를 통해 복잡한 작업의 자동화 가능

사용자 환경 관리: 환경 변수 및 설정들 관리


Kernel

커널은 운영 체제의 핵심이라 볼 수 있다. 하드웨어와 Shell에서 전달받은 명령을 중개하는 역할을 수행한다. 이외에도 시스템 자원을 관리 및 효율적으로 분배를 담당한다.

 

메모리 관리: 가상 메모리 및 물리 메모리 관리 (할당/해제/교체 등의 기능)

프로세스 관리: 프로세스 생성, 종료, 스케줄링 등의 생명 주기를 관리

보안: 메모리와 프로세스 등의 시스템적인 부분들을 관리하기 때문에 다른 프로세스 공간으로의 간섭 방지 및 커널 공간으로의 접속을 차단

 

 

 


 

Context switch

컨텍스트 스위칭은 스레드나 프로세스가 실행 상태를 저장하고 다른 프로세스나 스레드로 전환하는 작업이다. 이는 멀티태스킹을 가능하게 하고 시스템의 효율적인 자원 사용을 보장한다.

 

 

https://m.blog.naver.com/rhkdals1206/221575121342

 

각 스레드를 실행하다가 해당 영역에서 수행하지 못하는 명령의 경우 다른 공간에서 실행하거나, 인터럽트가 발생하는 경우 다른 스레드와 일시적으로 실행 교환이 발생한다. 이때 기존의 상태 정보를 저장하고, 다른 프로세스를 실행 후 다시 복구하는 과정을 가진다.

 

728x90
반응형

'STUDY > KERNEL' 카테고리의 다른 글

[KERNEL] KBOF  (0) 2024.06.27
[KERNEL] Holstein Module  (0) 2024.06.20
[KERNEL] 보호 기법  (0) 2024.06.13
[KERNEL] Environment Setting  (0) 2024.06.05
[KERNEL] Kernel Exploit?  (0) 2024.06.05