본문 바로가기
카테고리 없음

운영체제를 알아야 하는 이유

by cariño 2023. 7. 19.
728x90
반응형

컴퓨터 부품들을 실질적으로 동작시켜주는 가장 근원적인  프로그램인 운영체제

 

 

컴퓨터 부품들은 전기만 공급하면 마법처럼 동작되는 것이 아니다. 

결과적으로 동작시켜주는 가장 근원적인 프로그램이 운영체제이다

운영체제: 안드로이드, ios, windows, macOS, Linux

 

 

운영체제란?

모든 프로그램은 실행을 위해 자원을 필요로 한다. 

(여기서 자원이란? 실행에 있어서 마땅히 필요한 요소들을 가리킨다. )

 

자원/ 시스템 자원

다만, 마땅히 필요한 요소에는 컴퓨터의 네 가지 핵심 부품이 포함된다. 

하드웨어만의 자원이라 지칭하지 않는다. 때로는 네트워크 패킷 등들이 자원에 속할 수 있다. 

운영체제는 이러한 자원들을 프로그램에 할당하고, 각각의 실행되는 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이다. 

 

 

메모리 영역은 크게 커널 영역과 사용자 영역으로 나뉜다. 

 

실행되고 있는 프로그램은 메모리에 저장된다. 

운영체제 또한 메모리에 적재되서 실행된다. 

 

운영체제는 메모리에 적재되는 영역이 따로 정해져 있다.

운영체제는 프로그램에게 자원을 할당해주고 실행프로그램을 돕는 특별한 프로그램이기에 커널영역이라는 특별한 영역에 적재되서 실행된다.

 

사용자 영역에 있는 응용 프로그램(application software)은 일반적으로 사용자가 특정 목적을 위해 사용하는 프로그램을 지칭한다.

(ex. 메모장, 워드 프로세서, 브라우저 등)

 

사용자는 사용하는 프로그램을 메모리 공간에 번지수를 지정하지 않는다. 

이러한 부분은 운영체제가 비어있는 공간에 알맞게 적재하는 역할을 프로그램을 적재해서 실행시킨다. 

더이상 사용하지 않는 프로그램은 메모리에서 삭제 > 비워주는 역할까지 한다. 

 

 

운영체제는 CPU 또한 관리를 해준다. 

여러개의 프로그램을 동시에 실행할 때 정확하게 보자면 컴퓨터 내부에서는 CPU가 해당 프로그램들을 아주 빠르게 동시에 실행하고 있는 중이다. CPU가 여러개의 프로그램을 동시에 실행시키는 환경에서 어떠한 프로그램을 먼저, 나중에 실행시킬지 얼마나 오랫동안 CPU를 점유하며 실행할지 등의 CPU관리도 운영체제가 관리한다. 

 

운영체제는 입출력장치도 관리를 해준다. 

예를들어 한번에 하나의 프로세스만 접근가능한 프린터라는 하드웨어가 실행 시 워드프로세스를 사용하고 있다면 메모장은 잠시 기다려야한다.  다른 프로그램이 하드웨어를 사용하고 있는 부분등을 관리한다.

또한 보조기억장치들의 파일, 폴더등을 묶어서 관리해준다. 

 

운영체제는 응용프로그램과 하드웨어 사이에 위치해 연결을 시켜주는 프로그램이라고 볼 수 있다. 

하드웨어와 아주 맞닿아 있어서 프로그램이 요구하는 자원들을 할당해주며 올바르게 실행될 수 있게 돕는다. 

 

 

운영체제는 정부와 많이 비교가 된다.  정부는 한 나라의 자원을 관리한다. (땅, 인력, 예산 등) 정부에서 나라에 일어나는 일들 또한 나뉘어 부서가 따로 관리하며 운용을 시킨다. 

 

 

 


 

 

 

운영체제가 없이 개발자가 프로그램을 개발한다면? 하드웨어에 접근하고 조작하는 코드를 직접 작성해야한다. 

운영체제는 하드웨어와 응용 프로그램 사이에 위치해 컨트롤을 해주기 때문에 개발자는 하드웨어를 직접 조작하는 코드를 직접 작성할 필요가 없다. 

 

 

그렇다면 운영체제를 왜 알아야 할까?

 

운영체제는 사용자를 위한 프로그램이 아닌 프로그램을 위한 프로그램이다. 

내가 실행되는 프로그램이 몇번지에 적재되어 있는지 의식하면서 프로그램을 실행하지 않는다. 

결국에 운영체제는 프로그램을 만드는 개발자는 운영체제를 잘 알아야 한다. 

운영체제에 도움을 받으며 프로그램을 생성하기 때문에, 

 

운영체제는 하드웨어가 아닌 프로그램이기 때문에 대화가 가능하다. 

예를 들어 CPU에 문제가 생겼을 시, 오류 메세지를 내보내는 등 근원적인 문제에 대한 오류를 알 수 있게 된다. 

 

운영체제를 깊이 이해하면 오류메세지에 대한 이해가 깊어지고 문제해결력을 키울 수 있게 된다. 

 

 

 

 

728x90

댓글