도구스개발

파일 할당 방식(연속·연결·색인) 계산기

파일 크기와 블록 크기를 넣으면 연속·연결·색인(단일/다단계) 할당 방식별로 필요한 블록 수·포인터 오버헤드·임의 접근 단계 수를 견줍니다.

KB
바이트
바이트
색인 블록 하나에 담을 수 있는 포인터 수 P = ⌊4096 / 4⌋ = 1,024

연속 할당

데이터 블록100개
오버헤드 블록0개
총 블록100개
임의 접근 단계1단계
순차 접근 단계1단계

연결 할당

데이터 블록101개
오버헤드 블록0개
총 블록101개
임의 접근 단계101단계
순차 접근 단계1단계

블록마다 포인터(4바이트)가 공간을 차지해 실제 데이터는 블록당 4092바이트뿐입니다.

단일 색인

데이터 블록100개
오버헤드 블록1개
총 블록101개
임의 접근 단계2단계
순차 접근 단계2단계

다단계(2단계) 색인

데이터 블록100개
오버헤드 블록2개
총 블록102개
임의 접근 단계3단계
순차 접근 단계3단계
접근 단계 수가 곧 디스크 입출력 횟수입니다. 연속 할당은 시작 주소에 오프셋만 더하면 되어 1단계, 연결 할당은 포인터를 하나씩 따라가야 해 최악의 경우 블록 수만큼, 색인 할당은 색인 블록을 먼저 읽어야 해 2~3단계입니다. 임의 접근이 잦은 워크로드일수록 색인·연속 할당이 유리합니다.
연결 할당은 포인터가 공간을 갉아먹습니다. 블록크기에서 포인터크기를 뺀 만큼만 실제 데이터를 담을 수 있어, 같은 파일이라도 연속·색인 할당보다 블록이 더 필요할 수 있습니다.

사용 방법

  1. 1파일 크기를 입력합니다.
  2. 2디스크 블록 크기를 입력합니다.
  3. 3블록 번호를 가리키는 포인터 크기를 입력합니다.
  4. 4연속·연결·단일 색인·다단계 색인 네 방식의 블록 수와 접근 단계 수를 견줍니다.

자주 묻는 질문

연속 할당은 파일을 이어진 블록 구간 하나에 통째로 담습니다. 연결 할당은 각 블록 끝에 다음 블록을 가리키는 포인터를 심어 사슬로 잇습니다. 색인 할당은 데이터는 순수하게 담고, 블록 번호들을 따로 둔 색인 블록에 모아 놓습니다.

포인터가 블록 안의 공간을 갉아먹기 때문입니다. 블록크기에서 포인터크기를 뺀 만큼만 실제 데이터를 담을 수 있어, 같은 파일이라도 연속 할당보다 블록이 더 필요할 수 있습니다.

연속 할당은 시작 주소에 오프셋만 더하면 되어 1단계입니다. 연결 할당은 처음부터 포인터를 하나씩 따라가야 해 최악의 경우 블록 수만큼(N단계) 걸립니다. 색인 할당은 색인 블록을 먼저 읽고 그 안의 번호로 데이터 블록을 읽어야 해 2단계(단일 색인)나 3단계(다단계 색인)입니다.

색인 블록 하나에 담을 수 있는 포인터 수(P = 블록크기÷포인터크기)를 데이터 블록 수가 넘으면, 색인 블록 자체를 또 가리키는 최상위 색인 블록을 하나 더 두는 다단계(2단계) 색인이 필요합니다. 2단계로는 최대 P²개의 데이터 블록까지 다룰 수 있습니다.

memory-allocation은 프로세스가 쓸 주기억장치를 빈 분할 중 어디에 배치할지(최초/최적/최악적합)를 다룹니다. 이 계산기는 디스크에 이미 있는 파일의 블록들을 어떻게 배치할지를 다루는, 운영체제 교과서에서도 다른 장(기억장치 관리 대 파일시스템)의 주제입니다.

알아두면 좋은 점

  • 실제 파일시스템(예: 유닉스 아이노드)은 직접·단일 간접·이중 간접·삼중 간접 포인터를 섞어 쓰는 더 복잡한 혼합 방식을 씁니다. 이 계산기는 그 원리를 이루는 세 기본 방식을 단순화해 비교합니다.
  • 포인터 크기는 블록 크기보다 작아야 계산할 수 있습니다.
  • 접근 단계 수는 디스크 접근(입출력) 횟수를 뜻하며, 실제로는 캐싱으로 일부가 줄어들 수 있습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.