오늘 방문 /누적 방문 /완성한 레슨 소개 ↗
SECONDTEAM
터미널
⌨️ 레슨

프로그램과 실행 — 더블클릭 뒤에서 일어나는 일

앱을 '연다'는 게 정확히 뭘까요? 프로그램·프로세스를 알면 '서버가 떠 있다'는 말이 이해돼요.

① 오늘의 미스터리
아이콘을 더블클릭하면…
어제 우리는 반찬가게 파일이 어디 생기는지 봤어요(파일·폴더·경로). 오늘은 한 발 더 들어갑니다. 가게 홈페이지를 보려고 아이콘을 더블클릭하면 화면에 창이 뜨죠. 그 짧은 순간, 컴퓨터 안에서는 정확히 무슨 일이 벌어질까요?

사실 더블클릭과, 우리가 곧 배울 터미널 명령은 — 알고 보면 똑같은 일이에요. 오늘 그 정체를 잡으러 갑니다.

설명을 따라 진행하면, 여기서 직접 쳐보게 돼요 👇
~/my-shop
$ _
📚 「프로그램과 실행 — 더블클릭 뒤에서 일어나는 일」 레슨 내용 전체 텍스트로 훑어보기
아이콘을 더블클릭하면…
어제 우리는 반찬가게 파일이 어디 생기는지 봤어요(파일·폴더·경로). 오늘은 한 발 더 들어갑니다. 가게 홈페이지를 보려고 아이콘을 더블클릭하면 화면에 창이 뜨죠. 그 짧은 순간, 컴퓨터 안에서는 정확히 무슨 일이 벌어질까요?

사실 더블클릭과, 우리가 곧 배울 터미널 명령은 — 알고 보면 똑같은 일이에요. 오늘 그 정체를 잡으러 갑니다.

Chrome, 계산기, 그리고 우리가 만들 반찬가게 홈페이지 — 이 '프로그램'들의 정체는 무엇일까요?
맞아요. 프로그램은 결국 파일이에요. 안에는 '이걸 해라, 다음엔 저걸 해라' 하는 명령이 줄줄이 적혀 있어요. 개발자가 쓴 그 명령 모음을, 컴퓨터가 위에서부터 차례로 따라 하는 거죠.

프로그램은 요리 레시피와 똑같아요. 레시피 종이(파일) 안에 '재료를 썰어라, 볶아라'가 순서대로 적혀 있죠.

반찬가게로 생각하기
· 우리가 만들 가게 홈페이지도 결국 명령이 적힌 파일이에요
· "메뉴 목록을 보여줘라", "주문 버튼을 그려라" 같은 명령의 모음
· 이 파일은 그냥 가만히 있어요 — 누가 읽어서 따라 하기 전까지는

중요한 감각: 레시피는 저절로 요리되지 않아요. 요리사가 종이를 펼쳐 한 줄씩 따라 해야 음식이 나오죠. 컴퓨터에서 그 '따라 하기'를 실행(run)이라고 불러요.

가만히 있던 레시피 파일을 '실행'한다 — 컴퓨터 입장에선 어떤 동작일까요?
맞아요. 실행 = 파일을 메모리(컴퓨터의 작업 책상)에 올려놓고, 적힌 명령을 위에서부터 따라 하기 시작하는 거예요. 디스크에 잠자던 레시피가, 책상 위에 펼쳐져 실제로 요리되기 시작하는 순간이죠.

가게 홈페이지 프로그램을 실행했어요. 그럼 디스크에 있던 그 파일 자체는 어떻게 될까요?

맞아요. 원본 파일은 디스크에 그대로 있어요. 실행하면 그 내용이 메모리에 올라가 돌기 시작할 뿐이죠. 그래서 같은 프로그램을 동시에 여러 번 실행할 수도 있어요 — 레시피 한 장으로 요리사 여럿이 동시에 요리하듯이.

"프로그램이 파일"이라는 말, 눈으로 확인해봐요. 가게 폴더에서 Claude를 켜고 물어봅니다.

내 컴퓨터에서 프로그램(앱)이 결국 '명령이 적힌 파일'이라는 게 무슨 뜻인지, 우리 반찬가게 홈페이지를 예로 쉽게 설명해줘 — 프로그램의 정체를 대화로 확인해요
모르는 개념은 Claude에게 바로 물어보기 — 지난 레슨에서 익힌 습관을 오늘도 그대로 쓰는 거예요.

