Mass Storage Structure

2017. 6. 19. 14:13·레거시/OS

* 왜 디스크가 필요한가?

- 충분한 메모리를 가질 수 없다!

가상 메모리의 스왑 공간으로서의 디스크 등


- 메모리는 휘발성이다!



* Read/Write Operations to a Disk

1. 섹터 주소가있는 디스크를 제시하십시오.

• 디스크 주소 = (드라이브, 표면, 트랙, 섹터)

2. 헤드가 목표 트랙으로 이동합니다.

• 시간 찾기

3. 적절한 헤드가 활성화됩니다.

4. 대상 섹터가 헤드 아래에 나타날 때까지 기다립니다.

• 회전 대기 시간 

5. 섹터 읽기 / 쓰기

• 전송 시간



* Disk(Head) 스케쥴링

- 디스크 대기열에서 둘 이상의 요청 가능성

운영 체제는 요청에 대한 총 헤드 이동을 최소화하여 디스크 I / O 성능을 최대화합니다.


- 디스크 스케줄링 알고리즘

1) FCFS (선착순) 스케줄링

공평하나 비효율적임


2) SSTF (최단 탐색 시간 우선) 스케줄링

가능한 현재의 헤드 위치에서 최소 탐색 시간을 갖는 요청을 선택합니다 -> starvation이 일어날 수 있음!


3) SCAN 스케쥴링

한 방향으로 쭉 가고 반대 방향으로 쭉 감.


4) C-SCAN 스케쥴링

한 방향으로 죽 가고 반대 방향에서 다시 시작.


5) Look / 

그 방향으로 모든 요청을 처리 할 때까지 머리를 한 방향으로 움직인 다음 뒤집습니다.


6)C-LOOK 스케줄링

팔은 각 방향의 마지막 요청까지만 이동 한 다음 디스크의 끝까지 맨 위로 이동하지 않고 즉시 방향을 바꿉니다.


- 디스크 스케줄링 알고리즘 선택하기

성능은 요청의 수와 유형에 따라 다릅니다.

디스크 서비스에 대한 요청은 파일 할당 방법의 영향을받을 수 있습니다.

디스크 스케줄링 알고리즘은 운영 체제의 별도 모듈로 작성되어야하며, 필요한 경우 다른 알고리즘으로 교체 할 수 있습니다.

SSTF는 일반적이며 자연스러운 호소력이 있습니다.

SCAN 및 C-SCAN은 디스크에 많은 부하를주는 시스템에서 더 잘 수행됩니다.

SSTF 또는 LOOK은 기본 알고리즘에 대한 합리적인 선택입니다.



* 디스크 관리

- Low-level formatting, or physical formatting

디스크를 읽고 쓸 수 있는 섹터로 나눕니다.


- 디스크를 사용하여 파일을 보관하려면 운영 체제가 여전히 필요합니다.

자체 데이터 구조를 디스크에 기록합니다.

디스크를 하나 이상의 실린더 그룹으로 파티션

논리 형식 또는 "파일 시스템 만들기".


- 부팅 블록은 시스템을 초기화합니다.

부트 스트랩은 ROM에 저장됩니다 (부트 스트랩 로더 프로그램).


- 디스크 파티셔닝

단일 디스크에는 여러 파티션이 있을 수 있습니다.

파티션은 연속적인 실린더의 콜렉션입니다.

각 파티션은 논리적으로 분리 된 디스크입니다.


- 잘못된 섹션 재 매핑

디스크 섹터가 실패하고 하드웨어에 의해 여분의 위치로 자동 재 매핑됩니다.

섹터 스페어 링 또는 전달 : 저수준 포맷팅은 각 실린더의 예비 섹터를 제쳐두고 (OS에서 볼 수 없음) 설정합니다.



* Swap-Space Management

- 스왑 공간

가상 메모리 시스템에 최상의 처리량을 제공해야합니다.

