
25년 전 운영체제를 다시 펼쳐보는 이유
OS9Map은 지금은 박물관에 들어간 운영체제, 클래식 Mac OS 9의 구조를 다시 펼쳐보고 정리해 보려는 프로젝트예요. 요즘 macOS만 써온 분들에게 OS 9은 까마득한 옛날 얘기지만, 이 시절 운영체제를 들여다보면 '아, 지금 우리가 당연하게 누리는 것들이 사실 엄청난 발전의 결과였구나' 하고 깨닫게 되거든요. 오래된 시스템을 일부러 파보는 걸 레트로컴퓨팅이라고 하는데, 단순한 향수가 아니라 운영체제의 원리를 배우는 아주 좋은 교재가 되기 때문이에요.
그래서 이 글에서는 OS9Map이라는 도구를 입구 삼아, 클래식 Mac OS가 도대체 어떻게 생겨먹었길래 지금의 macOS로 갈아엎어야 했는지를 같이 살펴볼게요.
양보로 굴러가던 멀티태스킹
클래식 Mac OS의 가장 충격적인 특징은 '협력적 멀티태스킹(cooperative multitasking)'이에요. 이게 뭐냐면, 여러 프로그램을 동시에 돌릴 때 운영체제가 시간을 강제로 나눠주는 게 아니라, 각 프로그램이 알아서 '저는 이만 양보할게요' 하고 CPU를 다음 프로그램에 넘겨줘야 하는 방식이에요.
문제가 뭔지 바로 보이시죠? 욕심 많은 프로그램 하나가 양보를 안 하고 계속 붙들고 있으면, 혹은 그 프로그램이 무한 루프에 빠져 멈춰버리면, 시스템 전체가 같이 얼어붙어요. 한 앱이 죽으면 다른 멀쩡한 앱들도 다 같이 죽는 거예요. 지금 macOS나 윈도우는 운영체제가 칼같이 시간을 쪼개 나눠주는 '선점형(preemptive)' 방식이라, 앱 하나가 뻗어도 나머지는 멀쩡하잖아요. 그 차이가 여기서 나온 거예요.
모두가 한방을 같이 쓰던 메모리
더 아찔한 건 메모리 구조예요. 클래식 Mac OS에는 '메모리 보호(protected memory)'가 없었어요. 이게 뭐냐면, 모든 프로그램이 같은 메모리 공간을 칸막이 없이 공유했다는 뜻이에요. 비유하자면 모든 입주자가 벽 없는 하나의 큰 방에서 같이 사는 거예요.
그래서 A 프로그램의 사소한 버그가 엉뚱하게 B 프로그램이 쓰던 메모리를 덮어써 버리는 일이 흔했어요. 그 유명한 '폭탄 아이콘' 시스템 에러 화면이 뜨면, 보통 답은 재부팅뿐이었죠. 지금은 운영체제가 프로그램마다 독립된 메모리 공간을 주고 벽을 세워주기 때문에, 한 앱이 자기 메모리를 망쳐도 옆 앱과 시스템은 안전해요. 우리가 요즘 크래시 한 번에 컴퓨터를 통째로 재시작하지 않는 이유가 바로 이거예요.
툴박스와 리소스 포크
클래식 Mac OS에는 재밌는 개념도 많았어요. '툴박스(Toolbox)'라고, 창을 그리고 메뉴를 만들고 버튼을 다루는 기본 기능들이 ROM 칩 안에 통째로 담겨 있었어요. 또 '리소스 포크(resource fork)'라는 게 있어서, 파일 하나가 실제 데이터와 별개로 아이콘, 메뉴, 이미지 같은 부속물을 한몸에 품고 다녔죠. 그리고 이 시절 맥은 CPU를 모토로라 68k에서 PowerPC로 갈아타는 큰 전환도 겪었어요. 한 시스템 안에 옛 칩용 코드와 새 칩용 코드가 공존하던, 지금 보면 신기한 시절이었어요.
왜 결국 갈아엎었나
결국 애플은 OS 9을 버리고 Mac OS X로 넘어갔어요. 새 OS X는 유닉스 계열의 단단한 토대(Mach 커널과 BSD) 위에 세워졌거든요. 덕분에 앞서 말한 선점형 멀티태스킹과 메모리 보호를 제대로 갖추게 됐어요. 즉, 클래식 Mac OS의 그 모든 불안정함을 근본적으로 해결한 게 OS X였던 거예요. 지금 macOS가 그렇게 안정적인 건 25년 전의 이 큰 결단 덕분이에요.
한국 개발자에게 주는 의미
레트로 운영체제를 굳이 왜 보냐고 할 수 있는데요, 의외로 실전 감각에 도움이 돼요. '메모리 보호가 없으면 어떤 지옥이 펼쳐지는가', '스레드가 양보를 안 하면 왜 시스템이 멈추는가' 같은 걸 옛날 OS를 통해 눈으로 보면, 지금 우리가 쓰는 프로세스 격리나 선점형 스케줄링 같은 개념이 추상적인 용어가 아니라 피부로 와닿거든요. 운영체제 수업에서 배운 이론이 '아 그래서 이렇게 만든 거구나' 하고 연결되는 순간이 와요.
마무리
OS 9을 다시 들여다보는 건 단순한 추억 여행이 아니라, 우리가 지금 당연하게 누리는 안정성이 어디서 왔는지 되짚는 일이에요. 여러분이 지금 쓰는 OS의 어떤 기능이, 알고 보면 가장 고마운 '당연하지 않은 것'일까요?
🔗 출처: Hacker News
TTJ 코딩클래스 정규반
월급 외 수입,
코딩으로 만들 수 있습니다
17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공