본문 바로가기

CS

[운영체제] OS Concepts

 

"운영체제"는 전자기기를 사용한다면 흔히 듣고 사용하고 있는 용어이다. 널리 알려진 운영체제로는 Windows, Linux, Unix, MacOS 등이 있는데 이 운영체제가 하는 일은 과연 무엇인지 간략하게 설명하고자 한다. 

운영체제(Operating System)란?

 

간단히 말해서 운영체제는 하드웨어를 효율적으로 관리할 수 있도록 abstraction을 제공하는 소프트웨어이다. 그렇다면 컴퓨터에 어떤 하드웨어가 있는지, 운영체제가 각각의 하드웨어에 대해 어떤 abstraction을 제공하는지 아래에서 알아보자.

 

하드웨어와 abstraction의 종류

1. CPU - Process

 CPU는 명령어를 실행하는 하드웨어이다. 명령어의 모음인 프로그램(program)이 실행된 상태를 프로세스(process)라 하는데, 이 프로세스가 바로 CPU 자원을 효율적으로 관리하기 위한 abstraction이다.

 

2. Memory - Address Space

 메모리는 휘발성 메모리, 비휘발성 메모리가 있는데 주로 메인 메모리인 휘발성 메모리를 의미한다. 주소 공간(address space)은 프로세스가 자치하는 메모리 공간으로 메모리 자원에 대한 abstraction이다.

 

휘발성 메모리란? 컴퓨터가 종료되면 데이터가 소멸되는 메모리를 말한다. (말 그대로 휘발되는 느낌!)

 

3. Disk - File

 디스크는 2차 저장장치로 위에서 언급한 휘발성, 비휘발성 메모리 중 비휘발성 메모리를 의미한다. 파일(file)은 디스크에 대한 abstraction으로, 프로세스에서 읽고 쓸 수 있으며 프로세스가 종료되어도 데이터가 유지되는 특성을 가진다.

 

4. Network - Port

 네트워크는 둘 이상의 시스템 간 통신(communication) 경로이다. 이때 포트(port)는 네트워크에 대한 abstraction으로 메세지를 주고 받는 communication endpoint이다.

 

 

 

.

.

.

 

운영체제의 의미와 주요 하드웨어, 그리고 그에 대한 abstraction 컨셉을 정리해보았다. 운영체제에 대한 간단한 감을 잡는 데 도움이 되었으면 좋겠다. 🔥