운영체제는 중앙처리장치, 메모리, 스토리지 , 주변 기기 등을 적절히 관리한다. 특히 주기억장치와 메모리, 메모리와 스토리지 사이의 속도차로 인해 여러 가지 관리 기법들이 개발되었다.
초기에는 메모리 용량에 제한이 많아 소프트웨어 개발 시 메모리 관리가 매우 중요했으나, 최근에 들어서는 운영체제에서 대부분 자동으로 관리해 주므로 사용이 편리해졌다. 또한 개발 및 시스템 환경이 클라우드화 되면서 자원 관리에 필요한 노력이 많이 줄었다.
프로세스 스케줄링
프로세스를 효율적으로 실행될 수 있도록 여러 자원들 사이의 우선순위를 관리하는 작업이다.
선점형 : 이미 할당되어 실행 중인 프로세스라도 강제로 빼앗아 선택하여 사용할 수 있다.
ex) RR, SRT, 다단계 큐, 다단계 피드백 큐
비선점형 : 이미 실행 중인 프로세스를 강제로 뺴앗아 사용할 수 없다.
ex) FIFO-FCFS, SJF, HRN, 우선순위