일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- OS
- 자바
- Galera Cluster
- 자료구조
- MySQL
- 네트워크
- Spring
- C
- 운영체제
- Algorithm
- 디자인 패턴
- Kafka
- Data Structure
- Java
- mongoDB
- c언어
- design pattern
- redis
- 알고리즘
- 컴퓨터구조
- JPA
- IT
- Heap
- spring webflux
- MSA
- 파이썬
- 백준
- Proxy
- react
- JavaScript
Archives
- Today
- Total
시냅스
대용량 저장장치 구조, Mass-Storage Structure 본문
대용량 저장장치 구조, Mass-Storage Structure
- 비휘발성인 보조 저장장치 Secondary Storage system
- HDD, SSD, NVM, magnetic tapes...
- 메인메모리에 프로그램을 전부 올릴 수 없기 때문에 사용한다.
HDD Scheduling
- 접근 시간이나 탐색 시간을 최소화한다.
- 탐색 시간 : 어떤 device의 arm이 head를 움직이는데 특정 cylinder의 특정 sector를 찾는 것
- 대역폭을 최대화한다.
- 대역폭 : 전송된 총 바이트 수 / 첫 서비스 요청 시간 - 마지막 전송 완료 시간 (완료시간 - 요청시간)
FIFO Scheduling
- 온대로 받는다.
SCAN Scheduling
- 진행 방향이 맞는 순서로 처리한다.
- Elevator Algorithm
C-SCAN Scheduling
- 한 방향으로만 head를 움직인다.
- 끝으로 가면 처음으로 돌아온다.
- 돌아갈 때에는 서비스를 하지 않는다.
NVM Scheduling
- 이동 디스크 헤더가 없으므로 간단한 FCFS를 수행한다. (FIFO)
Boot Block
- 대부분의 Boot Loader는 시스템 마더보드의 NVM 플래시 메모리(ROM) 펌웨어에 저장되어 알려진 메모리 위치(MBR)에 매핑된다.
- MBR (Master Boot Record)는 하드 디스크의 첫 번째 논리 블록 또는 NVM 장치의 첫 번째 페이지에 배치한다.
- 부팅은 시스템 펌웨어에 상주하는 코드를 실행하여 시작한다.
- 이후 MBR이 부트 코드를 읽도록 지시하고, MBR의 파티션 테이블을 식별하여 첫 번째 섹터/페이지(부트 섹터)를 읽고 이 섹터/페이지가 시스템을 커널로 안내한다.
저장장치 연결 Storage Attachment
DAS
- 서버에 직접 연결하는 방식
- 확장이 쉬움, 속도가 빠름
- 연결 수에 한계가 있음
- 문제 발생시 순간 단절 가능성
- 각 서버는 직접 파일 시스템을 관리
SAN
- 서버와 저장장치를 광섬유 스위치로 연결한 고속 데이터 네트워크
- SAN 스위치 (L4 or L7)을 구성한 뒤 서버와 스토리지를 연결
- 확장성, 유용성, 가용성 우수
- 비싼 비용과 복잡한 구성
- DB, 가상화 등 대규모의 처리가 필요할 경우
NAS
- 네트워크를 통해서 서버와 스토리지를 연결
- 서버와 저장장치가 이더넷 스위치 등의 LAN 방식의 네트워크에 연결된 방식
- LAN은 TCP/IP 프로토콜 기반, 저장장치는 SCSI 사용, 통신을 위해 중계역할의 파일서버 필요
- 확장성, 유연성 뛰어남
- 상대적으로 비용 낮음, 설치 쉬움
- 커넥션 증가 시 성능문제 발생 가능성
- 파일 공유, 동시 접속이 필요한 경우
RAID (Redundant Array of Inexpensive Disks)
- 반드시 백업이 필요한 경우
- 데이터 유실 시에도 복구 가능
- 병렬 처리로 대역폭 증가
- 미러링 mirroring (중복으로 신뢰성 향상)
- 모든 드라이버 내용을 복제
- 스트라이핑 striping (병렬 처리로 퍼포먼스를 올리는 방법)
- 드라이브 여러개로 전송하여 전송률을 높임
- bit-level striping : 바이트를 8개로 비트 단위로 나눠서 보냄
- parity bit
- 전송할 떄 비트 1이 짝수면 1, 아니면 0
- 만약 전송된 1이 3개일 때 parity bit가 0 이면, 데이터가 깨진 것으로 판단한다.
RAID Levels
RAID 0
- 두 개 이상의 디스크에 데이터를 무작위로 저장한다.
- 단순 Stripe
RAID 1
- 디스크에 동일한 데이터를 중복 기록
- 단순 Mirroring
RAID 3/4
- 에러 체크 및 수정을 위해 패리티 정보를 별도의 디스크에 저장
RAID 5
- 패리티 정보 자체를 stripe로 구성된 디스크 내에 분산하여 저장
- 하나의 디스크가 손상되더라도 남은 디스크들로 데이터 복구 가능
RAID 6
- RAID5 + 2차 패리티 정보를 넣어 저장
- 안정성은 높지만 약간의 데이터 공간 사용이 추가 발생
'운영체제' 카테고리의 다른 글
파일 시스템 인터페이스, File-System Interface (0) | 2022.06.16 |
---|---|
입출력 시스템, I/O System (0) | 2022.06.07 |
가상 메모리, Virtual Memory (0) | 2022.05.24 |
페이징과 스와핑, Main Memory (0) | 2022.05.20 |
주메모리의 관리 Main Memory (0) | 2022.05.20 |
Comments