이번 학습 주제는 운영 체제의 장치 관리 방법입니다
먼저 디스크 관리(Disk Management)를 살펴보겠습니다
디스크는 가장 많이 사용하는 보조기억장치 중 하나로
레코드판을 여러 개 중첩해 놓은 것과 비슷합니다
헤드(Head)가 임의의 섹터(Sector)를 랜덤(Random)하게 참조할 수 있어
빠르게 데이터를 읽을 수 있으며
주기억장치보다 많은 양의 데이터를 저장할 수 있습니다
디스크의 접근 시간은 다음과 같습니다
Disk 접근 시간 | 내용 |
탐색시간 (Seek time) |
현 위치에서 특정 실린더(트랙)로 디스크 헤드가 이동하는 데 걸리는 시간 |
회전 지연시간 (Rotation delay time) |
가고자 하는 섹터가 디스크 헤드까지 도달하는 데 걸리는 시간 |
전송시간 (Transfer time) |
데이터를 전송하는 데 걸리는 시간 |
다음으로 디스크 스케줄링의 종류를 살펴보겠습니다
FCFS(First-Come First Served)는 가장 먼저 도착한 요청을 우선적으로 처리하는 것으로
개발이 용이하고 공평성을 유지하지만 이동 경로가 길어질 수 있습니다
SSTF(Shortes-Seek Time First)는 현재 Head 위치에서 가까운 요청을 먼저 처리하는 것으로
전반적인 Seek time을 감소시키지만 Starvation이 발생할 수 있습니다
SLTF(Shortest Lantency Time First)는 섹터큐잉이라고도 부르며
디스크 헤드가 특정 실린더에 도착하면 실린더 내의 여러 트랙 요청을 검사한 후
회전 지연 시간이 가장 짧은 것부터 먼저 서비스하는 방법입니다
SCAN은 엘레베이터 알고리즘으로 불리며
SSTF가 갖는 탐색시간의 편차를 해소하기 위해
Head가 이동하는 방향의 모든 요청을 서비스하고
끝까지 이동한 후 역방향의 요청을 서비스합니다
C-SCAN(Circular-SCAN)은 바깥쪽에서 안쪽으로 이동하며
끝에 도달하면 바깥쪽으로 이동하여 요청을 다시 처리합니다
C-LOOK(Circular-Look)은 C-SCAN을 보완한 것으로
헤드 이동 방향의 마지막 입출력 요청을 처리한 후
디스크 헤드를 처음 위치로 이동하여 다음 입출력 요청을 처리합니다
다음으로 파일 시스템(File System)에 대해 알아보겠습니다
파일 시스템은 운영체제의 중요한 기능 중 하나로
사용자가 생성한 파일을 저장소에 어떻게 저장하고 관리할 것인지를 결정하는 것을 말합니다
파일 시스템의 종류를 살펴보겠습니다
파일 시스템 | 내용 |
FAT(File Allocation Table)16 |
· 대부분의 Microsoft 운영체제에서 호환되며 단순한 구조 · 최대 2G까지만 지원 · 암호화 및 압축 불가능 · 파일명의 최대 길이는 영문 8자 · 클러스터당 1,632KB를 할당하여 내부 단편화가 발생함 |
FAT(File Allocation Table)32 |
· FAT16을 보강 · 최대 2TB까지 지원 · 암호화 및 압축 불가능 · 파일명의 최대 길이는 영문 256자 · 클러스터당 4KB 사용하여 내부 단편화 감소 |
NTFS(New Technology File System) |
· 암호화 및 압축 지원 · 대용량 파일 시스템 지원 · 가변 클러스터 크기는 512~64KB이며 기본값은 4KB · 트랜잭션 로깅을 통한 복구 및 오류 수정 가능 · Window NT 이상에서 지원 · 네트워크 지원 |
EXT(Extended File System) |
· MINIX File System을 보완 · 최대 2G까지 지원 · 255byte까지 파일명 지원 · 접근 제어, inode 수정, 타임스탬프 수정 불가능 · 단편화 발생 |
EXT2 |
· 파일 시스템은 2G까지, 볼륨 크기는 32TB까지 지원 · 서브 디렉터리 개수 제한이 32,768개로 증가 · FSCK를 사용한 파일 시스템 오류 수정 지원 · 캐시의 데이터를 디스크에 저장 중 오류 발생 시 파일 시스템에 손상 발생할 수 있음 · FSCK를 통한 파일 복구 시간이 오래 걸림 |
EXT3 |
· EXT2에 저널링 기능 추가 및 온라인 파일 시스템이 증대 · 파일 시스템 변경 시 저널에 먼저 수정 내용을 기록 · 디스크 조각화를 최소화 |
EXT4 |
· 파일 시스템은 16TB까지, 볼륨 크기는 1EB(Exa Byte)까지 지원 · Block Mapping 방식 및 Extends 방식을 지원 · 저널 Checksum 기능 추가 · 하위 호환성 지원 · Delayed allocation(디스크에 쓰이기 전까지 블록 할당을 미룸) · 온라인 조각 모음 · Persistent pre-allocation(파일 전체만큼의 공간을 사전 할당) |
마지막으로 RAID(Redundant Array of Independent Disks)에 대해 학습하고 마치겠습니다
RAID는 디스크 고장 시 그대로 복구할 수 있도록
2개 이상의 디스크에 데이터를 저정하는 기술을 말합니다
RAID기법은 저용량, 저성능, 저가용성인 디스크를 배열 구조로
중복 구성함으로써 고용량, 고성능, 고가용성 디스크를 대체하고자하는 것으로
데이터 분산 저장에 의한 동시 엑세스가 가능하며
병렬 데이터 채널에 의한 데이터 전송 시간이 단축되는 장점이 있습니다
RAID 0(Stripe, Concatenate)은 최소 2개의 디스크로 구성되고
Disk Striping은 데이터를 나누어 저장하지만
중복 저장하지는 않기 때문에 디스크 장애 발생 시 복구할 수 없습니다
RAID 1(Mirroring)은 여러 디스크에 데이터를 완전 이중화하여 저장하는 방식으로
RAID에서 가장 좋은 방식이지만 비용이 많이 발생합니다
RAID 2(Hamming Code ECC)은 ECC(Error Correction Code) 기능이 없는
디스크의 오류 복구를 위하여 개발되었고
별도의 디스크에 복구를 위한 ECC를 저장하는 것을 말합니다
Hamming Code를 이용하여 오류를 복구합니다
RAID 3(Parity ECC)는 Parity 정보를 별도 Disk에 저장합니다
컨트롤러 Layer에서 오류 디스크 격리 및 Hot Spare Disk를 이용해 데이터를 복구하고
1개의 디스크의 오류에도 장애 복구 가능합니다
RAID 4(Parity ECC, Block 단위 I/O)는 Parity 정보를 별도 Disk에 저장합니다
데이터는 Block 단위로 데이터 디스크에 분산 저장합니다
RAID 4는 RAID 3과 동일하나 Parity를 Block 단위로 관리하는 것만 차이가 있습니다
RAID 5(Parity ECC, Parity 분산 저장)은 분산 Parity를 구현하여
안정성이 향상되었고 최소 3개의 디스크가 요구됩니다
RAID 6(Parity ECC, Parity 분산 복수 저장)은 RAID 5의 안전성 향상을 위해
Parity를 다중화하여 저장합니다
이번 학습은 여기까지 하겠습니다
그럼 이만-_-
'Security' 카테고리의 다른 글
[Security] 리눅스 파일 시스템 (0) | 2020.03.08 |
---|---|
[Security] 리눅스(Linux) (0) | 2020.03.08 |
[Security] 입출력 처리 (0) | 2020.03.07 |
[Security] 웹 서버 보안(Web Server Security) (0) | 2020.03.05 |
[Security] 전자 우편(E-Mail) (0) | 2020.03.05 |