질문 169 · 실전 면접 답변
운영체제(OS)는 어떤 하드웨어 자원을 관리하며 프로그램에 어떤 추상화를 제공하나요?
이렇게 답해 보세요 (핵심 답변)
운영체제는 CPU, 메모리, 저장장치와 입출력 자원을 직접 관리하면서, 프로그램에는 프로세스, 가상 주소 공간, 파일 같은 다루기 쉬운 추상화를 제공하는 시스템 소프트웨어입니다. 일반 프로그램이 하드웨어를 임의로 제어하지 못하도록 시스템 호출(System Call)을 통해서만 특권 작업을 중재하며 프로세스 간 격리, 공정성, 효율을 조율합니다. 커널 구조와 세부 스케줄링 정책은 운영체제마다 다르므로 추상화된 인터페이스와 내부 구현을 구분해 이해해야 합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- CPU 가상화와 메모리 가상화 덕분에 각 프로그램은 마치 혼자서 CPU와 전용 메모리를 독점해 사용하는 것처럼 단순하게 코드를 작성할 수 있습니다.
- 운영체제가 제공하는 보호 경계(Protection Boundary)가 없다면 한 프로그램의 잘못된 포인터 접근 하나가 다른 프로그램이나 시스템 전체를 멈추게 할 수 있습니다.
면접에서 자주 하는 실수
운영체제를 단순히 바탕화면 GUI를 보여 주는 프로그램이나 프로세스 스케줄러 하나만으로 축소해서 설명하면 안 됩니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 169번을 바탕으로 질문과 답변을 새로 정리했습니다.