CloudOps Chronicles

[CS 면접] 운영체제 본문

CS

[CS 면접] 운영체제

쿠르미 2023. 11. 15. 12:31
  • 프로세스와 쓰레드의 차이에 대해 설명해주세요

프로세스는 실행 중인 프로그램을 말하며, 독립적이기 때문에 메모리 영역(code, data, Heap, stack)을 다른 프로세스와 공유하지 않습니다. 프로세스는 최소 1개의 메인쓰레드를 가지고 있습니다. 

 

쓰레드는 프로세스 내에서 stack만 따로 할당 받고, 그 이외의 메모리 영역(code, data, Heap)영역을 공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있다. 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용해서 실행됩니다. 

 

  • 멀티 프로세스와 멀티 쓰레드의 특징에 대해 설명해주세요. 

멀티 프로세스는 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않고 계속 실행된다는 장점이 있지만, 멀티 쓰레드보다 많은 메모리 공간과 CPU시간을 차지한다는 단점이 있습니다. 

 

멀티 쓰레드는 멀티 프로세스보다 적은 메모리 공간을 차지하고 문맥 전환이 빠르다는 장점이 있지만 하나의 쓰레드에 문제가 생기면 전체 쓰레드가 영향을 받는 담점이 있습니다. 

 

  • 멀티 쓰레드의 동시성과 병렬성을 설명해주세요.

동시성은 멀티 작업을 위해 싱글 코어에서 여러 개의 쓰레드가 번갈아 실행하는 것을 말합니다. 

병렬성은 멀티 작업을 위해 멀티 코어에서 한 개 이상의 쓰레드를 포함하는 각 코어들을 동시에 실행하는 것을 말합니다. 

 

  • 멀티 쓰레드 환경에서의 주의사항을 설명해주세요. 

다수의 쓰레드가 공유 데이터에 동시에 접근하는 경우에 상호배제 또는 동기화 기법을 통해 동시성 문제 또는 교착 상태가 발생하지 않도록 주의해야 합니다. 

 

  • 데드락에 대해 설명해주세요. 

둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 상황을 말합니다. 

 

  • 데드락의 4가지 조건

비선점 : 다른 프로세스의 자원을 뺏을 수 없음

순환 대기 : 두 개 이상의 프로세스가 자원 접근을 기다릴 때, 관계가 순환적 구조.

점유 대기 : 공유 자원에 대한 접근 권한을 가진 채로 다른 자원에 대한 접근 권한을 요구. 

상호 배제 : 한 번에 한 프로세스만 공유 자원에 접근 가능하며, 접근 권한이 제한적일 경우 

 

  • 콘보이 현상이 무엇인가요? 

콘보이 현상이란, 작업 시간이 긴 프로세스가 먼저 큐에 도착해서 다른 프로세스의 실행 시간이 전부 늦춰져 효율성을 떨어트리는 현상을 말합니다. 

 

  • 콘보이 현상이 발생될 수 있는 CPU스케줄러 알고리즘은 무엇인지 설명해주세요,

FCFS(First - come First Served) 스케줄링은 비선점형으로, 순차적으로 먼저 큐에 들어온 작업부터 실행하므로 콘보이 현상이 발생할 수 있습니다. 

 

  • 선점형 스케줄링과 비선점형 스케줄링의 차이를 설명해주세요

선점형은 하나의 프로세스가 다른 프로세스 대신에 CPU를 차지할 수 있음을 말하고, 비선점형은 하나의 프로세스가 끝나지 않으면 다른 프로세스는 CPU를 사용할 수 없음을 말합니다.

 

  • 동기와 비동기의 차이에 대해 설명해주세요. 

동기는 순차적, 직렬적으로 테스크를 수행하고, 비동기는 병렬적으로 테스크를 수행합니다. 

동기는 설계가 매우 간단하고 직관적이지만, 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있고, 

비동기방식은 동기보다 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간동안 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있는 장점이 있다. 

 

'CS' 카테고리의 다른 글

[CS면접] 네트워크  (0) 2023.11.10
Comments