2024. 11. 7. 19:15ㆍ자격증/정보보안기사
Windows, Android, iOS 우리가 일상 생활을 하면서 매우 쉽게 들을 수 있는 영어 단어들이다.
이처럼 운영체제(OS)는 우리의 일상에 매우 가까이 있는 단어이다.
Tv, 냉장고, 스마트폰, 태블릿 등 세상이 디지털화 되면서 우리는 운영체제를 통하지 않고서는 일상생활을 할 수 없는 시대가 되었다.
그렇다면 운영체제(Operating System)은 무엇을 말하는 것일까?
쉽게 예를 들기 위해서 우리가 지금 사용하고 있는 스마트폰을 생각해보자.
스마트폰을 처음 살 때, 가장 먼저 고민하는 것이 무엇인가?
카메라 성능은 좋은지? 게임은 잘 돌아가는지? 배터리는 오래가는지?
위에서 말한 고민들을 해결하기 위해 우리는 Youtube에 들어가 열심히 리뷰들을 찾아볼 것이다.
이 때, 가장 먼저 비교하는 것. 바로 하드웨어 제원이다. cpu는 뭐를 써서 발열이 어떻고, 카메라는 몇천만화소인데 밤에 노이즈가 생기니 마니, 배터리 용량은 얼마이고... 앞서 나열한 하드웨어 즉 인간으로 따지면 신체조건이 얼마나 좋은가를 우리는 따지게 된다. 당연히 신체조건이 좋은 것이 성능도 더 좋지 않겠는가?
그런데 말입니다. 아무리 좋은 부품들을 장착하고 있다고 해도 그거를 쉽게 운영할 수 있는 운영체제가 없다면 그것은 그냥 고철덩어리일 뿐이다. 마치 아무리 좋은 신체조건을 가져도 뇌가 없다면 무용지물인 것처럼 말이다.
위의 설명들을 한마디로 표현하자면 운영체제(OS)는 사용자가 기계를 쓸 수 있도록 만들어주는 프로그램이다. 일반인이라면 이것만 알고 넘어가면 된다. 하지만 우리는 IT인이기에 운영체제가 어떻게 사용자와 기계를 연결해주는지 알아볼 것이다.
1. 운영체제가 설치되어 있지 않다면 어떻게 될까?

컴퓨터를 오랫동안 해보거나 직접 조립을 해본 사람들이라면 컴퓨터를 켜고나서 왼쪽과 같은 오류 메시지를 본 적이 있을 것이다. 그리고 우리는 Ctrl+Alt+Del을 눌러 계속해서 재부팅을 했을 것이다.
이처럼 운영체제가 설치되지 않는다면 컴퓨터는 제 기능을 하지 못하고 검은화면에서 멈춰있게 된다.
왜냐하면 운영체제가 없다면 우리는 컴퓨터에게 명령을 하지 못하기 때문이다.
2. 운영체제는 어떻게 실행되는 것일까?
1) 컴퓨터의 전원 버튼을 누르면 모든 부품이 연결되어 있는 메인보드에 전기가 흐르고 CPU가 초기화 된다.
2) 우리가 흔히 아는 파란화면에 키보드로 움직이는 BIOS 또는 UEFI가 실행된다.


* BIOS(Basic Input/Output System)와 UEFI(Unified Extensible Firmware Interface)의 차이점
둘 다 메인보드에 있는 Rom에 저장되어 있어 하드웨어의 설정, 모니터링 기능을 할 수 있다.
차이를 쉽게 설명하자면 BIOS는 옛 것, UEFI는 요즘 것이라고 생각할 수 있다.
즉, BIOS에서 기능이 업그레이드 된 것이 UEFI이다.
(마우스 사용 가능, 2TB 초과 된 하드디스크 사용 가능, 보안기능 강화 등)
3) BIOS/UEFI를 통해 하드웨어(메모리, 디스크, 키보드 등) 정상 작동 여부 확인
4) 부팅 가능한 디스크 탐색(HDD, SSD, USB)
5) boot loader 메모리 로드
6) boot loader 실행 -> 운영체제 커널 메모리 로드
- 이 단계에서 운영체제의 커널을 실행시키지 못하면 1번 글의 사진과 같은 오류가 발생한다.
- 운영체제는 자신을 실행 시킬 수 있는 커널과 부트 프로그램을 저장장치(HDD, SSD 등)에 위치시킨다.
- boot loader는 해당 파일을 찾아 운영체제를 실행시키는 것이다.
(Linux 기반의 운영체제의 경우 /boot 또는 /boot/efi에 저장)
7) kernel load 및 초기화
- 운영체제의 커널이 메모리에 로드되면, 시스템 자원을 초기화 하고 하드웨어와의 상호작용을 시작
- 커널은 기본 시스템 프로세스와 드라이버를 초기화
8) 운영체제 시작
- 커널이 사용자 모드 프로세스를 실행하고, 그래픽 사용자 인터페이스(GUI)나 명령줄 인터페이스(CLI)를 초기화
- 사용자 인증(로그인) 실행
* 사용자모드(일반 모드): 시스템 자원에 제한적으로 접근하는 가능하며 오류를 발생시킬 수 있는 명령 실행 불가
* 사용자 모드(모니터 모드): 오류를 발생시킬 수 있는 명령 등 모든 명령어 사용 가능

9) 사용자 환경 제공
- 운영체제가 완전히 로드되면, 사용자는 컴퓨터를 사용할 수 있게 된다.
3. 그렇다면 운영체제란 무엇인가?
운영체제는 프로그램이다. 근데 이제 사용자와 컴퓨터 하드웨어를 중개하는...
사람은 한국어, 영어 등 다양한 언어를 사용하고 컴퓨터는 0과 1로 대화를 한다. 우리가 인터넷을 하던 어떤 프로그램을 시키던 할 때, 컴퓨터에게 명령하기 위해 0과 1로 쓰지 않는다. 왜냐하면 우리의 언어를 써도 운영체제가 0과 1로 변환하여 하드웨어에 입력하기 때문이다. 이는 운영체제가 하는 역할의 극히 일부분이다.
우리가 인터넷을 할 때, 인터넷 브라우저를 실행시키는 것은 저장장치에 있는 프로그램을 실행시키면 인터넷 관련 프로세스가 실행되고 이를 메모리에 처리 순서대로 저장하면 cpu가 해당 일들을 처리한다. 이러한 과정들을 진행 시켜주는 것이 바로 운영체제의 역할이다.
다음 포스팅에서는 많은 IT인들이 헷갈려하는 커널(Kernel)과 운영체제(OS)에 대해 알아보겠다.
'자격증 > 정보보안기사' 카테고리의 다른 글
| [정보보안기사] 메모리의 처리 과정 (0) | 2024.11.10 |
|---|---|
| [정보보안기사] 운영체제(OS)와 커널(Kernel)은 무엇이 다를까? (2) | 2024.11.08 |