스왑 공간은 일반 파일 시스템에서 조각 할 수 있으며, 일반적으로 별도의 디스크 파티션에 있을 수 있습니다.


- 파일 접근 방식 바꾸기

일반적인 파일 시스템 루틴을 사용하여 공간을 생성 / 이름 지정 / 할당 할 수 있습니다.

파일 시스템 데이터 구조를 탐색하는 비용 때문에 비효율적입니다.


- 파티션 스왑 접근법

디스크 파티션 중에 고정 된 스왑 공간이 생성됩니다.

분리 스왑 공간 저장 영역 관리자는 블록 할당 및 할당 해제에 사용됩니다.

스토리지 관리자는 스토리지 효율성보다는 속도에 최적화 된 알고리즘을 사용합니다


- 스왑 공간 관리의 예

초기 유닉스는 스와핑을 사용하여 인접 디스크 영역과 메모리간에 전체 프로세스를 복사했습니다.

유닉스는 페이징 하드웨어가 사용 가능 해짐에 따라 스와핑과 페이징의 결합으로 진화했다.

4.3BSD는 프로세스가 시작될 때 스왑 공간을 할당합니다; 텍스트 세그먼트 (프로그램)와 데이터 세그먼트를 보유합니다.

• 커널은 스왑 맵을 사용하여 스왑 공간 사용을 추적합니다.



* RAID (Redundant Array of Inexpensive Disks)

- 근본적인 목표 : "저비용의 안정적인 PC 급 디스크 드라이브 구성 요소를 통해 높은 수준의 저장 안정성 제공"

"독립 디스크의 중복 배열"을 통해 "손실이 적은"기대치를 분리합니다.


- 핵심 메커니즘

데이터를 다수의 디스크에 쪼개넣습니다.

데이터 중복이 높은 시스템 가용성을 제공합니다.

데이터 중복은 같은 데이터를 다수의 드라이브에 기록하거나, 패리티 비트같이 추가적인 데이터를 배열에 넣어서 만족됩니다.


- RAID 0 (striped disks) : 중복없이 쪼개서 다수의 디스크에 기록

- RAID 1 (disk mirroring) : 100% 일치하는 디스크 제공

- RAID 3 (striped set with dedicated parity) : 중복없이 쪼개서 디스크에 저장, 패리티 비트가 있는 디스크도 생성

-> small write problem 발생! 1 logical write = 2 physical reads + 2 physical writes

-> 패리티 디스크에서 병목현상 발생!

- RAID 5 (striped set with distributed parity) : 중복없이 쪼개서 디스크에 저장, 각 디스크마다 패리티 생성



* Tertiary Storage (제 3 저장소)

- 저비용은 3 차 스토리지의 특성을 정의합니다.

- 일반적으로 3 차 저장소는 이동식 미디어를 사용하여 구축됩니다.

- 이동식 미디어의 일반적인 예로는 DVD 및 CD-ROM이 있습니다. 다른 유형도 있습니다 (MO-Jukebox, 아래 그림)


- 계층적 저장소 관리 (HSM; Hierarchical Storage Management)

계층 형 스토리지 시스템은 3 차 스토리지를 통합하기 위해 스토리지 계층을 1 차 메모리 및 2 차 스토리지 이상으로 확장합니다. 일반적으로 테이프의 주크 박스 또는 이동식 디스크로 구현됩니다.

일반적으로 파일 시스템을 확장하여 3 차 저장소를 통합합니다.

• 작고 자주 사용되는 파일이 디스크에 남아 있습니다.

• 크고 오래된 비활성 파일이 쥬크 박스에 보관됩니다.

HSM은 일반적으로 방대한 양의 데이터가있는 슈퍼 컴퓨팅 센터 및 기타 대형 시스템에서 발견됩니다.


- 성능 문제

1) 비용 : 3 차 스토리지의 저렴한 비용은 많은 저렴한 카트리지가 몇 개의 비싼 드라이브를 공유하는 결과입니다. 따라서 3 차 스토리지는 카트리지 수가 드라이브 수보다 상당히 많은 경우에만 비용을 절감합니다

