기초 개념, 기술 면접 대비

운영체제 면접 퀴즈

시스템 프로그래밍의 핵심

프로세스, 스레드, 메모리 관리, 동기화, 데드락 등 운영체제 핵심 개념을 학습하세요. 시스템 레벨 이해가 필수인 백엔드 개발자의 기초.

로그인 없이 풀어보기
50개 문제, 무료

학습할 핵심 개념

프로세스 vs 스레드
CPU 스케줄링 알고리즘
메모리 관리와 가상메모리
동기화와 뮤텍스/세마포어
데드락과 해결방법
파일 시스템
I/O 시스템

핵심 개념 미리보기

운영체제 면접에서 꼭 나오는 개념을 미리 확인하세요

프로세스 (Process)

핵심

프로세스 (Process)

프로세스란?

실행 중인 프로그램의 인스턴스. OS가 관리하는 작업 단위.

메모리 구조

높은 주소에서 낮은 주소 순으로 이렇게 놓입니다.

영역담는 것자라는 방향
스택 (Stack)지역변수, 매개변수아래로
빈 공간두 영역이 만나면 넘침이다
힙 (Heap)동적 할당 (malloc, new)위로
데이터 (Data)전역변수, static고정
코드 (Code)실행 명령어고정

프로세스 상태

[생성] → [준비] ⇄ [실행] → [종료]
              ↕
           [대기/블록]
상태설명
준비 (Ready)CPU 대기 중
실행 (Running)CPU에서 실행 중
대기 (Blocked)I/O 완료 대기

실무 포인트

  • fork(): 부모 프로세스 복사하여 자식 프로세스 생성
  • exec(): 현재 프로세스를 새 프로그램으로 교체
  • 좀비 프로세스: 종료됐지만 부모가 회수 안 한 상태
  • 고아 프로세스: 부모가 먼저 종료된 자식 (init이 입양)
면접에서 이렇게 나옵니다
  • Q.프로세스의 메모리 구조를 설명해주세요
  • Q.좀비 프로세스란? 어떻게 해결하나요?

스레드 (Thread)

핵심

스레드 (Thread)

스레드란?

프로세스 내의 실행 흐름 단위. 같은 프로세스의 메모리를 공유.

공유 vs 독립

공유 자원독립 자원
코드 영역스택
데이터 영역PC (Program Counter)
힙 영역레지스터
파일 디스크립터스레드 ID

사용자 스레드 vs 커널 스레드

구분사용자 스레드커널 스레드
관리 주체라이브러리OS 커널
전환 속도빠름느림 (시스템 콜)
블로킹하나 블록 → 전체 블록독립적

동기화 문제

스레드 A 는 잔액에 100을 더하고, 스레드 B 는 50을 뺍니다.

순서동작잔액
1A 가 읽는다1000
2B 가 읽는다1000. 아직 A 가 쓰지 않았다
3A 가 쓴다1100
4B 가 쓴다950. A 의 변경이 사라졌다
Race Condition 발생. 뮤텍스/세마포어로 해결.

실무 포인트

  • Java: Thread, ExecutorService (스레드풀)
  • Python: GIL 때문에 멀티스레딩 CPU 바운드에 불리
  • Go: goroutine (경량 스레드, M:N 모델)
면접에서 이렇게 나옵니다
  • Q.스레드가 공유하는 자원과 독립적인 자원은?
  • Q.사용자 레벨 스레드와 커널 레벨 스레드의 차이는?
  • Q.스레드풀을 사용하는 이유는?

프로세스 vs 스레드

핵심

프로세스 vs 스레드

핵심 비교

구분프로세스스레드
메모리독립 공간코드/데이터/힙 공유
생성 비용높음 (fork)낮음
통신IPC 필요 (파이프, 소켓)공유 메모리 직접 접근
안정성한 프로세스 죽어도 OK한 스레드 죽으면 전체 영향
컨텍스트 스위칭느림 (메모리 맵 교체)빠름

메모리 구조

프로세스 A 와 B 는 각자 독립된 공간을 가집니다.

영역프로세스 사이같은 프로세스의 스레드 사이
코드독립공유
데이터독립공유
독립공유
스택독립스레드마다 따로 가진다

실무 선택 기준

  • 멀티 프로세스: 안정성 중요 (Chrome 탭, Nginx worker)
  • 멀티 스레드: 성능 중요 (Java 서버, 게임 서버)
  • 이벤트 루프: I/O 바운드 (Node.js, Redis)
면접에서 이렇게 나옵니다
  • Q.프로세스와 스레드의 차이를 설명해주세요
  • Q.멀티 프로세스 vs 멀티 스레드, 언제 뭘 쓰나요?

더 많은 개념과 문제는 가입 후 이용할 수 있어요

먼저 5문제 맛보기

운영체제 면접 빈출 질문

실제 면접에서 자주 나오는 질문들입니다

Q.

프로세스의 메모리 구조를 설명해주세요

프로세스 (Process) 개념 정리 보기
Q.

좀비 프로세스란? 어떻게 해결하나요?

프로세스 (Process) 개념 정리 보기
Q.

스레드가 공유하는 자원과 독립적인 자원은?

스레드 (Thread) 개념 정리 보기
Q.

사용자 레벨 스레드와 커널 레벨 스레드의 차이는?

스레드 (Thread) 개념 정리 보기
Q.

스레드풀을 사용하는 이유는?

스레드 (Thread) 개념 정리 보기
Q.

프로세스와 스레드의 차이를 설명해주세요

프로세스 vs 스레드 개념 정리 보기
Q.

멀티 프로세스 vs 멀티 스레드, 언제 뭘 쓰나요?

프로세스 vs 스레드 개념 정리 보기

이런 점이 좋아요

시스템 레벨 디버깅 능력

성능 최적화 이해

면접 필수 질문 대비

지금 바로 시작하세요

무료로 운영체제 퀴즈를 풀고, AI 오답 분석으로 실력을 키우세요.