컴퓨터 부품들은 스스로 일하지 못한다. 누군가가 중간에서 지휘해야 한다.
프로그램들이 CPU와 메모리를 서로 다투지 않게 공정하게 분배해야 한다.
바로 이 역할을 하는 것이 운영체제(OS)다.
우리가 앱을 더블클릭만 하면 실행되는 이유 — OS가 뒤에서 모든 걸 처리하기 때문이다.
운영체제는 컴퓨터의 총괄 매니저다. 크게 세 가지 일을 한다.
OS가 없다면 우리가 당연하게 쓰는 것들이 전부 불가능해진다.
각 OS는 서로 다른 철학과 강점을 가지고 있다.
💡 개발자는 보통 macOS 또는 Linux를 선호한다. 터미널 환경이 강력하고 서버와 같은 Unix 계열이기 때문이다.
카카오톡 아이콘을 더블클릭했을 때 내부에서 일어나는 일들을 따라가보자.
핵심: 사용자 클릭 한 번 뒤에 OS는 수십 가지 작업을 순식간에 처리한다.
커널은 OS의 가장 깊은 곳에서 항상 동작하는 핵심 프로그램이다.
앱이 "파일을 읽어줘"라고 요청하면, 커널이 디스크에 직접 명령을 내려 데이터를 가져온다.
커널은 항상 메모리에 상주하며, 전원이 켜진 동안 한순간도 쉬지 않는다.
우리가 매일 사용하는 앱과 서비스 속에 이 개념이 녹아 있다.
💡 이 개념이 없다면 한 앱이 CPU를 독점해 다른 앱이 완전히 멈춰버린다.
이렇게 생각하기 쉽지만, 실제로는 조금 다릅니다.
OS의 복잡한 역할도 익숙한 비유로 풀어보자.
이 개념을 이해하면 Claude나 ChatGPT를 훨씬 잘 활용할 수 있다.
💪 OS의 역할을 이해한 것만으로도 개발자 사고방식의 절반은 완성됐습니다!
OS는 어떻게 수십 개의 프로그램을 동시에 실행시킬까?
그 비밀인 프로세스와 스레드, 그리고 멀티태스킹의 원리를 살펴본다.
💡 기억할 것: OS는 하드웨어와 앱 사이의 중재자이며, 그 심장은 커널이다.