시스템 자원(자원): 프로그램 실행에 필요한 요소들을 말한다.
예를 들어서, CPU, 메모리, I/O장치, 보조기억장치들을 의미한다.
실행이 진행될 프로그램에 필요한 자원들을 할당하고 프로그램이 올바르게 실행되도록 돕는 프로그램을 의미한다.
컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 적재되어 실행이 된다. (우리들이 이용하는 응용 프로그램들은 사용자 영역이라는 메모리 영역에 실행이 된다) 운영체네의 코드는 커널 영역에 적재가 되고, 사용자 영역에 적재된 프로그램들에 자원을 할당 올바르게 실행되도록 도와준다.
현재 메모리의 2000번지, 1000번지, 1500번지에 프로그램들이 적재되어 실행중이라고 가정해보자. 어떻게 각각의 응용 프로그램들이 특정 메모리 번지에 로딩이 된 것일까.? 바로 OS가 프로그램들의 각각의 메모리 영역에 프로그램들을 적재를 하고, 더 이상 실행이 되지 않는 프로그램들을 메모리에 해제하며 지속적으로 메모리를 관리한다.
추가로 현재 메모리에 적재된 응용 프로그램들이 실행이 되기 위해서는 CPU 자원들이 할당이 되어야하는데, 어떤 프로그램에게 먼저 할당이 되어야하는지, 만약 할당이 된다면 얼마나 지속해야 할지, 최대한 효율적으로 프로그램들을 실행시키기 위해 운영체제가 관여한다. -> CPU자원들 뿐만 아니라 동일한I/O자원 접근에 대해서도 관리를 한다. (응용 프로그램과 하드웨어 사이에서 자원들을 할당하고 프로그램이 올바르게 실행되도록 관리를 함.)
해당 게시글은 혼자 공부하는 컴퓨터 구조+운영체제 도서를 요약하여 정리하는 글입니다. 덧붙여야 하는 내용은 공룡🦕책을 참조하여 정리해가며 시리즈를 채워갈 계획입니다.🙂 전공할때 열심히 들을껄.. 난 말하는 감자🥔다~~~~!