-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from Kdreamtomaster/version0.0.0
Version0.0.0
- Loading branch information
Showing
8 changed files
with
473 additions
and
96 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
## RAID 0~6 설명 | ||
|
||
### **RAID 0: 스트라이핑** | ||
- **설명**: 데이터를 여러 디스크에 분산 저장하여 읽기 및 쓰기 성능을 향상시킵니다. | ||
- **장점**: 높은 성능 | ||
- **단점**: 데이터 중복이 없어 디스크 하나만 고장 나도 모든 데이터 손실 | ||
- **최소 디스크 수**: 2 | ||
|
||
### **RAID 1: 미러링** | ||
- **설명**: 데이터를 동일하게 두 개 이상의 디스크에 저장하여 데이터 신뢰성을 높입니다. | ||
- **장점**: 높은 데이터 신뢰성 | ||
- **단점**: 저장 공간 비효율적 (2배 필요) | ||
- **최소 디스크 수**: 2 | ||
|
||
### **RAID 2: 비트 수준 스트라이핑과 해밍 코드** | ||
- **설명**: 비트 단위로 데이터를 스트라이핑하고 해밍 코드를 사용하여 오류를 검출 및 수정합니다. | ||
- **장점**: 오류 복구 가능 | ||
- **단점**: 구현 복잡, 추가 디스크 필요 | ||
- **최소 디스크 수**: 3 | ||
|
||
### **RAID 3: 바이트 수준 스트라이핑과 전용 패리티** | ||
- **설명**: 바이트 단위로 데이터를 스트라이핑하며, 전용 패리티 디스크를 사용합니다. | ||
- **장점**: 단일 디스크 오류 복구 가능 | ||
- **단점**: 패리티 디스크로 인한 병목 현상 | ||
- **최소 디스크 수**: 3 | ||
|
||
### **RAID 4: 블록 수준 스트라이핑과 전용 패리티** | ||
- **설명**: 블록 단위로 데이터를 스트라이핑하며, 전용 패리티 디스크를 사용합니다. | ||
- **장점**: 단일 디스크 오류 복구 가능 | ||
- **단점**: 패리티 디스크로 인한 병목 현상 | ||
- **최소 디스크 수**: 3 | ||
|
||
### **RAID 5: 블록 수준 스트라이핑과 분산 패리티** | ||
- **설명**: 데이터를 블록 단위로 스트라이핑하고, 패리티 정보를 모든 디스크에 분산 저장합니다. | ||
- **장점**: 단일 디스크 오류 복구 가능, 병목 현상 감소 | ||
- **단점**: 쓰기 성능 저하 가능 | ||
- **최소 디스크 수**: 3 | ||
|
||
### **RAID 6: 블록 수준 스트라이핑과 이중 분산 패리티** | ||
- **설명**: RAID 5와 유사하지만 두 개의 패리티 블록을 추가하여 두 개의 동시 디스크 오류를 견딜 수 있습니다. | ||
- **장점**: 최대 두 개의 디스크 오류 복구 가능 | ||
- **단점**: 쓰기 성능 저하, 더 많은 저장 공간 필요 | ||
- **최소 디스크 수**: 4 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
# 컴퓨터 스토리지 기술 가이드 | ||
|
||
## 1. 스토리지 기본 개념 | ||
- **스토리지의 정의**: 데이터를 저장하고 관리하는 장치나 시스템으로, 데이터의 일시적 및 영구적 보관을 담당합니다. | ||
- **데이터 저장 원리**: 디지털 데이터를 자기적, 전기적 방식으로 기록하며, 다양한 매체에 따라 저장 방식이 다릅니다. | ||
- **스토리지의 중요성**: 데이터의 양과 중요성이 증가함에 따라 효율적인 데이터 저장 및 관리가 필수적입니다. | ||
|
||
## 2. 스토리지 종류 | ||
|
||
### 2.1 물리적 저장 매체 | ||
- **하드 디스크 드라이브 (HDD)** | ||
- 작동 원리: 플래터에 데이터를 자기적으로 기록하고 읽는 방식입니다. | ||
- 구조와 구성 요소: 플래터, 스핀들 모터, 읽기/쓰기 헤드 등으로 구성됩니다. | ||
- 성능 특성: 대용량과 저렴한 비용이 장점이나 속도가 느리고 소음이 발생합니다. | ||
|
||
- **솔리드 스테이트 드라이브 (SSD)** | ||
- NAND 플래시 메모리 기술: 비휘발성 메모리를 사용하여 데이터를 전기적으로 저장합니다. | ||
- SLC, MLC, TLC, QLC 기술: 셀 당 비트 수에 따라 성능과 내구성이 다릅니다. | ||
- 작동 원리: 플로팅 게이트 트랜지스터를 통해 데이터를 저장하고 읽습니다. | ||
|
||
- **광학 저장 장치** | ||
- CD, DVD, Blu-ray: 레이저를 사용하여 디스크 표면에 데이터를 기록합니다. | ||
- 작동 원리와 특징: 주로 미디어 콘텐츠 저장에 사용되며 긴 수명을 가집니다. | ||
|
||
- **자기 테이프 저장 장치** | ||
- 백업 및 아카이빙 용도: 대용량 데이터의 장기 보관에 적합합니다. | ||
- LTO 기술: 고용량과 빠른 속도를 제공합니다. | ||
|
||
### 2.2 메모리 기반 저장 장치 | ||
- **RAM (Random Access Memory)**: 휘발성 메모리로 빠른 데이터 접근이 가능하지만 전원이 꺼지면 데이터가 사라집니다. | ||
- **ROM (Read-Only Memory)**: 비휘발성 메모리로 데이터가 영구히 저장됩니다. | ||
- **캐시 메모리**: CPU와 주 메모리 사이에서 데이터 접근 속도를 높이는 데 사용됩니다. | ||
- **비휘발성 메모리 (NVRAM)**: 전원이 꺼져도 데이터를 유지하는 메모리입니다. | ||
|
||
## 3. 스토리지 인터페이스 기술 | ||
- **SATA**: 주로 HDD와 SSD 연결에 사용되는 인터페이스로 비교적 저속입니다. | ||
- **SAS**: 서버 환경에서 고속 데이터 전송을 지원하는 인터페이스입니다. | ||
- **NVMe**: PCIe 소켓을 활용하여 높은 속도와 호환성을 제공하는 인터페이스입니다. | ||
- **PCIe**: 고속 데이터 전송을 위한 인터페이스로 NVMe SSD에 주로 사용됩니다. | ||
- **USB 인터페이스**: 범용 직렬 버스로 다양한 장치 연결에 사용됩니다. | ||
- **Thunderbolt**: 고속 데이터 및 영상 전송을 지원하는 인터페이스입니다. | ||
|
||
## 4. 고급 스토리지 기술 | ||
|
||
### 4.1 RAID 기술 | ||
- RAID 레벨 (0, 1, 5, 10 등): 성능 향상과 데이터 중복성을 제공합니다. | ||
- 하드웨어 vs 소프트웨어 RAID: 하드웨어 RAID는 전용 컨트롤러를 사용하며, 소프트웨어 RAID는 운영 체제에서 구현됩니다. | ||
|
||
### 4.2 분산 스토리지 시스템 | ||
- 클러스터 파일 시스템: 여러 서버 간 파일 시스템을 공유하여 확장성과 가용성을 높입니다. | ||
- 분산 블록 스토리지: 블록 단위로 데이터를 분산하여 높은 성능과 내구성을 제공합니다. | ||
- 오브젝트 스토리지: 대규모 비정형 데이터를 효율적으로 관리할 수 있는 구조입니다. | ||
|
||
## 5. 스토리지 성능 메트릭스 | ||
- IOPS (Input/Output Operations Per Second): 초당 입출력 작업 횟수를 나타내며 성능 평가의 주요 지표입니다. | ||
- 지연 시간 (Latency): 입출력 요청 후 응답까지 걸리는 시간으로 낮을수록 좋습니다. | ||
- 처리량 (Throughput): 단위 시간당 처리 가능한 데이터 양을 나타냅니다. | ||
- 대역폭: 최대 전송 속도를 나타내며 높은 값일수록 좋습니다. | ||
- 액세스 시간: 데이터 접근에 소요되는 총 시간을 의미합니다. | ||
|
||
## 6. 최신 스토리지 트렌드 | ||
- 3D NAND 기술: 셀을 수직으로 쌓아 집적도를 높이는 기술입니다. | ||
- QLC SSD: 높은 용량과 낮은 비용으로 주목받고 있습니다. | ||
- Optane 메모리: 낮은 지연 시간과 높은 내구성을 제공하는 차세대 메모리 기술입니다. | ||
- 클라우드 스토리지: 인터넷 기반의 유연한 데이터 저장 솔루션입니다. | ||
- 에지 컴퓨팅 스토리지: 분산된 네트워크 환경에서 실시간 데이터 처리를 지원합니다. | ||
- 스토리지 가상화: 물리적 장치를 추상화하여 유연한 자원 관리를 가능하게 합니다. | ||
|
||
## 7. 스토리지 관리 및 최적화 | ||
- 데이터 압축 기술: 저장 공간 절약 및 전송 효율성을 높입니다. | ||
- 중복 제거 (Deduplication): 불필요한 중복 데이터를 제거하여 효율성을 높입니다. | ||
- 씬 프로비저닝: 필요 시점에 따라 자원을 동적으로 할당하여 최적화합니다. | ||
- 스토리지 티어링: 다양한 성능의 스토리지를 계층화하여 비용 효율성을 높입니다. | ||
- 스토리지 모니터링 도구: 실시간으로 성능 및 상태를 점검하여 문제를 예방합니다. | ||
|
||
## 8. 미래 스토리지 기술 전망 | ||
- 차세대 메모리 기술: MRAM, RRAM 등 새로운 비휘발성 메모리가 주목받고 있습니다. | ||
- 양자 저장 기술: 양자 컴퓨팅과 결합된 초고속 데이터 처리 가능성이 있습니다. | ||
- DNA 데이터 저장: 생물학적 구조를 활용한 초고밀도 데이터 저장 기술입니다. | ||
- 광학 및 홀로그래픽 저장 기술: 대용량 데이터를 빠르게 처리할 수 있는 차세대 기술입니다. | ||
|
||
## 9. 스토리지 보안 | ||
- 데이터 암호화: 기밀성을 보장하기 위해 데이터를 암호화합니다. | ||
- 접근 제어: 사용자 권한을 제한하여 보안을 강화합니다. | ||
- 데이터 무결성: 변경이나 손상 없이 데이터를 유지하는 방법을 포함합니다. | ||
- 재해 복구 전략: 시스템 장애 시 신속한 복구를 위한 계획이 필요합니다. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
## 운영체제의 기본 개념 | ||
|
||
### OS의 정의와 목적 | ||
운영체제(Operating System, OS)는 컴퓨터 하드웨어 자원을 관리하고 사용자 및 응용 프로그램이 컴퓨터와 상호작용할 수 있도록 지원하는 소프트웨어입니다. 운영체제는 시스템의 성능을 최적화하고 사용자에게 편리한 인터페이스를 제공하는 것을 주요 목표로 합니다. | ||
|
||
### OS의 주요 기능 | ||
운영체제는 다음과 같은 주요 기능을 수행합니다: | ||
- **자원 관리**: CPU, 메모리, I/O 장치 등 하드웨어 자원을 효율적으로 관리합니다. | ||
- **프로세스 관리**: 여러 프로세스의 실행을 제어하고 스케줄링합니다. | ||
- **파일 시스템 관리**: 파일의 생성, 삭제, 읽기, 쓰기 등의 작업을 지원합니다. | ||
- **보안 및 보호**: 데이터와 시스템 자원을 보호합니다. | ||
- **네트워크 관리**: 네트워크 연결과 통신을 관리합니다. | ||
|
||
### 시스템 콜(System Call) | ||
시스템 콜은 응용 프로그램이 운영체제 커널에게 서비스를 요청하는 인터페이스입니다. 사용자 모드에서 실행되는 프로그램이 커널 모드로 전환하여 커널 기능을 사용할 수 있게 합니다. | ||
|
||
## 프로세스 관리 | ||
|
||
### 프로세스와 스레드의 개념 | ||
- **프로세스**: 실행 중인 프로그램의 인스턴스로, 독립적인 메모리 공간을 가집니다. 각 프로세스는 최소 하나의 스레드를 포함합니다. | ||
- **스레드**: 프로세스 내에서 실행되는 작업의 단위로, 같은 프로세스 내에서는 메모리를 공유합니다. 멀티 스레딩은 여러 스레드가 동시에 실행되도록 합니다. | ||
|
||
### 프로세스 스케줄링 | ||
프로세스 스케줄링은 CPU 시간을 여러 프로세스에 할당하는 방법을 결정하는 과정입니다. 선점형과 비선점형 스케줄링 방식이 있으며, 각 방식은 시스템 성능에 영향을 미칩니다. | ||
|
||
### 프로세스 동기화 | ||
동기화는 여러 프로세스나 스레드가 공유 자원에 접근할 때 일관성을 유지하도록 하는 기법입니다. 상호 배제(Mutex)와 세마포어(Semaphore) 등이 사용됩니다. | ||
|
||
### 데드락(Deadlock) | ||
데드락은 두 개 이상의 프로세스가 서로 자원을 기다리며 무한정 대기하는 상태를 말합니다. 예방, 회피, 탐지 및 회복 방법으로 처리할 수 있습니다. | ||
|
||
## 메모리 관리 | ||
|
||
### 메모리 할당 방식 | ||
메모리는 연속 할당과 불연속 할당 방식으로 나뉩니다. 연속 할당은 고정 및 가변 분할 방식으로 나뉘며, 불연속 할당에는 페이징과 세그멘테이션이 있습니다. | ||
|
||
### 가상 메모리 | ||
가상 메모리는 물리적 메모리보다 큰 프로그램을 실행할 수 있도록 지원하는 기술로, 필요한 부분만 메모리에 적재하여 실행합니다. 이는 물리적 메모리의 한계를 극복하고 효율적인 메모리 사용을 가능하게 합니다. | ||
|
||
### 페이징과 세그멘테이션 | ||
- **페이징**: 고정 크기의 페이지로 나누어 물리 메모리에 할당하여 외부 단편화를 해결합니다. | ||
- **세그멘테이션**: 가변 크기의 세그먼트로 나누어 논리적 단위로 관리하며 내부 단편화를 해결합니다. | ||
|
||
## 파일 시스템 | ||
|
||
### 파일 시스템 구조 | ||
파일 시스템은 데이터를 저장하고 관리하는 구조로, 파일과 디렉토리를 기본 구성 요소로 합니다. 파일은 데이터의 집합이며 디렉토리는 파일을 조직화하는 컨테이너입니다. | ||
|
||
### 디렉토리 구조 | ||
디렉토리는 계층적 구조(트리 구조)로 구성되며, 루트 디렉토리를 시작으로 하위 디렉토리를 포함할 수 있습니다. 이러한 구조는 파일 시스템 탐색과 관리를 용이하게 합니다. | ||
|
||
### 파일 할당 방법 | ||
파일 할당에는 연속 할당, 연결 할당, 색인 할당 방법이 있습니다. 각 방법은 디스크 공간 사용과 접근 속도에 영향을 미칩니다. | ||
|
||
## 입출력(I/O) 관리 | ||
|
||
### I/O 시스템의 구조 | ||
I/O 시스템은 하드웨어 장치와 소프트웨어 계층 간의 인터페이스를 제공하며, CPU와 I/O 장치 간 데이터 전송을 관리합니다. 이 과정에서 컨트롤러와 버스를 통해 데이터가 전송됩니다. | ||
|
||
### 디바이스 드라이버 | ||
디바이스 드라이버는 운영체제가 하드웨어 장치를 제어할 수 있도록 하는 소프트웨어입니다. 드라이버는 커널 모듈로서 하드웨어와 응용 프로그램 간 인터페이스를 제공합니다. | ||
|
||
### 버퍼링과 캐싱 | ||
- **버퍼링**: 데이터를 임시 저장하여 처리 속도 차이를 극복하는 방법입니다. | ||
- **캐싱**: 자주 사용하는 데이터를 빠른 속도의 메모리에 저장하여 접근 시간을 줄이는 방법입니다. |
Binary file not shown.
Oops, something went wrong.