CS 기초 · 기초
컴퓨터 시스템에서 '프로세스(Process)'란 무엇을 의미하며, 프로그램과 어떤 차이가 있는지 구체적으로 설명해 주세요.
힌트 · 프로세스는 실행 중인 프로그램의 인스턴스이며, 프로그램은 정적인 파일인 반면 프로세스는 동적인 실행 단위입니다.
프로세스프로그램실행메모리자원
모범답안
"네, 프로세스에 대해 설명드리겠습니다. 프로세스는 간단히 말해 '실행 중인 프로그램'이라고 할 수 있습니다. 프로그램은 디스크에 저장된 정적인 파일, 즉 명령어들의 집합일 뿐입니다. 예를 들어, 워드 프로세서 프로그램 파일이 있다고 할 때, 이 파일을 더블 클릭해서 실행하면 워드 프로세서의 프로세스가 생성되는 것이죠.
프로세스는 프로그램이 실행되기 위해 운영체제로부터 메모리 공간, CPU 시간, 파일 시스템 접근 권한 등 필요한 자원을 할당받은 동적인 실행 단위를 의미합니다. 따라서 같은 프로그램을 여러 번 실행하면 여러 개의 독립적인 프로세스가 생성될 수 있습니다. 각 프로세스는 자신만의 메모리 공간을 가지고 다른 프로세스의 메모리에 직접 접근할 수 없습니다. 이것이 프로그램과 프로세스의 가장 큰 차이점입니다."
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 운영체제 면접 질문
- 운영체제(OS)의 개념을 정의하고, 사용자 또는 다른 소프트웨어를 위해 수행하는 핵심적인 역할 세 가지를 설명해 주세요.
- 운영체제의 핵심 구성 요소인 커널(Kernel)은 무엇이며, 시스템에서 어떤 중요한 기능을 담당하는지 설명해 주세요.
- 프로세스 내에서 '스레드(Thread)'는 어떤 역할을 하며, 멀티스레딩이 필요한 주된 이유를 설명해 주세요.
- 운영체제가 프로세스를 관리할 때, 프로세스가 가질 수 있는 주요 상태(예: 생성, 준비, 실행, 대기, 종료)들에 대해 각각 설명해 주세요.
- 운영체제에서 'CPU 스케줄링'이 필요한 이유와 그 기본적인 목적은 무엇인지 설명해 주세요.