본문 바로가기
Computer Science/OS (Operating System)

[OS] 운영체제(OS)란?

by 연제원 2021. 6. 3.

지금까지 컴퓨터를 사용하면서 어떻게 상호작용?이 일어났는지 한번도 생각해본 적이 없었던 것 같다. 그저 키보드를 입력하면 입력이 되었구나~, 더블클릭하면 파일이 열리겠구나~ 하고 넘어갔다.

 

그런데 앞으로 개발자라는 직업을 가지면서 컴퓨터에 대해 기초적인 지식들을 모른다면 내가 원하던 개발자 상?은 아닐거란 확신이 들게 되었다. 그래서 오늘부터 차근차근 공부를 해보려고 한다!

 

운영체제(OS)란 ?


일반적으로 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어로 정의할 수 있다.
즉, 운영체제는 시스템의 자원과 동작을 관리하는 소프트웨어다.

* 인터페이스(interface) - 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템

 

쉽게 한마디로 말하자면 컴퓨터 하드웨어를 몰라도 쉽게 사용할 수 있도록 도와주는 것! 이라고 할 수 있을 것 같다.

우리가 컴퓨터를 사용하면서 많은 과정들이 이루어지지만 간략히 그림으로 나타내보면 다음과 같다.

 

사용자
컴퓨터로 작업을 할 때, 우리는 클릭을 하거나 키보드로 입력을 한다.

 

응용프로그램

우리가 작업을 하기 위해, 편하게 사용하는 엑셀, 파워포인터, 포토샵 등

 

운영체제 (MacOS, Windows 등)

우리의 행동을 하드웨어가 알아들을 수 있도록 뚝딱해준다!

 

하드웨어

우리가 원하는 대로 잘 작동해준다!

 

 

운영체제의 역할


간단한 개념을 알아봤으니 그래서 왜 운영체제를 사용하는가?! 역할을 알아보도록 하자.

1. 시스템 자원 관리

여기서 시스템 자원이라는 것은 컴퓨터 하드웨어라고 보면 될 것같다. CPU나 메모리 같은 자원은 한정되어 있다. 그런데 우리는 살면서 정말 많은 앱이나 프로그램과 같은 파일들을 컴퓨터에 다운받아 놓는다. 이때 항상 그 파일들에게 cpu와 메모리가 할당되어 있다면? 아마 정말 느려지거나 아예 먹통이 되어버릴 것이다. 즉, 한정된 자원을 효율적으로 관리해주는 것이 운영체제의 역할이다. 대표적인 것들을 알아보자면

 

  • CPU(중앙처리장치) - 각 프로그램이 얼마나 CPU를 사용할 지 결정
  • 메모리(RAM) - 각 프로그램이 어느 주소에 저장될지, 얼만큼의 메모리 공간을 확보해줄 지 결정
  • I/O Device(입출력장치) - 모니터, 마우스, 키보드 등이 표시 및 작동하도록 도와줌
  • 저장 매체(SSD, HDD) - 어느 곳에, 어떻게 저장할 지 결정

이 있다. 이렇게 보니 다른 것들을 잘 부려먹는 것 같다..?

2. 사용자와 시스템간의 인터페이스 제공

우리가 컴퓨터, 노트북을 켰을 때 보이는 휴지통, 폴더, 닫기버튼, 시작메뉴 등 모든 것은 사실 컴퓨터 본연의 기능은 아니다. 이는 운영체제를 통해 사용자가 다루기 쉽게 구현한 GUI(Graphical User Interface)다. 생각해보면 window, mac을 켰을 때 아이콘이나 상단, 하단의 모양 등 많은 것들이 다르다. 이유는 각 회사마다 다른 운영체제를 통해 구현해낸 것이기 때문! 

이와는 반대되는 개념으로 컴퓨터에서 직접 문자를 입력해서 원하는 기능을 실행시키는 CLI(Command-line Interface)가 있다. 아마도 다들 한번쯤은 봤을 검고 딱딱해보이는 창..

(좌) GUI / (우) CLI

위 사진을 보면 우리는 현재 컴퓨터를 이용할 때 단지 폴더나 파일을 더블클릭해서 원하는 것을 쉽게 구동시킨다. 하지만 운영체제를 통한 GUI가 없었으면 오른쪽 사진의 마음에 안들게 생긴 CLI창에서 일일이 코드를 쳐서 실행시켜야 했을 것이다...!

3. 부팅

찾다보니 부팅기능도 운영체제가 한다는 것을 알고 놀랐다. 사실 컴퓨터나 노트북을 켤 때 어떻게 부팅되나 생각해본 적이 없었던 것 같다. 누르면 켜지네 히히.. 그런데 부팅에 대해 더 깊게 찾아보고 공부를 해보니 다른 중요한 개념들도 많이 나와 이번 글에선 정리하지 않고 추후에 정리해보려고 한다!

 

이렇게 보니 정말 운영체제는 컴퓨터와 사용자 간의 다리역할을 열심히 수행하는 것 같다.

TMI


어떻게보면 CS에 대해 제대로 공부한 건 이번이 처음인 것 같다. 하루하루 공부하고 블로깅을 하기에는 힘들겠지만 꾸준히 하는 습관을 들여야겠다. 사실 알고리즘을 주로 공부하고 있었는데 CS공부를 하며 책읽는 것 같은 기분이 들어 좋았다!

'Computer Science > OS (Operating System)' 카테고리의 다른 글

[OS] 프로그램, 프로세스, 스레드  (1) 2021.06.03

댓글