[CS] 면접 운영체제 질문 대비 (1)

young-gue Park·2024년 1월 17일
0

CS

목록 보기
12/18
post-thumbnail

⚡ 면접 운영체제 질문 대비


운영체제 (1)

📌 운영체제의 역할은 무엇인가요?

운영체제는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스를 의미하며 한정된 메모리나 시스템 자원을 효율적으로 분배하기 위해 존재합니다. CPU 스케줄링과 프로세스 관리, 메모리 관리, 디스크 파일 관리 ,I/O 디바이스 관리 역할을 주로 맡게 됩니다.


📌 메모리 계층에 대해 설명해보세요.

메모리 계층은 크게 4개 계층으로 분리할 수 있습니다. 우선 CPU 안에 있는 작은 메모리인 레지스터가 메모리 계층의 가장 위에 위치해 있습니다. 그 아래 계층은 캐시 메모리인데 더 세세하게 L1, L2, L3 캐시로도 구분할 수 있습니다. 그 다음으로 주기억장치인 RAM이 있고, 맨 아래에는 HDD, SSD를 일컫는 보조기억장치가 있습니다. 보조기억장치 외의 메모리들은 휘발성 메모리이며, 계층 위로 올라갈 수록 용량은 작아지고 속도는 빨리지는 특징 외에도 더 비싸진다는 경제적인 특징이 있습니다. 같은 용량이어도 하위 계층의 메모리는 더 저렴하게 살 수 있습니다.


📌 캐시가 무엇인지 설명해주세요.

캐시란 데이터를 미리 복사해 놓는 임시 저장소이자 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 일컫습니다. 캐시를 직접 설정할 때는 최근 사용한 데이터에 다시 접근하려는 특성인 시간 지역성과 최근 접근한 데이터를 이루고 있는 공간이나 그 가까운 공간에 접근하는 특성인 공간 지역성에 근거하여 자주 사용하는 데이터를 이용합니다.


📌 가상 메모리에 대해 설명해보세요.

가상 메모리는 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것을 말합니다. 이 때 가상 메모리에서 가상적으로 주어진 주소를 가상 주소라고 하며 실제 메모리 상에 있는 주소를 실제 주소라고 합니다. 가상 메모리는 가상 주소와 실제 주소가 매핑되어 있고 프로세스의 주소 정보가 들어 있는 페이지 테이블로 관리됩니다.


📌 메모리 성능을 위해 redis를 사용하셨다고 쓰셨는데 어떤 점에서 메모리 성능에 이점이 있었는지 말씀해주세요.

메모리 계층 간 속도 차이를 해결하기 위해 계층과 계층 사이에 있는 계층을 캐싱 계층이라고 합니다. 저는 메인 데이터베이스인 Mongo DB 위에 레디스(redis) 데이터베이스 계층을 캐싱 계층으로 둬서 성능을 향상시켰습니다. 프로젝트 핵심 기능은 실시간으로 빠르게 DB와 소통해야하는 Figma 같은 협업 툴인데요. 주 메모리에 데이터를 저장하는 redis의 경우, Disk에서 꺼내 읽고 쓰는 속도보다 RAM에서의 응답 속도가 월등히 빠르다는 점에서 다른 DB보다 더 메모리 성능에서 이점이 있었습니다.

profile
Hodie mihi, Cras tibi

0개의 댓글