학습 공간 개념 · 판단 · 실험

Frontend Performance Lab

운영체제

프로그램과 실행 중인 작업 구분하기

프로그램 파일과 실행 중인 프로세스는 구분해야 합니다.

이럴 때 필요해요

브라우저에서 일이 실행되는 환경을 읽기 위한 기초 용어를 익힙니다.

어떻게 동작하나요?

프로그램은 실행할 명령이 담긴 코드이고 프로세스는 실행 중인 프로그램의 한 인스턴스입니다. 같은 프로그램을 여러 번 실행하면 서로 다른 프로세스가 만들어질 수 있습니다.

스레드는 프로세스 안에서 명령을 실행하는 흐름입니다. 여러 스레드가 있다는 것과 자원 충돌 없이 안전하게 작업한다는 것은 다른 문제입니다.

아래 문자열 배열은 용어를 구분해 읽는 설명용 예제일 뿐 운영체제 프로세스나 스레드를 생성하지 않습니다. 실제 브라우저의 프로세스 구조는 구현과 상황에 따라 달라질 수 있습니다.

코드 예제

동작을 설명하는 읽기 전용 예제입니다.

example.js
const terms = ["프로그램: 실행할 코드", "프로세스: 실행 중인 인스턴스", "스레드: 명령 실행 흐름"];
console.log(terms[1]);
javascript · 읽기 전용2줄

용어를 출력하는 예제이며 병렬 실행을 재현하는 코드는 아닙니다.

자주 헷갈리는 포인트

  • 브라우저 탭 하나가 항상 운영체제 프로세스 하나라고 단정하지 않습니다.
  • 스레드 수가 많다는 것과 더 빠르거나 안전하다는 것은 다릅니다.

내 말로 설명해 보기

같은 프로그램을 실행한 두 인스턴스를 무엇으로 구분할까요?

생각할 단서 코드 파일과 지금 실행 중인 작업, 그 안의 실행 흐름을 구분하세요.

예시 답변 확인

설명에 들어갈 핵심

  • 프로그램 파일과 실행 중인 프로세스는 구분해야 합니다.
  • 용어를 출력하는 예제이며 병렬 실행을 재현하는 코드는 아닙니다.

예시 답변

실행 중인 각 인스턴스는 별도 프로세스일 수 있습니다. 스레드는 그 안의 실행 흐름을 나타내며 실제 구조는 구현에 따라 확인해야 합니다.

문장을 그대로 외우기보다 예제의 값과 실행 흐름을 떠올리며 설명해 보세요.

함께 읽으면 좋은 개념

공식 참고 자료

← 운영체제