[기술 면접] 9. Sync, Async, Blocking, Non-blocking을 설명해보세요.

Sync, Async, Blocking, Non-blocking을 설명해보세요.

저번 시간에 이어, 이번엔 Sync, Async, Blocking, Non-blocking에 대한 면접 질문들을 알아보겠습니다. 출제 빈도가 조금 있는 편이라고 생각합니다. 많이 헷갈리는 부분이지만, 꼼꼼히 학습하여 대비하시길 바랍니다. Q: Sync와 Async를 설명해보세요 Q: Blocking과 Non-blocking은 무엇인가요? Q: 그렇다면 동기(Sync)와 비동기(Async)를 각각 어떤 상황에서 사용해야 하나요? 동기(Sync)는 서비스의 순서가 중요하거나, 이전 작업의 결과물이 영향을 끼칠 때 사용합니다. 비동기(Async)는 작업끼리의 … Read more

[기술 면접] 8. 가상 메모리에 대해 설명해주세요.

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

저번 시간에 이어, 이번엔 가상 메모리에 대한 질문들을 알아보겠습니다. Java 카테고리의 JVM 과도 겹치는 내용이 있습니다. 그만큼 중요하고 자주 등장하곤 합니다. 서비스 플랫폼 기업 K사와 게임 제작 기업 C사에서 마주했던 질문으로 기억합니다. Q: 가상 메모리에 대해 설명해주세요. Process 전체가 메모리에 올라오지 않아도, 실행이 가능하도록 하는 기법입니다. 가상 메모리 기법을 통해 사용자 프로그램이 물리적 메모리보다 커져도 … Read more

[기술 면접] 7. 메모리 단편화가 무엇인가요?

메모리 단편화

저번 시간에 이어, 이번에는 메모리 단편화에 대해 알아보겠습니다. 메모리 단편화는 메모리 공간이 일부 조각으로 나뉘어 사용되는 상황을 나타냅니다. 메모리 단편화와 관련된 배치 정책들을 포함하여 자세히 알아보는 시간을 가지겠습니다. Q: 메모리 단편화가 무엇인가요? 메모리 내에서 사용 가능한 공간이 작은 조각으로 나뉘어져서 효율적으로 활용되지 못하는 상태를 일컫습니다. 이는 메모리 할당 및 해제로 인해 발생하며, 외부 단편화와 내부 … Read more

[기술 면접] 6. 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요.

교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요.

저번 시간에 이어, 이번 시간엔 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해 알아보겠습니다. 저번 시간에 배운 임계영역 개념과 밀접한 관련이 있으니, 이전의 포스팅을 먼저 정독하시길 권해드립니다. Q: 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요. 둘 이상의 thread가 다른 tread가 점유하고 있는 자원을 서로 기다릴 때, 무한 대기에 빠지는 상황을 말합니다. 발생 조건으로는 상호 배제(mutual exclusion), 점유 대기(hold-and-wait), 비선점(no deadlock), 순환 … Read more

[기술 면접] 4. Thread가 무엇인가요?

제목을 입력해주세요 복사본 7 001 e1692196697527

이전 시간에 이어서, Thread에 대해 알아보겠습니다. Thread는 Process와 같이 자주 등장하는 개념이며, 상대적으로 더욱 깊은 내용들이 있다고 할 수 있습니다. Process / Multi-Process / Thread / Multi-Thread 모두 핵심 개념이니, 이번 시간을 통해 자세히 배울 수 있으시길 바랍니다. Q: Thread가 무엇인가요? 한 process 내에서 실행되는 동작(기능 function)의 단위입니다. 각 Thread는 속해있는 process의 Stack 메모리를 제외한 … Read more

[기술 면접] 3. Process를 설명해주세요.

Process

이전 시간에 이어서 운영체제의 기본, Process에 대해 알아보겠습니다. Process는 앞으로 나오는 내용들의 기초가 되는 핵심 개념입니다. Process가 무엇인지, 어떤 특징을 가지는지 꼼꼼하게 정리하고 넘어가시길 바랍니다. Q: Process를 설명해주세요. 프로세스란, 실행 중인 프로그램을 의미합니다. 즉, 실행파일 형태로 존재하던 프로그램이 Memory에 적재되어 CPU에 의해 실행(연산)되는 것을 프로세스라 합니다. Q: Process의 Memory 영역에 대해서 설명해주세요. 프로세스가 운영체제에서 할당받는 … Read more

[기술 면접] 2. CPU 스케줄링이 무엇인가요?

제목을 입력해주세요 복사본 5 001 e1689599124823

CPU 스케줄링은 운영 체제에서 중요한 개념으로, 프로세스 관리와 성능 향상을 위해 필요합니다. 면접관은 운영 체제 동작 원리와 프로세스 스케줄링 알고리즘에 대한 이해를 요구합니다. 시스템의 효율성과 성능을 최적화하는 방법을 알아보며 면접 질문에 대비하도록 합니다. Q: CPU 스케줄링이 무엇인가요? 어떤 프로세스에 CPU를 할당할 것인지, 계획하는 작업입니다. Q: FCFS(First Come First Served) 스케줄링은 무엇인가요? 가장 먼저 요청한 프로세스에 … Read more

[기술 면접] 1. 컴파일러와 인터프리터의 차이점을 알고 있나요?

[기술 면접] 1. 컴파일러와 인터프리터의 차이점을 알고 있나요?

운영체제에서 컴파일러와 인터프리터는 실행 방식이 다릅니다. 다양한 언어를 사용하기 전에, 이 둘의 차이점을 이해하고 있는지 확인하는 면접관분들도 계십니다. 차이점을 간단하게 알아보도록 하겠습니다.