[운영체제]저장장치와 파일시스템

찬들이·2022년 8월 20일
0

컴퓨터공학

목록 보기
17/34
post-custom-banner

🎯 저장장치

  • 저장장치는 속도는 낮지만 용량은 큰 휘발성 메모리이다.
  • 종류는 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
profile
Junior-Backend-Developer
post-custom-banner

0개의 댓글