🎯 저장장치
- 저장장치는 속도는 낮지만 용량은 큰 휘발성 메모리이다.
- 종류는 HDD와 SDD로 HDD는 대용량이 가능한 대신 디스크 방식이라 SDD 보다는 느리다는 단점이 있고, SDD는 HDD보다는 적은 용량이지만 플래쉬를 통해 빠른 속도를 준다는 장점이 있다.
- SDD의 용량의 한도가 점점 늘어나면서 현재는 SDD로 넘어가는 추세이다.
RAID
- RAID란 HDD와 SDD의 장점들을 합치기 위해, 저장장치를 여러 개를 묶어 한 개와 같은 효과를 얻기 위해 개발된 기법이다.
- RAID 기법은 하드웨어적인 방법과, 소프트웨어적인 방법으로 나뉜다.
- 하드웨어적인 방법 - 운영체제에 이 디스크가 하나의 디스크처럼 보이게 한다.
- 소프트웨어적인 방법 - 주로 운영체제 안에서 구현되며, 사용자에게 디스크를 하나의 디스크처럼 보이게한다.
- RAID는 여러 규격으로 방식이 정해져 있고, 이 규격은 속도향상 혹은 안정성에 목적을 둔다.
- RAID 0
- 스트라이프 구조
- 두 개 이상의 하드디스크를 한 줄로 쭉 세워 병렬로 연결하는 방법
- 하드디스크는 컴퓨터 내부에 전송되는 속도보다 하드디스크에 저장되는 속도가 느리기 때문에, 처리 지연이 일어나는 동안 다른 하드디스크에 저장을 시킬 수 있게 고안된 방법.
- RAID 1
- 미러 구조
- 두 개 이상의 하드디스크를 병렬로 연결하여 똑같은 복사본을 생성하는 기술
- 물리적인 에러가 발생 시에 해당 하드디스크만 교체하는 것으로 문제를 해결할 수 있다는 장점이 있다.
- 하지만 저장공간이 많이 소비되고, 속도 향상에도 크게 도움이 되지는 않는다.
- RAID 2
- bit 단위로 스트라이핑을 하고, error corrction을 위해 Hamming code를 사용한다.
- 최소 3개 이상의 디스크로 구성이 가능하고, 2개 이상의 디스크 에러시 복구가 불가능하다는 단점이 있다.
- RAID 3
- RAID 2의 연장선으로 RAID2 + 1개의 디스크를 가지고 있다.
- +1의 디스크는 error connection을 위해 패리티 디스크를 사용한다.
- 그렇지만 이 것도 2개 이상의 디스크 에러시 복구가 불가능하다.
- RAID 4
- RAID3와 거의 똑같다.
- 차이점은 RAID4는 byte단위가 아닌 block단위로 스트라이핑을 한다.
- 단점으로는 패리티 코드를 동일한 디스크에 저장하기 때문에, 패리티 디스크의 사용량이 높아 해당 디스크의 수명이 줄어든다.
- RAID 5
- RAID4의 단점을 수정시킨 RAID이면서, 제일 사용 빈도가 높은 RAID Level이다.
- 패리티를 저장하는 디스크를 고정하지 않고 매 번 다른 디스크에 저장하여 하나의 디스크에 사용량이 몰리는걸 방지해 안정성이 높다.
- RAID6
- RAID5의 성능과 용량을 좀 더 줄이고, 안정성을 더 높인 RAID
- RAID5와 같이 페리티를 저장하지만, 2개의 페리티를 만드는 부분이 다르다.
- 안전성이 높기 때문에 주로 서버 환경에서 많이 사용한다.
🎯 파일시스템의 기능 및 종류
- 파일시스템이란 컴퓨터 사용자의 응용프로그램을 실행함으로써 생성하는 정보를 파일이라는 단위로 저장&관리하는 운영체의 서브 시스템이다.
파일 시스템의 기능
- 사용자가 파일을 생성, 수정 제거할 수 있도록 한다.
- 여러 사용자가 파일을 공유하여 사용할 수 있도록 한다.
- 불의의 사고에 대비한 백업과 복구 능력이 있다.
- 주기억장치와 보조기억장치 간의 파일 전송을 담당한다.
- 각 응용에 적합한 구조로 파일을 구성할 수 있도록 한다.
파일 시스템의 파일관련 작업
- open: 파일을 사용할 수 있는 상태로 준비
- close: 파일의 변경된 내용을 저장하고 사용 권한을 종료
- copy: 새로운 파일 생성
- destroy: 파일명을 디스크에서 삭제
- rename: 파일명을 번경
- list: 디스크에 저장되어 있는 파일 목록 출력
파일 시스템의 종류
- FAT
- 어느 영역에 파일이 속해 있는지,공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에 대한 정보를 중심으로 하는 테이블을 이용하는 것에서 비롯한다.
- 상대적으로 다른 파일 시스템에 비해 간단하고, 성능은 좋지 않다.
- 단순한 자료구조를 사용하고, 조그마한 파일이 많으면 공간 활용률이 적어지기 때문이다.
- NTFS
- FAT의 단점을 보완하기 위해 개발된 파일 시스템
- 윈도우에 최적화 되어있는 파일시스템이지만, MAC이나 Android Linux와 같은 기기에서는 제한이 있다.
- EXT
- 리눅스용 파일 시스템 가운데 하나로 오늘날에 리눅스 배포판에서 주 파일시스템으로 쓰이고 있다.
- HFS
- 계층적 파일 시스템으로 맥OS를 구동하는 컴퓨터 시스템에 사용할 목적으로 개발한 파일 시스템
- APFS
- 애플파일 시스템이라 불리고 애플에서 애플 관련 OS들에서 범용으로 사용하고자 만드는 파일 시스템이다.
🎯 파일 분류와 확장자
파일 분류
- 파일은 논리적인 데이터의 집합이고 0과 1의 비트 패턴으로 이루어지며, 운영체제 입장에서는 크게 실행파일과 데이터파일로 나뉜다.
- 실행파일
- 운영체제가 메모리로 가져와 CPU를 이용하여 작업을 하는 파일
- 데이터파일
- 실행파일이 작업하는 필요한 데이터를 모아놓은 파일
확장자
- 파일을 구분하기 위해 모든 파일은 고유한 헤더를 가지고 있고, 파일의 성격을 알기 위해 확장자를 붙인다.
ex) excel.exe -> 헤더 : excel | 확장자 : exe