728x90
Q. 사용자 주소 공간과 커널 주소공간에 대해서 분리하는 이유는?
운영체제는 컴퓨터 전체 메모리를 사용자 공간과 커널 공간으로 나누는데 사용자 공간은 응용프로그램이 탑재되고 사용되는 공간이며, 커널 공간은 디바이스 드라이버를 포함하여 커널 코드가 탑재된다. 커널 공간에 있는 코드와 데이터를 보호하기 위해 분리한다.
# 커널 공간에 있는 코드와 데이터를 보호하기 위해 분리
Q. 사용자 모드, 커널 모드에 대해서 설명하면?
사용자모드 -> 응용프로그램 코드가 실행되고, 커널모드 -> 커널 코드가 실행된다.
둘을 나누어 데이터 접근에 어려운을 만드는 것. 응용프로그램에서 오류를 발생시키더라도 시스템을 중단시키는 수준은 발생하지 않게 막아줌.
모든 프로세스의 주소공간에서 사용자 공간은 분리되지만 커널 공간은 공유된다.
이유 -> 메모리 주소에 대한 테이블을 따로 유지하지 않고 이 프로세스의 매핑테이블에 유지시키기 위함이다.
728x90
'Solution > 면접' 카테고리의 다른 글
[개발자 면접] 프로세스와 스레드의 차이점 (5) | 2022.03.24 |
---|---|
[개발자 면접] 프로세스간 통신(IPC)이란? (5) | 2022.03.23 |
[개발자 면접] RESTful이 무엇인지 요약 (9) | 2022.03.21 |
[개발자 면접] JAVA언어의 특징과 가비지컬렉션에 대하여 (0) | 2022.03.20 |
[개발자 면접] HTTP와 HTTPS의 차이점에 대해서 요약 (0) | 2022.03.20 |