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

hyunsooo·2023년 4월 27일
0
post-thumbnail

모든 프로그램들은 실행하기 위해 여러가지 자원을 필요로 합니다. 여기서 자원이란 아직 배우지 않은 자원들과 컴퓨터의 핵심 부품들도 포함이 됩니다. 앞서 배워왔던 컴퓨터 구조는 전기만 흐른다고 동작하는 것이 아닌 운영체제에 의해서 적절하게 작동하게 됩니다.

운영체제는 여러 자원을 할당하고 여러 프로그램들이 올바르게 실행되도록 돕는 프로그램입니다.
컴퓨터 구조 시간에 프로그램은 실행되기 위해서 메모리에 적재 되어야 한다고 배웠습니다. 따라서 프로그램인 운영체제도 메모리에 적재되지만 일반 프로그램과 달리 운영체제는 커널 영역에 적재되어 있습니다.

어떤 응용 프로그램이 실행될 때, 메모리에 적재되는 공간(주소)는 누가 지정할지(메모리 관리) 또는 여러가지 프로그램들을 동시에 실행하는 경우, 정확하게 말하면 빠르게 번갈아 가며 실행하게 되는 상황에서 어떤 프로그램을 먼저 실행할지 또는 얼마나 실행할지(CPU 관리) 이외에도 입출력장치를 관리하고 파일이나 디렉토리 관리 등 하드웨어와 응용 프로그램 사이에서 다양한 역할을 하는게 운영체제의 역할입니다.
보다 이해하기 쉽게 운영체제를 정부에 빗대어 표현하기도 합니다. 정부는 나라의 다양한 자원들을 각각 담당 부서들이 효율적으로 관리하고 시민들이 필요로 하는 자원을 제공해주는 역할을 하고 있고 컴퓨터에서의 운영체제의 역할과 일맥상통한다고 볼 수 있습니다.

운영체제를 왜 알아야 할까요? 만약 운영체제가 존재하지 않는 환경에서 간단한 덧셈 프로그램을 작성한다면 덧셈 프로그래밍 뿐만 아니라 메모리 적재, CPU 접근, 모니터 출력 등 하드웨어를 관리하고 접근하는 코드를 필요로 하게 됩니다. 다행히 이런 부분을 운영체제가 담당해주고 있어 우리는 편하게 프로그래밍을 할 수 있습니다.

운영체제는 결국 사용자를 위한 프로그램이라기 보다 프로그램을 위한 프로그램입니다. 하드웨어와 응용 프로그램 사이에서 가장 빨리 문제를 발견하는 것도 운영체제입니다. 따라서 운영체제가 우리에게 보여주는 오류메세지를 읽고 문제를 해결할 수 있는 능력을 기르기 위해서 운영체제를 익혀두는 것은 좋은 개발자로 성장하기 위한 초석입니다.

profile
CS | ML | DL

0개의 댓글