본문 바로가기

개발/운영체제

운영체제란?

운영체제의 역할

운영체제는 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리해주는 소프트웨어이다.

 

우선 운영체제의 자원 관리란 사용자가 직접 자원에 접근하는 것을 막음으로써 자원을 보호하고 관리하는 것이다.

예를 들어 사용자가 컴퓨터 하드웨어나 메모리에 직접 접근했을 때 실수로 건드려선 안될 것을 건드린다면, 그것은 컴퓨터 자체에 치명적인 문제를 일으킬 수 있기 때문이다.

 

이를 방지하기 위해 컴퓨터는 응용 프로그램과 사용자에게 모든 자원을 숨긴다.

운영체제는 사용자와 컴퓨터 사이에 인터페이스 역할을 해준다. 즉, 사용자가 운영체제 인터페이스를 통해서만 컴퓨터 자우너을 사용할 수 있다.

 

커널과 인터페이스

 

커널: 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵식적인 기능을 모아놓은 것이다.

운영체제의 인터페이스: 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할.

 

즉, 운영체제는 크게 두 부분으로 나눌 수 있다. 사용자와 응용프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 사용자와 응용 프로그램에 돌려주는 인터페이스와 운영체제의 핵심 기능을 모아놓은 커널이다.

 

 

운영체제와 밀접한 관련이 있는 CPU에 대해서도 한번 짚고 넘어가겠다.

CPU의 구성과 동작

CPU는 중앙처리장치로, ALU(산술논리 연산장치), CU(제어장치) Register(레지스터)로 구성되어있다.

 

산술논리: 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 산술 연산과, AND OR 같은 논리 연산을 수행한다.

제어장치: CPU에서 작업을 지시하는 부분이다.

레지스터: 재료를 필요한 만큼 손에 쥐고 있는 것처럼 CPU에 데이터를 임시로 보관하는 곳이다.

 

CPU를 여기서 설명하는 이유는 운영체제가 자원을 관리하는 과정을 설명하는데에 있어서 CPU가 큰 비중을 차지하고 있기 때문이다.

운영체제는 어떤 프로세스가 dispatch를하고, 대기상태로 가며 보류상태로 가능 등 프로세스 관리에 관한 여러 작업을 한다.

'개발 > 운영체제' 카테고리의 다른 글

프로세스 간 통신  (0) 2020.11.01
프로세스란  (0) 2020.11.01
시분할 시스템  (0) 2020.11.01