제가 공부한 내용을 정리하는 블로그입니다.
아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁

면접 리스트

프로세스 동기화에 대해 설명해보세요

더보기

하나의 프로세스에 대해 멀티 프로세스나 멀티 스레드 기법을 도입할 수 있고 각 메모리를 공유하는 멀티 스레드와 같은 경우에는 동기화가 중요한 포인트입니다.

 

공유되는 데이터의 일관성을 보장하기 위해 lock이나 세마포어 등을 사용합니다.

 

lock은 하드웨어 기반 해결책으로 동시에 공유하는 자원의 접근을 막기 위해 critical section에 진입하는 프로세스가 있을 시 lock을 걸고 다른 프로세스의 접근을 막는 방법입니다.

 

세마포어는 세마포어 변수를 통해 lock이 걸렸는지 아닌지 확인할 수 있습니다. 

Context-Switch가 무엇인지 설명해보세요

더보기

컨택스트 스위칭 하나의 task가 끝날때까지 기다리지 않고 동시에 여러 task를 번갈아가며 실행하는 방법입니다.

 

인터럽트가 발생하면 현재 프로세스의 상태를 PCB에 저장하고 새로운 프로세스의 상태를 레지스터에 저장하여 잦은 컨텍스트 스위칭은 성능 저하를 야기합니다.

메모리 관리 전략에 대해 설명해보세요

더보기

메모리 관리 전략은 페이징과 세그멘테이션이 존재합니다.

 

페이징프로세스를 일정 크기인 페이지로 잘라서 메모리에 적재하는 방식을 의미합니다. 하지만 이는 내부 단편화와 외부 단편화가 발생할 수 있습니다. 

 

세그멘테이션프로세스를 논리적 내용 단위인 세그먼트로 잘라 메모리에 적재하는 방법을 의미합니다. 이는 세그먼트 테이블을 통해 연속된 메모리 공간에 위치하도록 보이는 기법입니다. 하지만 이도 단점이 있는데 외부 단편화가 발생할 수 있습니다.

가상 메모리가 무엇인지 설명해보세요

더보기

가상 메모리는 운영체제가 물리적 메모리와 독립된 가상 주소 공간을 프로세스에 제공하는 기술입니다. 이를 통해 프로그램은 실제 물리적 메모리 크기에 구애받지 않고 실행될 수 있습니다.

 

운영체제는 프로세스마다 별도의 가상 메모리를 제공하며, 이를 물리적 메모리와 매핑하여 관리합니다. 가상 주소를 물리적 주소로 변환하는 작업은 MMU(Memory Management Unit)라는 하드웨어 장치가 담당합니다.


이를 통해 각 프로세스는 실제 물리적 메모리의 제약 없이 동작하며, 물리적 메모리와 가상 메모리는 페이징(Paging) 기법을 통해 매핑됩니다.

 

요구 페이징은 가상 메모리에서 핵심적인 개념 중 하나입니다. 요구 페이징은 프로그램 실행 시 필요한 페이지만 메모리에 적재하는 방식으로, 처음부터 모든 페이지를 메모리에 올리지 않습니다.

캐시 지역성에 대해 설명해보세요

더보기

캐시 지역성은 프로그램이 메모리에 접근하는 패턴에서 시간적 또는 공간적으로 반복적으로 사용되는 경향을 의미합니다. 이 특성을 사용하면 프로그램의 성능을 크게 향상시킬 수 잇습니다.

 

시간 지역성최근에 접근한 데이터는 다시 참조할 가능성이 높은 것을 의미합니다.

공간 지역성은 메모리 접근이 특정 주소 주변의 데이터에 집중되는 경향을 의미합니다.

 

'기술면접 > 운영체제' 카테고리의 다른 글

[기술면접] 운영체제 2  (0) 2024.11.28
[기술면접] 운영체제 1  (4) 2024.11.28

+ Recent posts