운영체제를 알아야 하는 이유
모든 프로그램은 실행을 위해 자원(프로그램 실행에 있어 필요한 요소를 말한다, 컴퓨터의 네가지 핵심 부품 등)을 필요로 한다.
운영체제는 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 프로그램이다.
운영체제는 메모리에 적재되는 영역이 정해져있다.
이를 커널 영역이라고 한다.
[운영체제의 메모리 관리의 일부]
만약, 메모장이나 인터넷 등을 실행한다면 운영체제가 메모리의 비어있는 적당한 공간에 해당 응용프로그램을 적재하여 실행하게 해준다.
사용하지 않는 프로그램이 있다면 그 프로그램은 메모리에서 삭제하고 깨끗하게 비워주기도 한다.
[운영체제의 CPU관리]
운영체제는 메모리 뿐만이 아니라 CPU도 관리를 해준다.
우리가 인지하지 못할정도로 응용프로그램들은 빠르게 번갈아가며 실행되는데
어떤 프로그램을 먼저 실행할지, 나중에 실행할지, 시간은 얼마나 실행할지 이런부분을 운영체제가 결정해준다.
[운영체제의 입출력 관리]
보조기억장치의 정보 덩어리들을 파일, 폴더로 관리를 해주는것은 운영체제게 수행한다.
운영체제는 하드웨어와 아주 맞닿아있어서 응용프로그램이 요구하는 자원들을 할당해주고 실행을 돕는다.
즉, 자원들을 효율적으로 관리해주는 역할을 한다.
따라서 운영체제가 없다면 하드웨어를 직접 접근하고 조작하는 코드를 개발자가 일일히 만들어야하여 굉장히 어려운 일이 된다.
(운영체제 덕분에 개발자는 하드웨어를 조작하는 코드를 직접 작성할 필요가 없다.)
왜 운영체제를 알아야 할까?
운영체제는 사용자를 위한 프로그램이 아니라, 프로그램을 위한 프로그램으로 볼 수 있다.
따라서 프로그램을 만드는 개발자는 운영체제를 잘 알아야 한다.
문제가 발생한다면 가장 먼저 운영체제가 알아챈다.
운영체제는 프로그램이기 때문에 프로그래머와 대화가 가능하다.
CPU나 일반 보조기억장치와 같은 하드웨어는 대화를 할 수가 없다.
-> 여기서 말하는 대화는 오류 메세지 같은것을 말하며, 오류 메세지에 대한 깊은 이해를 통해 문제 해결이 늘어난다.