운영체제, 한 문장으로 정의할 수 있으세요?
학교에서 운영체제 수업 들을 때는 답이 명확했잖아요. 윈도우, 맥OS, 리눅스 같은 거요. 그런데 “What even is an OS now?(이제 OS란 대체 뭘까?)”라는 제목의 글이 나오면서, 이 당연해 보이는 질문이 다시 던져졌어요. 이 글에서는 원문의 논지를 옮기기보다, 왜 이런 질문이 나올 만한 시점인지 배경을 중심으로 풀어볼게요. 저자의 구체적인 생각은 원문에서 꼭 확인해보세요.
원래 OS가 하던 일
먼저 교과서적인 정의부터 짚어볼게요. 운영체제가 하는 일은 크게 세 가지예요.
- 추상화: 하드웨어의 복잡한 디테일을 감추고 “파일”, “소켓”, “프로세스” 같은 쉬운 개념으로 바꿔줘요. 우리가 디스크 섹터 번호를 몰라도
open()한 줄로 파일을 여는 이유죠. - 자원 관리: CPU 시간과 메모리를 여러 프로그램에게 공정하게 나눠줘요.
- 격리: 프로그램 A가 프로그램 B의 메모리를 훔쳐보지 못하게 막아요.
- 에이전트가 실행하는 코드는 어디서 돌려야 안전할까?
- 에이전트에게 어떤 권한까지 줘야 할까?
- 에이전트 수천 개를 동시에 띄우려면 얼마나 가볍게 격리해야 할까?
비유하자면 아파트 관리사무소 같은 거예요. 전기, 수도, 주차 공간을 입주민들에게 나눠주고, 옆집 사람이 우리 집 문을 못 열게 지켜주죠. 그리고 입주민은 관리사무소에 정해진 창구(시스템 콜)를 통해서만 요청할 수 있고요.
그런데 이 역할들이 여기저기로 흩어졌어요
문제는 요즘 이 세 가지 역할을 하는 게 전통적인 OS만이 아니라는 거예요.
컨테이너(Docker 등)는 리눅스 커널의 namespace(보이는 범위를 나누는 기능)와 cgroup(자원 사용량을 제한하는 기능)을 이용해서, 앱 입장에서는 자기만의 OS가 있는 것처럼 보이게 만들어요. 그런데 사실 커널은 옆 컨테이너와 공유하고 있어요. 그래서 컨테이너는 “가벼운 격리”이지 강력한 보안 경계는 아니라는 말이 계속 나오죠.
마이크로VM(Firecracker 등)은 그 약점을 메우려고 나왔어요. AWS Lambda 같은 서버리스 플랫폼이 쓰는 기술인데, 필요 없는 장치를 싹 걷어낸 초경량 가상머신이라 아주 짧은 시간 안에 부팅돼요. 컨테이너처럼 가볍게 쓰면서도 커널을 따로 가지니까 격리가 훨씬 강하죠.
gVisor 같은 기술은 또 다른 접근이에요. 앱이 보내는 시스템 콜을 중간에서 가로채서, 사용자 공간에서 돌아가는 “가짜 커널”이 대신 처리해줘요. 진짜 커널을 직접 건드리지 못하게 하는 거죠.
쿠버네티스는 흔히 “데이터센터의 OS”라고 불려요. 수천 대 서버에 걸쳐 어떤 작업을 어디서 돌릴지 스케줄링하고 자원을 배분하니까, 역할만 보면 OS랑 똑같거든요.
브라우저도 빼놓을 수 없어요. 탭마다 프로세스를 격리하고, 파일 접근 API를 제공하고, WebAssembly로 네이티브에 가까운 코드까지 돌리니까요. 많은 사람에게 실제로 “매일 쓰는 OS”는 크롬일지도 몰라요.
AI 에이전트가 질문을 더 복잡하게 만들었어요
여기에 최근 가장 큰 변수가 생겼어요. 바로 코드를 직접 실행하는 AI 에이전트예요. 에이전트가 사용자 대신 셸 명령을 치고, 패키지를 설치하고, 파일을 고치잖아요. 그러면 자연스럽게 이런 질문이 생겨요.
한국 개발자에게 주는 시사점
1. 리눅스 기본기가 오히려 더 중요해졌어요. namespace, cgroup, 시스템 콜 같은 개념을 알면 Docker, 쿠버네티스, 서버리스가 전부 한 줄로 꿰어져요. 새 기술이 쏟아질수록 밑바닥 원리가 무기가 돼요.
2. “컨테이너 = 보안 경계”라고 착각하지 마세요. 멀티테넌트 서비스나 사용자 코드를 실행하는 서비스라면 gVisor나 마이크로VM 같은 더 강한 격리를 검토해볼 만해요.
3. AI 에이전트 기능을 만든다면 샌드박스부터 설계하세요. 에이전트가 무엇을 읽고, 쓰고, 네트워크로 어디까지 나갈 수 있는지 먼저 정하는 게 기능 개발보다 우선이에요.
마무리
한 줄 정리: OS는 사라지지 않았고, 오히려 추상화·자원 관리·격리라는 OS의 역할이 컨테이너, 마이크로VM, 브라우저, 에이전트 샌드박스로 여러 층에 걸쳐 퍼져나간 거예요.
여러분이 생각하는 “요즘의 OS”는 뭔가요? 쿠버네티스인가요, 브라우저인가요, 아니면 여전히 리눅스 커널인가요? 실무에서 격리 때문에 고민했던 경험도 같이 나눠주세요!
🔗 출처: Hacker News