맨위로가기

순차 접근

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

순차 접근은 컴퓨터 과학에서 정의가 통일되어 있지 않으며, 자료 구조에서 값의 특정 순서를 따라 방문하는 경우에 적용된다. 자기 테이프, 종이 테이프 등과 같은 저장 매체에서 사용되며, 파일 시스템에서는 하드 디스크나 플로피 디스크의 파일에 대한 임의 접근이 가능하지만, 시크가 불가능한 파일이나 파이프의 경우 순차 접근만 가능하다. Microsoft Windows와 같은 운영 체제는 순차 접근을 위한 API와 인터페이스를 제공한다.

더 읽어볼만한 페이지

  • 컴퓨터 메모리 - 플래시 메모리
    플래시 메모리는 전기적으로 데이터의 쓰기 및 삭제가 가능한 비휘발성 메모리 기술로, 마스오카 후지오 박사가 발명하여 카메라 플래시와 유사한 소거 방식으로 인해 명명되었으며, NOR형과 NAND형으로 나뉘어 각기 다른 분야에 적용된다.
  • 컴퓨터 메모리 - 메모리 계층 구조
    메모리 계층 구조는 CPU 데이터 접근 속도 향상을 위해 레지스터, 캐시, RAM, 보조 기억 장치 등으로 구성되며, 속도, 용량, 비용이 다른 계층들을 통해 효율적인 메모리 관리를 가능하게 한다.
순차 접근

2. 정의

컴퓨터 과학계에서 순차 접근 또는 순차적 발생(sequentiality)에 관한 통일된 정의는 존재하지 않는다.[14][15][16][17][18][19][20][21] 사실, 각기 다른 순차적 발생의 정의는 각기 다른 순차적 발생 수량화 결과를 낳을 수 있다. 공간 차원에서 요청 크기, 도달 거리, 거꾸로 접근, 다시 접근은 순차적 발생에 영향을 미칠 수 있다. 시간 순차적 발생에서 멀티스트림, 도착 간격 시간 임계치 등의 특성들은 순차적 발생의 정의에 영향을 준다.[22]

자료 구조에서 자료 구조는 값이 하나의 특정한 순서를 포함하는 상황에서 값을 방문하는 경우에 한해 순차 접근으로 간주된다. 전형적인 예로 링크드 리스트가 있다. 순차 접근을 하는 리스트의 인덱싱에는 O(n) 시간이 필요하며, 여기서 n은 인덱스이다. 결과적으로, 퀵 정렬 및 이진 탐색과 같은 많은 알고리즘은 단순한 대안보다 훨씬 덜 효율적인 나쁜 알고리즘으로 전락한다. 이러한 알고리즘은 임의 접근 없이는 실용적이지 않다. 반면에, 일반적으로 인덱스가 없는 일부 알고리즘, 예를 들어 병합 정렬과 같은 알고리즘은 순차 접근만 필요하며 불이익을 받지 않는다.

3. 저장 매체

순차 접근 방식을 사용하는 저장 매체에는 다음과 같은 것들이 있다.



대부분의 운영 체제는 하드 디스크, 플로피 디스크, RAM 디스크 등의 저장 매체에 파일 시스템을 제공하여 데이터를 파일 단위로 저장할 수 있도록 한다. 일반적으로 많은 운영 체제에서는 일반적인 파일의 경우 시크 작업을 통해 임의 접근이 가능하다. 어떤 이유로 시크가 불가능한 파일이나, 디스크상의 파일이 아닌 파이프 등은 시크가 불가능하며, 순차 접근만 가능하다.

Microsoft Windows처럼 순차 접근이 예상되는 경우, 파일을 열 때 파일 캐시 최적화 힌트를 플래그로 지정할 수 있는 API를 가진 OS도 있다.[12] 또한, 윈도우 API에는 순차 접근만을 허용하는 스트림을 표현하는 COM의 인터페이스로서 `ISequentialStream`이 있다.[13] 임의 접근도 허용하는 `IStream` 인터페이스는 `ISequentialStream`에서 파생되었다.

