우선, wikipedia 항목 은 이와 관련하여 매우 완전합니다.
성능상의 관점에서 파티셔닝의 유일한 장점은 조각화를 최소화하는 것입니다.
OS는 사용자가 데이터를 사용하고 저장하는 방법을 가정해야합니다. 문제는 다음과 같이 요약 될 수 있습니다.
256B와 같은 메모리 덩어리가 있다고 가정하면 시퀀스에서 256 상자로 상상할 수 있습니다.
|_|_|_|_|...|_|
이제 3 개의 파일 (64 개, 64 개, 128 개 상자)을 저장하려고합니다. 파일을 할당해야합니까?
1: | 64 | 64 | 128 | or
2: | 64 | 128 | 64 | ?
그것은 어느 청크가 오랫동안 저장 될 것인지 아닌지, 그리고 청크들 중 하나가 제거 된 후에 저장 될 가능성이 가장 큰 청크에 달려있다.
다음 작업에서 64의 두 청크가 디스크에서 제거되었다고 가정하면 128의 새 청크가 저장됩니다. 예 1에서는 128을 즉시 저장할 수 있지만 두 번째 예에서는 먼저 저장된 청크 128을 경계로 이동 한 다음에 만 새 청크를 추가 할 수 있습니다.
자, 이것을 모든 크기의 다른 크기로 상상해보십시오 (거대한 디스크 (GB 크기)에 사소한 방식으로 저장되지 않습니다 (즉, 4B가 아니라 8B 등)). 이것은 매우 어려운 문제로 알려져 있습니다.
OS는 휴리스틱을 사용하여이 문제를 해결합니다. 최적의 전략은 아니지만 일부 휴리스틱을 사용하여 청크를 올바른 위치에 배치합니다. 한 가지 중요한 정보는 얼마나 큰가 얼마나 자주 이 몇 가지 제공하기 때문에, 사용자가 / OS가 저장 청크있는 사전 OS가 추측 시도 할 수있는 곳에서 다음 청크에 대한 정보를.
디스크를 파티셔닝하면 OS의 특정 디스크 영역이 해당 파티션에 속한다는 사실을 OS에 알립니다. 이것은 더 이상 하나의 256 상자 시퀀스가 아니라 두 개의 128 상자 시퀀스 (파티션 A 및 B)가 있음을 의미합니다. OS는 더 이상 어디에 배치 할 것인지에 대한 가정을하지 않습니다. 귀하는 디렉토리에서 어떤 루트를 선택했는지 결정합니다 (손을 흔들며 말하기).
왜 성능을 향상시킬 수 있습니까?
일반적인 예는 OS를 사용하는 동안 두 가지 다른 동작이있는 경우입니다. 예를 들어 다음과 같은 차이점이 있습니다.
- 메모리에 많은 쓰기 및 지우기 기능이있는 OS를 매일 사용
- 많이 변경하지 않는 비디오 또는 앨범과 같은 무거운 파일을 저장할 때
파티셔닝은 매일 한 가지 방식으로 OS를 사용할 때 성능을 향상시킬 수 있으며 다른 파티션을 사용하여 OS 수명 동안 거의 변경되지 않는 대용량 파일 만 저장할 수 있습니다.
각 파티션 내에서 동작이 일관되므로 OS가 할당을 향상시켜 조각화를 최소화 할 수 있습니다.
이것이 일반적인 사용자 사례와 관련이 있는지 여부에 관계없이 할당 전략을 개발하는 사람이 똑똑하고 휴리스틱이 그러한 경우에 대해 생각되기 때문에 아니오라고 대답합니다.
서버 및 기타 시스템의 경우 이로 인해 차이가 생길 수 있지만 프로파일 링 후에 진행할 수 있습니다 .
SSD 포함 편집
내 이해는이 문제가 SSD 또는 하드 디스크에 대해 이야기하는지 여부와 무관하다는 것입니다. 문제는 끊임없이 추가되고 제거되는 일정하지 않은 크기의 항목으로 유한 공간을 채우면된다는 점에서 매우 근본적입니다.