여기서 새 단어 하나. 디스크에 잠자는 레시피(파일)와, 지금 실제로 요리되고 있는 상태는 이름이 달라요.

프로그램 vs 프로세스
· 프로그램 = 디스크에 적힌 레시피 파일 (가만히 있는 것)
· 프로세스(process) = 그 레시피가 지금 메모리에서 돌고 있는 상태 (살아 움직이는 것)

같은 가게 홈페이지 파일이라도, 실행하는 순간 프로세스가 하나 태어나요. 닫으면 그 프로세스는 사라지죠 — 레시피 종이는 서랍에 그대로 있지만요.

오늘의 핵심 통찰. 아이콘을 더블클릭하는 것과, 곧 배울 터미널 명령은 사실 같은 일이에요.
🖱️ 더블클릭: 아이콘을 두 번 누르면 컴퓨터가 속으로 말해요:
"이 프로그램 파일을 읽어서 실행해."
편하지만, 무슨 일이 일어나는지 안 보여요.
⌨️ 터미널 명령: 터미널에 이름을 쳐도 똑같이 말하는 거예요:
"이 프로그램 파일을 읽어서 실행해."
같은 일인데, 무엇을 어떻게 실행할지 내가 정확히 지정할 수 있어요.
더블클릭과 터미널 명령의 관계를 한 마디로 한다면?
맞아요. 둘 다 '실행해'라는 같은 부탁이에요. 더블클릭은 가게 손님처럼 메뉴를 손가락으로 가리키는 것, 터미널은 주방에 직접 '이걸 이렇게 만들어줘'라고 말하는 것 — 같은 음식, 다른 주문 방식이죠.

디스크에 잠자는 파일은 프로그램. 그게 메모리에 올라가 지금 돌고 있는 상태를 부르는 이름은 뭘까요?

정답! 프로세스(process)예요. 같은 프로그램 파일도 실행할 때마다 새 프로세스가 하나씩 태어나요. 닫으면 프로세스만 사라지고, 파일은 그대로 남죠.

지금 내 컴퓨터에서 몇 개의 프로세스가 돌고 있는지 Claude에게 물어봐요. 화면에 안 보여도 수백 개가 돌고 있을걸요.

지금 내 맥에서 프로그램이 실행되면 '프로세스'가 된다고 했잖아. 실제로 돌고 있는 프로세스를 보는 명령이 뭔지 알려주고, 왜 화면에 안 보여도 많이 돌고 있는지 설명해줘 — 지금 돌고 있는 프로세스를 확인해요
핵심은 명령 자체가 아니라 "실행된 프로그램은 프로세스가 되어 계속 돈다"는 감각이에요. 이게 다음 코스에서 아주 중요해져요. 👇

나중에 우리는 반찬가게를 인터넷에 올릴 거예요. 그때 이런 말을 듣게 됩니다 — "서버가 떠 있다", "서버를 띄운다".

오늘 배운 걸로 미리 풀면
'서버가 떠 있다' = 가게를 손님에게 보여주는 프로그램이 프로세스가 되어, 꺼지지 않고 계속 도는 중이라는 뜻이에요. 손님이 언제 와도 응답하려면, 그 프로세스가 잠들지 않고 깨어 있어야 하죠.

지금은 "아 그렇구나" 정도면 충분해요. 오늘 잡은 프로그램 → 실행 → 프로세스 흐름이, 그 말을 듣는 날 딱 들어맞을 거예요.

한 줄로
프로그램은 명령이 적힌 파일(레시피), 실행은 그걸 메모리에 올려 따라 하기, 프로세스는 지금 돌고 있는 그 상태. 더블클릭이든 터미널 명령이든 — 결국 "이 프로그램을 실행해"라는 같은 부탁이에요.
다음 레슨에서
이제 그 '터미널 명령'을 진짜로 쳐볼 차례예요. 터미널 첫걸음 — pwd·ls·cd에서, 지금 내가 어느 폴더에 서 있는지(pwd) 보고, 가게 폴더 안을 거니는 첫 명령들을 손으로 익힙니다. 가게는 계속 자랍니다. 🌱