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

재능없는 개발자·2023년 2월 8일
0

운영체제란?

앞서 컴퓨터 구조에서 학습한 컴퓨터 부품들은 운영체제의 지휘하에 작동하게 된다. 프로그램을 실행하기 위해선 cpu, 메모리, 보조기억장치 등등 컴퓨터 부품이 필요하다. 이 컴퓨터 부품들은 자원이라고 한다. 즉 프로그램은 실행되기 위해 자원이 필요한 것이다. 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램이 운영체제이다. 운영체제도 다른 프로그램과 똑같은 프로그램이다. 따라서 메모리에 적재되어야한다. 다만 운영체제는 매우 특별한 프로그램이기 때문에 메모리 내 커널 영역이라는 공간에 따로 적재된다. 커널영역을 제외한 프로그램이 돌아가는 영역은 사용자 영역이라고 한다. 즉, 운영체제는 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에게 자원을 효율적으로 할당하고 이들이 올바르게 실행되도록 돕는다.

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

위에서 말한 것 처럼 운영체제가 알아서 하드웨어를 조작해주고 개발자는 운영체제의 도움만 받아 프로그램을 개발하면 될텐데, 왜 운영체제가 필요한 걸까? 이를 반대로 생각하면 된다. 운영체제는 현재 하드웨어의 상태는 어떤지, 우리가 작성한 코드가 어떻게 실행되는지, 하드웨어 상에 어떤 문제가 있었는 지를 우리에게 상세히 알려줄 수 잇꼬, 우리는 이를 통해 문제해결의 실마리를 찾을 수 있기 때문이다.운영체제를 깊이 이해하면 우리는 운영체제에 제대로 명령할 수 있고, 결과적으로 하드웨어와 프로그램을 더 깊게 이해할 수 있게 된다.

운영체제의 핵심 서비스

프로세스 관리

실행중인 프로그램을 프로세스라 한다. 우리가 컴퓨터를 사용하는 동안에 새로운 프로세스들이 생겨나고, 사용되지 않는 프로세스는 메모리에서 삭제된다. 하나의 cpu는 한번에 하나의 프로세스만 실행할 수 있기에, cpu는 프로세스들을 조금씩 번갈아 가면서 실행한다. 운영체제는 이렇게 다양한 프로세스를 일목요연하게 관리하고 실행시킨다.

자원접근 및 할당

모든 프로세스는 실행을 위헤 자원을 필요로 한다.그리고 운영체제는 프로세스들이 사용할 자원에 접근하고 조작함으로써 프로세스이 필요한 자원을 할당해 준다. 메모리에는 여러 프로세스가 적재되고, 하나의 cpu는 한번에 하나의 프로세스만 실행할 수 있으므로 운영체제는 프로세스들에게 공정하게 cpu를 할당해준다 이걸 cpu스케줄링이라고 한다. 또한 운영체제는 새로운 프로세스가 적재될 때마다 어느 주소에 적재해야 할지를 결정해야한다.

파일 시스템 관리

우리가 컴퓨터를 사용할때 파일을 열고, 생성하고, 삭제하는 이러한 과정을 파일 시스템이라고 한다. 파일 시스템도 운영체제가 관리하는 핵심서비스이다.

profile
https://www.youtube.com/watch?v=__9qLP846JE

0개의 댓글