4. 파일 시스템에서의 순차 접근

대부분의 운영 체제는 하드 디스크, 플로피 디스크, RAM 디스크 등의 저장 매체에 파일 시스템을 제공하여 데이터를 파일 단위로 저장할 수 있도록 한다. 일반적으로 많은 운영 체제에서는 일반적인 파일의 경우 시크 작업을 통해 임의 접근이 가능하다. 어떤 이유로 시크가 불가능한 파일, 또는 디스크상의 파일이 아닌 파이프 등에는 시크가 불가능하며, 순차 접근만 가능하다.

Microsoft Windows처럼 순차 접근이 예상되는 경우, 파일을 열 때 파일 캐시 최적화 힌트를 플래그로 지정할 수 있는 API를 가진 OS도 있다.[12] 또한, 윈도우 API에는 순차 접근만을 허용하는 스트림을 표현하는 COM의 인터페이스로서 `ISequentialStream`이 있다.[13] 임의 접근도 허용하는 `IStream` 인터페이스는 `ISequentialStream`에서 파생되었다.

참조

[1] TechNet Random and Sequential Data Access https://technet.micr[...] Microsoft TechNet
[2] 논문 Easy and Efficient Disk I/O Workload Characterization in VMware ESX Server http://www.vmware.co[...] IISWC 2007
[3] 논문 Capture, Conversion, and Analysis of an Intense NFS Workload https://www.usenix.o[...] FAST 2009
[4] 논문 Design Implications for Enterprise Storage Systems via Multi-dimensional Trace Analysis http://dl.acm.org/ci[...] SOSP 2011
[5] 논문 Measurement and Analysis of Large-scale Network File System Workloads http://www.ssrc.ucsc[...] USENIX ATC 2008
[6] 논문 GPFS: A Shared-Disk File System for Large Computing Clusters https://www.usenix.o[...] FAST 2002
[7] 논문 Sequentiality and Prefetching in Database Systems http://www-inst.eecs[...] ACM TOS
[8] 논문 Characterization of Incremental Data Changes for Efficient Data Protection http://0b4af6cdc2f0c[...] USENIX ATC 2013
[9] 논문 A Nine Year Study of File System and Storage Benchmarking http://www.fsl.cs.su[...] ACM TOS 2007
[10] 논문 Assert(!Defined(Sequential I/O)) https://www.usenix.o[...] HotStorage 2014
[11] 웹사이트 list - cpprefjp C++日本語リファレンス https://cpprefjp.git[...]
[12] 웹사이트 CreateFileW function (fileapi.h) - Win32 apps | Microsoft Learn https://learn.micros[...] Microsoft Learn
[13] 웹사이트 ISequentialStream (objidl.h) - Win32 apps | Microsoft Learn https://learn.micros[...] Microsoft Learn
[14] 논문 Easy and Efficient Disk I/O Workload Characterization in VMware ESX Server http://www.vmware.co[...] IISWC 2007
[15] 논문 Capture, Conversion, and Analysis of an Intense NFS Workload https://www.usenix.o[...] FAST 2009
[16] 논문 Design Implications for Enterprise Storage Systems via Multi-dimensional Trace Analysis http://dl.acm.org/ci[...] SOSP 2011
[17] 논문 Measurement and Analysis of Large-scale Network File System Workloads http://www.ssrc.ucsc[...] USENIX ATC 2008
[18] 논문 GPFS: A Shared-Disk File System for Large Computing Clusters https://www.usenix.o[...] FAST 2002
[19] 논문 Sequentiality and Prefetching in Database Systems http://www-inst.eecs[...] ACM TOS
[20] 논문 Characterization of Incremental Data Changes for Efficient Data Protection http://0b4af6cdc2f0c[...] USENIX ATC 2013
[21] 논문 A Nine Year Study of File System and Storage Benchmarking http://www.fsl.cs.su[...] ACM TOS 2007
[22] 논문 Assert(!Defined(Sequential I/O)) https://www.usenix.o[...] HotStorage 2014



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com