당신은 운영체제가 무슨 일을 하는지 알고 있는가.
운영체제, 이름은 알겠는데 그게 뭔데 ❓
우리는 윈도우, 맥OS, 리눅스, 안드로이드 같은 운영체제의 이름을 쉽게 떠올릴 수 있습니다. 하지만 운영체제가 실제로 어떤 일을 하는지를 정확히 아는 사람은 많지 않을 겁니다. 왜냐하면 제가 그랬거든요 😊
그래서 오늘은 운영체제가 어떤 역할을 하는지에 대해 알아보도록 하겠습니다!
운영체제의 핵심 기능
우리가 흔히 사용하는 운영체제에는 데스크탑용, 모바일용 등 다양한 종류가 있습니다.
- 데스크탑 OS: 윈도우, 맥 OS, 리눅스 🖥️
- 모바일 OS: 안드로이드, iOS 📱
이 외에도 서버용, 임베디드용 등 다양한 목적의 운영체제가 있지만, 운영체제가 제공하는 핵심 기능은 모두 유사합니다.
운영체제는 어디에 저장될까? 🤔
우리가 프로그램을 실행하기 위해서는 프로그램을 메모리에 적재하듯이, 운영체제도 일종의 프로그램이기 때문에 반드시 메모리에 적재되어야 합니다. 하지만 운영체제는 매우 특별한 프로그램이라, 일반 프로그램과는 다른 방식으로 적재되고 실행됩니다.
운영체제가 메모리에 적재되는 공간을 커널 영역, 사용자가 실행하는 일반 응용 프로그램이 적재되는 공간을 사용자 영역이라고 합니다.
이 두 공간을 구분함으로써 시스템의 안정성과 보안을 유지할 수 있습니다.
운영체제가 하는 일
운영체제가 무엇을 하는지 제대로 이해하려면, 먼저 프로세스와 스레드라는 개념을 알아야 합니다.
프로세스
- 프로세스는 실행 중인 프로그램을 의미
- 각 프로세스는 고유의 메모리 공간과 자원을 할당받아 독립적으로 실행
스레드
- 스레드는 프로세스 안에서 실행되는 작업의 최소 단위
- 하나의 프로세스는 여러 스레드를 가질 수 있으며, 스레드는 프로세스의 자원을 공유하면서 작업을 수행
음 .. 용어가 어려우니 갑자기 지루하게 느껴지기 시작합니다..
쉽게 말해 우리가 지금까지 '실행 중인 프로그램'을 프로세스라고 부르며, 이 프로세스를 이루는 실행의 단위를 스레드라고 이해하면 됩니다.
운영체제는 프로세스가 메모리에 적재되어 실행될 수 있도록 필요한 자원을 효율적으로 할당하는 역할을 합니다.
운영체제가 프로세스를 할당하는 방법
운영체제에서 프로세스가 실행된다는 것은 곧 CPU의 자원을 할당받았다는 의미입니다.
여기서 CPU 자원을 효율적으로 배분하는 방식을 CPU 스케줄링이라고 합니다.
운영체제가 우선순위를 정하는 기준
모든 프로세스는 CPU 자원을 필요로 하기 때문에, 운영체제는 공정하고 합리적인 방법으로 프로세스들에게 자원을 할당해야 합니다. 이를 위해 운영체제는 우선순위를 기준으로 프로세스에 자원을 배분합니다.
참고로, 높은 우선순위를 부여하는 대표적인 기준은 CPU 활용률입니다.
운영체제 아는 척하기 😏
운영체제의 역할을 조금 더 자세히 알게 되었으니, 우리가 사용하는 기술의 본질에 한 걸음 더 가까워진 느낌이 들지 않나요?
이제 주변의 지인들에게 다가가서 "운영체제는 그냥 프로그램이 아니라 컴퓨터의 모든 자원을 관리하는 핵심 소프트웨어야!" 라고 한 마디 해보세요.
그렇게 살짝 아는 척을 해본다면, 오늘 배운 내용이 더 오래 기억에 남을지도 모릅니다! 😊
읽어주셔서 감사합니다 🙇
'해피 코딩 > CS' 카테고리의 다른 글
[CS 운영체제] 가상 머신과 컨테이너 (3) | 2024.12.14 |
---|---|
[CS 컴퓨터 구조] CPU (1) | 2024.09.26 |
[CS 컴퓨터 구조] 컴퓨터가 이해하는 정보 (0) | 2024.09.13 |
[CS 컴퓨터 구조] 컴퓨터의 큰 그림 (1) | 2024.09.10 |