2) 속도 및 대역폭 : 라이브러리는 단위 시간당 비교적 적은 수의 I / O 요청 만 충족시킬 수 있기 때문에 이동식 라이브러리는 사용 빈도가 낮은 데이터를 저장하는 데 가장 적합합니다.

3) 신뢰성 : 고정 하드 디스크의 헤드 크래시는 일반적으로 데이터를 파괴하지만 테이프 드라이브 또는 광학 디스크 드라이브의 장애는 데이터 카트리지를 손상시키지 않는 경우가 많습니다.



* NAS (Network Attached Storage)

- 통합 스토리지 시스템이 TCP / IP와 같은 공통 통신 프로토콜을 사용하는 메시지 네트워크에 연결되는 기술.

- NAS 제품은 클라이언트 / 서버 관계에서 특화된 서버로서 기능합니다.

- 네트워크에 연결되어 있고 저장 기능을 제공하는 모든 저장 장치



* SAN (저장 영역 네트워크)

- 공유 액세스 네트워크에서 저장 장치 연결을 지원하는 기술.

- 저장소 전용 전용 네트워크를 통해 액세스합니다.

- SCSI 또는 파이버 채널과 같은 스토리지 프로토콜을 사용하십시오.

- 블록 레벨 액세스.

- 허브 및 스위치 (파이버 채널)와 같은 전통적인 네트워킹 개념을 사용하여 상호 연결된 컴퓨터 시스템 및 저장 장치의 구성 : 제어 및 데이터 경로 분리



* NAS 및 SAN의 장점

- 전통 건축의 단점

서버 기계를 통한 저장 후 전달 데이터 복사

• 번역 및 전달 요청, 저장 및 전달 데이터

• 데이터 전송 병목 현상

제한된 대역폭, 저렴한 서버 시스템의 슬롯

• 확장 성 없음


- NAS / SAN의 장점

가용성

확장성

• 용량, 연결 및 대역폭 (성능)

저장 장치 풀링

• 서버 고려 사항과 무관합니다.

로드 밸런싱

중앙 집중식 스토리지 관리








'레거시 > OS' 카테고리의 다른 글

I/O Systems  (0) 2017.06.19
Virtual Memory  (1) 2017.06.18
Memory Management  (0) 2017.06.18
File System(2)  (0) 2017.06.18
File System(1)  (0) 2017.06.18
'레거시/OS' 카테고리의 다른 글
  • I/O Systems
  • Virtual Memory
  • Memory Management
  • File System(2)
pfldy2850
pfldy2850
인공지능의 서비스화와 현실화에 관심이 많은 엔지니어입니다.
  • pfldy2850
    DEV.DY
    Github LinkedIn
  • 전체
    오늘
    어제
    • All (105)
      • AI (68)
        • 어플리케이션 개발 (11)
        • 모델 인퍼런스 (9)
        • 검색 시스템 (11)
        • MLOps (8)
        • 기술,논문 리뷰 (7)
        • Lecture notes (10)
        • 오픈소스 릴리즈 노트 (12)
      • Infra (4)
        • Kubernetes (1)
        • Service Mesh (1)
        • Service Proxy (1)
        • Storage (1)
      • Data Engineering (4)
        • Spark (3)
        • Kafka (1)
        • Delta Lake (0)
      • 컴퓨터 공학 (2)
        • 소프트웨어 공학 (2)
      • 개발 (16)
        • ReactJS (8)
        • NodeJS (2)
        • Python (4)
        • Pytorch (1)
        • git (1)
      • 영어공부 (2)
        • GPT로 영어 회화 공부 (2)
      • 활동 (2)
        • 2017 NDC (2)
      • 기타 (1)
      • 레거시 (6)
        • OS (6)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
pfldy2850
Mass Storage Structure
상단으로

티스토리툴바