본문 바로가기
영어

[리눅스 마스터 1급 필기] 리눅스와 하드웨어

by feature_be 2023. 8. 17.
728x90
  • 하드웨어의 이해
    • 컴퓨터의 구성요소
      1. 중앙처리장치(CPU)
        • 외부에서 정보를 입력 받아 컴퓨터 프로그램의 명령어들을 해석하여 연산하고 결과를 반환함으로써 컴퓨터 시스템을 통제하는 컴퓨터 제어장치
        • 레지스터와 연산장치, 제어장치로 구성된다.
          • 레지스터 : CPU가 연산을 처리하기 위한 임시 저장소 역할을 수행하며 작은 데이터만을 저장할 수 있찌만 액세스 속도는 빠르다.
          • 연산장치(ALU) : 데이터들 간의 비교, 판단, 연산을 수행
          • 제어장치 : 입력된 명령어를 해석하고 해석한 명령을 연산장치 등으로 보내고 주소를 디코드하여 레지스터에 데이터를 저장하는 역할을 수행
      2. 주기억장치
        • CPU가 처리할 명령어와 데이터를 저장하기 위한 컴퓨터 하드웨어 장치
        • RAM과 ROM으로 분류
        • RAM
          • 전원의 공급이 중단되면 기록된 정보가 손실되는 특성이 있으며 메모리상 어느 주소에 접근하든지 액세스 시간이 동일
          • DRAM과 SRAM으로 나눌 수 있다.
        • ROM
          • 전원이 공급이 중단되어도 저장된 데이터를 소멸하지 않는다.
          • 컴퓨터를 켰을 때 구동하기 위한 BIOS와 같은 프로그램이 적재
          • 저장 데이터를 변경할 수 없는 MASK ROM, 저장된 데이터를 1회 수정할 수 있는 PROM, 메모리에 저장된 데이터를 수회 삭제 및 저장할 수 있는 EOROM으로 구분
      3. 입출력장치
        • 컴퓨터의 빠른 연산 능력을 활용하기 위해서 컴퓨터에 다양한 데이터를 입력할 수 있어야 하며, 컴퓨터의 연산 결과를 효과적으로 확인하기 위해서 다양한 방식으로 출력할 수 있는 장치를 제공해야 한다.
        • 입력장치 : 키보드, 마우스, 카메라, 스캐너, OMR, MICR, 트랙볼, 터치패드, 바코드, 조이스틱, 터치스크린, 3DTouch, 제스처, 다양한 센서류 등 존재
        • 출력장치 : 모니터, 프린터 등 존재
      4. 보조기억장치
        • 주기억장치는 속도가 빠르나 용량이 작고 가격이 비싸다. 이를 위해 보조기억장치가 사용된다.
        • 주기억장치 대비 속도는 느리나 용량이 크고 가격이 저렴하다.
        • 사용자의 데이터를 저장하거나 주기억장치의 메모리가 부족함을 해결하기 위해 가상메모리를 위한 스왑 영역으로 사용
        • 하드디스크, SSD, CD-ROM, DVD, BD 등이 있다.
    • 하드웨어의 선택
      • RAID
        • 하드디스크의 고성능 구현과 신뢰성을 위해 여러 개의 하드디스크를 구성하고 일부에 중복된 데이터를 나눠서 저장하는 복수 배열 독립 디스크 기술
        • 종류
          • RAID 0
            • 데이터를 하나의 디스크가 아닌 여러 디스크에 걸쳐 저장하는 스트라이핑 기술을 사용하여 데이터를 디스크에 분산 저장
            • 데이터를 저장할 때 여러 디스크에 동시에 쓸 수 있으므로 처리속도가 빠름
            • 데이터 중복이 없고 패리티 기술을 사용하지 않기 때문에 구성된 디스크 중 하나라도 오류가 발생하면 복구 불가
          • RAID 1
            • 패리티나 스트라이핑 없이 미러링 기술을 사용하여 데이터를 두 개의 디스크에 동시에 기록한다.
            • 각 디스크의 데이터를 동시에 읽어 들일 수 있어 읽기 속도가 향상
            • 하나의 디스크에 쓰기를 하는 것과 양 디스크에 쓰기는 하는 것은 시간 면에서는 동일하므로 미러링 기술이 데이터 쓰기 향상에 도움을 주지는 않는다.
            • 동일 데이터가 양 디스크에 존재하므로 디스크 오류 시 미러링된 데이터를 통해 복구할 수 있다.
            • 반면 데이터를 중복 저장하기 때문에 디스크의 효율성이 50%로 떨어진다.
          • RAID 2
            • 비트 레벨의 스트라이핑을 통하여 최소 3개의 디스크에 데이터를 분산 저장
            • 오류 정정 부호(ECC)를 기록하는 전용의 하드디스크를 이용한다.
            • ECC를 통해 오류를 복구할 수 있지만 추가 연산이 필요해 입출력 속도가 떨어진다.
          • RAID 3
            • 바이트 수준의 스트라이핑을 통해 데이털르 분산 저장한다.
            • 한 번 읽거나 쓸 때 각 디스크에 동시에 접근 가능하므로 순차적 쓰기 성능과 순차적 읽기 성능이 우수
            • 패리티를 제공하므로 오류 체크 및 복구를 수행할 수 있다.
          • RAID 4
            • 블록 레벨의 스트라이핑을 통해 데이터를 분산 저장
            • 패리티를 이용하므로 에러 체크 및 정정 기능을 제공
            • 블록단위로 데이터가 저장되므로 단일 디스크에서 데이터를 읽어 들일 수 있고 여러 개의 디스크에서 동시에 데이터를 읽어 들일 수 있다.
            • 데이터를 쓸 때마다 패리티 디스크도 접근하기 때문에 쓰기 성능이 좋지는 않다.
          • RAID 5
            • RAID 4와 같이 블록 수준 스트라이핑으로 저장되며 패리티도 별도의 디스크가 아닌 모든 디스크에 나뉘어 저장
            • 성능 면에서 RAID 0보다 부족하지만 성능, 안정성, 용량 세 부분을 고려하여 현장에서 많이 사용
          • RAID 6
            • RAID 5와 유사한 구성이며 추가적으로 2차 패리티 구성을 포함
            • RAID 5의 경우 1개의 디스크 오류만 대처 가능하지만 RAID 6은 2개의 디스크 오류에 대처 가능
          • RAID 0+1
            • 디스크 2개를 스트라이핑 기술을 사용하는 RAID 0으로 구성하고 이러한 RAID 0 구성 세트를 다시 미러링 기술을 사용하는 RAID 1로 구성하는 방식
          • RAID 1+0
            • 디스크 2개를 RAID 1로 구성하고 이 세트를 다시 RAID 0으로 구성하는 방식
            • RAID 1보다 높은 성능을 제공하지만 가격이 비싸다.
          • RAID 5+3
            • RAID 3 방식에 스트라이프 어레이를 구성하는 방식
            • RAID 3보다 높은 성능을 제공하지만 가격이 더 비싸다.
      • 디스크 인터페이스
        • IDE
          • 가장 오래된 구격으로써 40개의 핀으로 구성된 병렬 인터페이스
          • 병렬 전송을 강조하여 PATA라고 부르기도 한다.
          • 초기형 IDE보다 성능이 향상된 E-IDE가 있으면 133.MB/s 속도로 데이터를 전송
        • S-ATA
          • IDE의 성능 한계를 극복하기 위해 직렬로 데이터를 전달하는 인터페이스
          • SATA1은 초당 150MB 성능을 내고 SATA2는 초당 300MB의 전송속도를 보임
          • SATA3는 6Gbps의 속도를 제공
          • SATA2는 허브를 이용해 하나의 포트에 여러 개의 하드디스크를 연결할 수 있다.
        • SCSI
          • 고성능과 안정성, 신뢰성을 중시하는 워크스테이션 및 서버 시장에서 주로 사용하던 디스크 인터페이스
          • IDE와 마찬가지로 병렬 전송 방식이며, 10000RPM에 달하는 고성능 하드디스크 장착으로 최적의 성능을 제공했으나 병렬 방식을 사용한 성능의 한계가 존재
        • SAS
          • SCSI의 한계를 극복하기 위해 시리얼 방식을 도입한 디스크 인터페이스
          • SCSI의 안정성과 확장성, 신뢰성을 이어가면서 시리얼 전송을 통해 속도를 향상
      • LVM
        • 블록디바이스를 유연하게 관리하기 위해 여러 블록디바이스를 가상의 Logical Volume에 매핑하고 스토리지를 관리하는 커널 기능
        • 기존에는 블록디바이스에 직접 I/O를 수행했지만 LVM 기반 시스템은 블록디바이스 대신 LVM이 매핑한 Logical Volume에 I/O를 수행
        • LVM을 통해 유연한 용량, 크기 조절 가능한 스토리지 풀, 온라인 데이터 재배치, 디스크 스트라이핑, 미러 볼륨, 볼륨 스냅샷 기능을 제공
        • 구성요소
          • PV - 기존의 블록 디스크를 LVM에서 사용할 수 있도록 변환한 볼륨 형식
          • PE - PV는 PE라 불리는 일정 크기의 블록으로 구성되며 기본 크기는 4MB
          • VG - 여러 PV를 하나의 VG으로 묶어 통합할 수 있다. VG에 LV를 할당할 수 있다.
          • LV - VG에서 필요한 만큼 할당하여 만들어지는 공간이며 사용자는 LV를 통해서 하드디스크에 접근
          • LE - LV를 구성하는 일정 크기의 블록으로 기본 크기는 PE와 마찬가지로 4MB
728x90