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 |