Memoryaccess


title: 2025-09-19 (날짜) author: 강병호 (이름) date: 2025-09-19 (날짜) category: TIL/강병호/2025/09 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —

  • 순차접근 & 직접접근 & 색인 순차 접근

    ### 1, 순차 접근 (Sequential Access)

    가장 간단하고 일반적인 방식입니다. 파일을 처음부터 순서대로 읽거나 씁니다.

    • 작동 방식: 파일 포인터가 파일의 시작 부분에 위치하고, 한 번의 읽기/쓰기 작업이 끝날 때마다 자동으로 다음 위치로 이동합니다.
    • 예시: 음악 파일을 처음부터 끝까지 재생하거나, 텍스트 파일을 한 줄씩 읽는 것과 같습니다. 이 방식은 테이프 저장 장치처럼 순차적으로만 접근 가능한 매체에 적합합니다.

    ### 2. 직접 접근 (Direct Access) 또는 상대적 접근 (Relative Access)

    파일의 특정 위치에 직접 접근하는 방식입니다. 파일을 레코드(record) 단위로 구성하며, 각 레코드는 고유한 번호나 주소를 가집니다.

    • 작동 방식: 프로그램이 원하는 레코드의 번호를 지정하면, 운영체제는 그 위치로 바로 이동하여 데이터를 읽거나 씁니다. seek() 함수를 사용하여 파일 포인터의 위치를 직접 변경할 수 있습니다.
    • 예시: 데이터베이스에서 특정 사용자 정보를 찾을 때, 파일의 처음부터 모든 정보를 읽지 않고 해당 사용자의 레코드로 바로 이동하는 것과 같습니다. 이는 디스크처럼 임의의 위치에 빠르게 접근할 수 있는 장치에 적합합니다.

    ### 3. 색인 순차 접근 (Indexed Sequential Access)

    순차 접근과 직접 접근의 장점을 결합한 방식입니다. 대규모 파일에서 주로 사용됩니다.

    • 작동 방식: 파일의 키(key)와 그에 해당하는 레코드의 포인터(주소)를 담고 있는 인덱스(index) 파일을 별도로 유지합니다. 데이터를 찾을 때는 인덱스 파일을 먼저 확인하여 원하는 레코드의 위치를 파악한 후, 그 위치로 직접 이동하여 데이터를 읽습니다.
    • 예시: 책의 목차와 같습니다. 원하는 정보를 찾을 때 페이지를 처음부터 넘기는 것이 아니라, 목차(인덱스)에서 키워드를 찾아 해당 페이지로 바로 이동합니다. 인덱스를 사용하면 원하는 데이터에 빠르게 접근할 수 있으며, 인덱스를 순차적으로 읽어 모든 데이터를 처리할 수도 있습니다.

      → 마치 페이징 기법과 같음

results matching ""

    No results matching ""