* 왜 디스크가 필요한가?
- 충분한 메모리를 가질 수 없다!
가상 메모리의 스왑 공간으로서의 디스크 등
- 메모리는 휘발성이다!
* 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 (0) | 2017.06.18 |
Memory Management (0) | 2017.06.18 |
File System(2) (0) | 2017.06.18 |
File System(1) (0) | 2017.06.18 |