정보처리기사

[정보처리기사] 운영체제

hminor 2023. 7. 7. 18:18

운영체제

  • 기억장치
    • 개념
      • 데이터, 프로그램, 연산의 중간 결과 등을 일시적 또는 영구적으로 저장하는 장치
    • 기억장치의 종류
      • 레지스터
        • 중앙처리장치 내부에 존재하는 기억장치
        • 작은 용량, 빠른 속도
      • 캐시 메모리
        • 중앙처리장치가 주기억장치에 접근할 때 속도 차이를 줄이기 위해 사용
      • 주기억장치
        • 중앙처리장치가 직접 데이터를 읽고 쓸 수 있는 장치
        • 종류
          • ROM(Read Only Memory)
            • 읽기만 가능한 읽기 전용 메모리
            • 비휘발성 메모리
          • REM(Random Access Memory)
            • 기억장소를 임의로 접근할 수 있는 메모리
            • 읽고 쓰기가 가능한 휘발성 메모리
              • SRAM
                • 전원이 공급되는 중에 내용이 사라지지 않음(캐시 메모리로 사용)
              • DRAM
                • 일반적인 주기억장치로, 일정 시간이 지나면 내용이 사라지는 RAM
      • 보조기억장치
        • 주기억장치에 비해 접근 시간은 느리지만 기억 용량이 크다
      • 연관 메모리
        • CPU가 찾고자하는 주기억장치 메모리가 캐시 메모리 어디에 있는지 빠르게 검색할 수 있게 하는 메모리
        • 주소에 의해 접근하지 않고, 기억된 내용의 일부를 이용하여 Acces 할 수 있는 기억장치
  • 시스템 소프트웨어
    • 개념
      • 응용 소프트웨어를 실행하기 위한 플랫폼을 제공
    • 시스템 소프트웨어 종류
      • 로더
        • 어떤 프로그램을 실행하기 위해 해당 목적 프로그램을 메모리에 적재하고 배치 주소를 옮기는 프로그램
        • 가져오기
      • 링커
        • 프로그램 구현 시 목적파일을 실행파일로 변환해 주는 프로그램
        • 연결
      • 유틸리티
        • 컴퓨터 하드웨어, 운영체제, 응용 소프트웨어를 관리하는 데 도움을 주는 프로그램
      • 번역기(컴파일러, 어셈블러)
        • 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 프로그램
      • 장치 드라이버
        • 특정 하드웨어나 장치를 제어하기 위한 커널의 일부분으로 동작하는 프로그램
      • 운영체제
        • CPU 메모리와 하드디스크 등의 하드웨어를 관리하며, 내 컴퓨터와 다른 컴퓨터들이 대화할 수 있도록 도와주는 등 많은 일들을 해주는 프로그램
    • 시스템 소프트웨어 구성
      • 제어 프로그램 (감작데)
        • 종류
          • 감시 프로그램
            • 각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시/감독하는 프로그램
          • 작업 관리 프로그램
            • 연속 처리를 위한 스케줄 및 시스템 자원 할당 등 담당
          • 데이터 관리 프로그램
            • 주기억/보조기억장치 사이의 자료전송, 파일의 조작 및 처리, 입출력 자료와 프로그램 간의 논리적 연결 등 처리할 수 있도록 관리
  • 운영체제
    • 개념
      • 응용프로그램이 실행되는 과정에서 하드웨어들을 제어하여 응용프로그램을 실행시키고 실행 결과를 보일 수 있도록 컴퓨터 내부 동작을 관리하는 소프트웨어
    • 운영체제 운용 기법
      • 일괄 처리 시스템
        • 초기 운영체제의 형태로 여러 작업을 한 번에 묶어서 처리
      • 실시간 처리 시스템
        • 요청한 실행을 즉시 실행하는 기법
      • 다중 프로그래밍 시스템
        • 하나의 작업이 입출력 중일 때 다른 작업을 할당하여 CPU 사용률과 처리량을 향상시키는 기법
        • 여러개의 작업을 동시에 실행 시킬 수 있도록 하는 시스템
      • 시분할 시스템
        • 타임 슬라이드 또는 타임 퀀텀이라 부르는 일정 작업 시간 동안 작업 실행
      • 다중 처리 시스템
        • 여러 개의 CPU를 통하여 동시에 여러개의 작업을 처리하는 운용 기법
        • 다중으로 처리하다보니 프로세서가 많은 시스템
      • 다중 모드 시스템
        • 일괄 처리, 다중 프로그래밍, 시분할, 다중 처리, 실시간 처리시스템을 모두 혼용하여 사용
      • 분산 처리 시스템
        • 둘 이상의 독립된 시스템이 통신으로 연결되고 상호작용하는 약결합 방식
    • 운영체제 종류
      • 윈도우(Window)
        • 개요
          • MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 운영체제
        • 특징
          • GUI 제공
          • 선점형 멀티태스킹 방식
          • 자동감지 기능 제공
          • OLE(Object Liking and Embedding)사용
      • 리눅스(Linux)
        • 개요
          • 1991년 리누스 토발즈에 의해 오픈소스로 개발된 유닉스 호환 OS
        • 특징
          • 다중 사용자 시스템
          • 오픈 소스
          • 이식성/유연성/확장성
          • 다양한 배포판
      • 유닉스(Unix)
        • 개요
          • 1969년 미국 AT&T 벨 연구소가 개발한 공개형 오픈소스 운영체제
          • 어셈블리 언어를 사용해 개발했으며, C언어를 사용해 다시 작성
        • Unix 시스템의 구성
          • 커널(Kernel)
            • Unix의 가장 핵심적인 부분
            • 컴퓨터가 부팅될 때, 주기억장치에 적재된 후 상주하면서 실행
          • (Shell)
            • 명령어 해석기
          • 유틸리티 프로그램(Utility Program)
            • 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용
        • Unix 파일 시스템 - 구조
          • 부트블록
            • 부팅 시 필요한 코드를 저장하고 있는 블록
          • 슈퍼블록
            • 전체 파일 시스템에 대한 정보를 저장하고 있는 블록
          • I-node 블록
            • 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록
          • 데이터 블록
            • 실제 파일에 대한 데이터가 저장된 블록
        • 파일 디스크립터(FD, File Descriptor)
          • 특징
            • 유닉스 시스템에서 프로세스가 파일들을 접근할 때 이용
            • 파일 제어 블록이라고 한다.
            • 자동으로 만들어지는 것.
              • 자동으로 만들어지는 것 종류
                • DBMS: 시스템 카탈로그
                • File: 파일 디스크립터
                • Process: PCB
          • 파일 디스크립터 저장 정보
            • 파일 이름 및 파일 크기
            • 보조기억장치에서의 파일 위치
            • 파일 구조
            • 보조기억장치의 유형
            • 액세스 제어 장치
      • POSIX(Portable Operating System Interface)
        • 개요
          • 이식 가능한 운영체제 인터페이스
      • MacOS
        • 개요
          • 애플사가 개발한 유닉스 기반의 운영체제
          • IOS, tvOS, watchOS 등 애플의 다른 운영체제들과 상당수의 코드베이스를 공유
          • SwiftUI와 함꼐 Cocoa, Core Foundation 등의 시스템 API를 제공
          • MacOS는 라이선스상 애플 기기 이외의 기기에서는 구동시킬 수 없다.
  • 운영체제의 명령어
    • Linux, Unix 파일 접근 권한 관리
      • 파일 확인 방법
        • Is -al 명령을 이용하여 파일의 상세정보 및 파일 접근 권한을 확인할 수 있다.
      • 필드별 의미
          • rwx rw- r—
        • File, folder, link
          • 파일: -
          • 디렉토리: d
          • 링크: l
        • Owner
        • Group
        • Other
      • 권한별 값
        • 구분
          • R: 4, 읽기
          • W: 2, 쓰기
          • X: 1, 실행
          • -: 0, 권한 없음
      • 권한 변경
        • chmode 0751 file명
          • 소유주: rwx
          • 그룹: r-x
          • 이외: x
        • chmode 0775 file명
          • 소유주: rwx
          • 그룹: rwx
          • 이외: r-x
  • umask(접근 권한 마스크)
    • 개요
      • 앞으로 만들어질 파일 권한에 대한 설정
      • UNIX에서는 파일은 666권한, 디렉터리는 777권한이 기본.
        • umask가 022인 파일의 경우엔 아래와 같이 권한을 가질 수 있다.
        • 소유주: rwx
        • 그룹: r—
        • 이외: r—
      • umask로 지정한 8진수는 새로 만들어진 파일에서 제거될 권한을 명시
  • crown(소유주 변경)
    • 개요
      • crown gildong file 명
        • 해당 파일의 소유주를 gildong으로 변경

메모리 관리

  • 기억장치 관리 전략
    • 개념
      • 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용한다.
    • 반입(Fetch) 전략
      • 개념
        • 보조기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할것인지를 결정하는 전략
      • 반입 전략 종류
        • 요구 반입
          • 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
        • 예상 반입
          • 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
    • 배치(Placement) 전략
      • 개념
        • 새로 반입되는 프로그램이나데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
      • 배치 전략 종류
        • 최초 적합: 들어오는 순서에 맞게 배치
        • 최적 적합: 단편화가 가장 적은 방식으로 배치
        • 최악 적합: 단편화가 가장 큰 방식으로 배치
    • 교체(Replacement) 전략
      • 개념
        • 주기억장치의 모든 영역이 이미 사용 중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략
      • 종류
        • FIFO(먼저 들어오는 것을 먼저 교체)
        • OPT(계산 후 먼저 사용될 것을 교체)
        • LRU(최근 사용에 따라 교체)
        • LFU(최근 사용 빈도에 따라 교체)
        • NUR(참조 비트, 변형 비트)
        • SCR(FIFO를 개선)
  • 단편화
    • 개념
      • 주기억장치에 프로그램을 할당하고 반납하는 과정에서 발생하는 사용되지 않는 작은 조각 공간
    • 단편화 종류
      • 내부 단편화
        • 주기억장치 공간이 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남아있는 공간
      • 외부 단편화
        • 주기억장치 공간보다 프로그램이 커서 프로그램이 할당될 수 없어 사용되지 않고 남아있는 공간
    • 단편화 해결 방법
      • 통합 기법
        • 인접해 있다면 두 개의 빈 분할 공간을 하나로 통합해 효율성을 높이는 방법
      • 압축 기법
        • 주기억장치 내 분산되어 있는 단편화 공간들을 통합해 하나의 커다란 빈 공간을 만드는 작업
      • 재배치 기법
        • 압축을 실행하여 이 과정에서 프로그램의 주소를 새롭게 지정해주는 기법

가상기억장치

  • 가상기억장치
    • 개념
      • 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것
    • 블록 분할 방법
      • 페이징 기법
        • 개요
          • 가상기억장치를 모두 같은 크기의 블록으로 편성하여 운용하는 기법
          • 외부 단편화는 발생하지 않으나 내부 단편화는 발생
          • 주소 변환을 위해서 페이지 맵 테이블이 필요
        • 페이지 크기별 비교
          • 페이지 크기가 크다면
            • 기억장소 효율: 감소
            • 단편화: 증가
            • 입출력 시간: 감소
            • 맵 테이블: 감소
          • 페이지 크기가 작다면
            • 기억장소 효율: 증가
            • 단편화: 감소
            • 입출력 시간: 증가
            • 맵 테이블: 증가
      • 세그멘테이션 기법
        • 개요
          • 가상 메모리를 서로 크기가 다른 논리적 단위인 세그먼트로 분할하고 메모리를 할당하는 기법
          • 내부 단편화는 발생하지 않으나 외부 단편화가 발생
          • 주소 변환을 위해서 세그먼트 맵 테이블이 필요
  • 가상기억장치 기타 관리사항
    • 페이지 부재
      • 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상
    • 지역성
      • 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
    • 워킹 셋
      • 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
    • 스래싱
      • 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
      • 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정 중 자주 페이지 부재가 발생함으로써 나타나는 현상으로, 전체 시스템의 성능이 저하됨
  • 페이지 교체 알고리즘
    • FIFO
      • 가장 먼저 메모리에 적재된 페이지를 먼저 교체하는 방법
    • OPT
      • 앞으로 가장 사용되지 않을 페이지를 교체
      • 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘이나 참조 상황을 예측하기 어려움
    • LRU
      • 최근에 가장 오랫동안 사용되지 않은 페이지를 교체
    • LFU
      • 사용 빈도가 가장 적은 페이지를 교체
    • NUR
      • 최근의 사용여부를 확인하기 위해 각 페이지마다 두 개의 비트 사용
      • 참조비트와 변형비트를 이용해서 페이지 교체
    • SCR
      • 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 것으로, FIFO 기법의 단점을 보완하는 기법

프로세스

  • 프로세스
    • 개념
      • 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램
      • 하나 이상의 스레드를 가지고 있다.
  • 스레드
    • 개념
      • 프로세스 내에서 실행되는 흐름의 단위
      • 프로그램은 하나 이상의 프로세스르 가지고 있고, 하나의 프로세스는 반드시 하나 이상의 스레드를 가진다.
  • 메모리상의 프로세스 영역
    • 코드 영역
      • 실행할 프로그램의 코드가 저장되는 영역
      • 개발 코드
    • 데이터 영역
      • 전역변수와 정적변수가 할당되는 부분
    • 힙 영역
      • 프로그래머가 할당/해제하는 메모리 공간
      • 동적으로 할당하는 것
    • 스택 영역
      • 프로그램이 자동으로 사용하는 임시 메모리 영역
      • 지역변수와 함수의 매개변수가 저장되는 영역으로 함수 호출이 완료되면 사라짐
      • 지역변수
  • 프로세스 상태 전이
    • 생성
    • 준비
      • 준비 → 실행 (dispatch)
      • 실행 → 준비 (time run out)
    • 실행
      • 실행 → 대기 (block)
    • 대기
      • 대기 → 준비 (wake up)
    • 종료

프로세스

  • 프로세스
    • PCB
      • 개요
        • 운영체제가 프로세스에 대한 정보를 저장해 놓는 공간
    • 문맥 교환(Context Switching)
      • 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해 이전의 프로세스의 상태를 PCB에 보관하고 또 다른 프로세스의 정보를 PCB에서 읽어 레지스터에 적재하는 과정
      • 문맥 교환은 멀티태스킹이 가능하도록 해준다.
  • 프로세스 스케줄링
    • 스케줄링의 개념
      • 메모리에 올라온 프로세스들 중 어떤 프로세스를 먼저 처리할지 순서를 정하는 것
    • 스케줄링 기법
      • 선점형 기법(Preemptive)
        • 개념
          • 다른 프로세스가 실행 중이더라도 운영중인 CPU를 강제로 뺏을 수 있는 방식
        • 종류
          • SRT(Shortest Remaining Time)
            • 비선점 스케줄링인 SJF 기법을 선점 형태로 변경한 기법
            • CPU 점유 시간이 가장 짧은 프로세스에 CPU를 먼저 할당하는 방식
          • RR
            • 시간단위를 정해서 프로세스를 순서대로 CPU를 할당하는 방식
          • MLQ
            • 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비 상태 큐를 사용하는 기법
          • MLFQ
            • 프로세스 생성 시 가장 높은 우선순위 준비 큐에 등록되며 등록된 프로세스는 FCFS 순서로 CPU를 할당받아 실행되고, 할당된 시간이 끝나면 다음 단계의 준비큐로 이동
            • 단계가 내려갈수록 시간 할당량이 증가하고 가장 하위큐는 RR 방식으로 운영
      • 비선점형 기법(NonPreemptive)
        • 개념
          • 프로세스가 CPU를 점유하고 있다면 이를 빼앗을 수 없는 방식
          • 순서대로 처리되는 공정성 보장
        • 종류
          • FCFS
            • 먼저 도착한 프로세스를 먼저 처리
          • HRN
            • 실행시간이 긴 프로세스가 가질 수 있는 불리함을 보완
            • 우선순위 = (대기시간 + 실행시간)/실행시간
          • SJF
            • 실행시간이 가장 짧은 프로세스에게 CPU를 할당
          • 우선순위
            • 프로세스마다 우선순위를 부여하여 높은 우선순위를 가진 프로세스에게 먼저 자원을 할당
          • 기한부
            • 프로세스에게 일정한 시간을 주어 그 시간 안에 완료하도록 하는 기법
            • 주어진 시간 내에 완료되지 못할 경우, 해당 프로세스는 제거되거나 처음부터 다시 실행되어야 하므로 부담이 매우 큰 기법
      • 기아현상과 에이징 기법
        • 기아현상
          • 시스템에 부하가 많아서 우선순위가 낮은 프로세스가 무한정 기다리는 현상
          • SJF, 우선운위, SRT, MLQ
        • 에이징 기법
          • 기아현상을 해결하기 위한 기법
          • 오랫동안 기다린 프로세스에게 우선 순위를 높여주는 기법
          • HRN, MLFQ

병행 프로세스와 교착상태

  • 병행 프로세스
    • 개념
      • 두 개 이상의 프로세스들이 동시에 존재하며 실행상테에 있는 것
    • 문제점
      • 동시에 2개 이상의 프로세스를 병행 처리하면 한정된 자원 (CPU, 메모리, 디스크, I/O 장치 등)에 대한 사용 순서 등 여러 가지 문제가 발생
    • 문제 해결책
      • 임계구역
        • 공유 자원에 대해서 한 순간에는 반드시 하나의 프로세스만 사용되도록 지정한 영역
      • 상호배제 기법
        • 하나의 프로세스가 공유 메모리 혹은 공유 파일을 사용하고 있을 때 다른 프로세스들이 사용하지 못하도록 배제시키는 제어 기법
      • 동기화 기법
        • 개념
          • 스레드들에게 하나의 자원에 대한 처리 권한을 주거나 순서를 조정해주는 기법
        • 종류
          • 세마포어
            • 각 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법
            • ex) 제어 신호로 작업을 수행 여부를 주는 형식
          • 모니터
            • 프로그래밍 언어 수준에서 동시성을 제어하여 타이밍 오류를 해결한 상호 배제 기법
  • 교착상태
    • 개념
      • 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
    • 교착상태 발생 조건
      • 상호배제(Mutual Exclusion)
        • 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 한다.
      • 점유와 대기(Hold & Wait)
        • 자원을 점유하고 있으면서 다른 프로세스에 할당되어 있는 자원을 추가로 요구하며 대기
      • 비선점 (Non Preemption)
        • 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없음
      • 환형 대기 (Circular Wait)
        • 각 프로세스가 순차적으로 다음 프로세스가 요구하고 있는 자원을 가지고 있는 상태
    • 교착상태 해결 방법
      • 예방 기법
        • 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법
      • 회피 기법
        • 교착 상태가 발생하려고 할 때 교착상태 가능성을 피해가는 방법
        • 주로 은행원 알고리즘을 사용
      • 발견 기법
        • 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것
      • 회복 기법
        • 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것
        • 교착 상태를 일으킨 프로세스를 종료시킴으로 선점을 해제한다.

디스크 스케줄링

  • 디스크 스케줄링
    • 개념
      • 사용할 데이터가 디스크상의 여러 곳에 저장되어 있을 경우, 데이터를 액세스하기 위해 디스크 헤드를 움직이는 경로를 결정하는 기법
    • 디스크 스케줄링 종류
      • FCFS
        • 요청이 들어온 순서대로 처리
      • SSTF
        • 현재 헤드에서 가장 가까운 트랙의 요청을 먼저 처리
      • SCAN
        • 헤드의 진행방향에 있는 요청을 처리하고, 다시 반대방향으로 틀어 반대방향에 있는 요청들을 처리
        • 진행되는 중 요청이 들어오면 해당 요청도 처리
      • C-SCAN
        • 항상 한쪽 방향에서 반대방향으로 처리
        • 바깥쪽에서 안쪽으로 진행하며 요청을 처리한다.
        • 진행되는 과정에서 요청이 들어오면 해당 요청은 처리하지 않는다.
      • LOOK
        • SCAN 기법을 기초로 사용하며, 진행 방향의 마지막 요청을 처리한 후 반대방향으로 처리하는 기법
        • 즉, 끝과 끝까지 처리하는것이 아닌 요청의 마지막을 확인 후 해당 요청의 마지막까지만 처리
      • C-LOOK
        • C-SCAN + LOOK
      • N-STEP SCAN
        • SCAN 기법을 기초로 두고 있으며, 시작하기 전 대기하고 있는 요청들을 우선적으로 처리하고, 처리하는 과정 중에 요청이 들어오는 것들은 이후에 모아서 반대방향으로 진행할 때 서비스한다.
      • 에션바흐(Eschenbach)기법
        • 부하가 매우 큰 항공 예약 시스템을 위해 개발

환경변수와 로그 파일

  • 환경 변수
    • 개념
      • 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임
    • UNIX/Linux 환경변수
      • env, set, printenv 명령어들을 사용하여 환경변수와 그에 따른 모든 값을 볼 수 있다.
  • 로그 파일
    • 개념
      • 시스템의 모든 기록을 담고 있는 데이터
    • 리눅스 로그 종류
      • message: 시스템 로그 파일
      • secure: 보안인증에 관한 메시지 로그파일
      • mailog: 메일 로그 파일
      • xferlog: ftp 로그 파일
      • dmesg: 부팅 시의 시스템 로그
      • wtmp: 시스템에 로그인 기록이 저장되는 파일(전체 로그인 기록) whole-tmp
      • utmp: 현재 로그인 사용자에 대한 기록 user-tmp
      • btmp: 로그인 실패 정보 기록
      • lastlog: 가장 최근 로그인 기록

스토리지

  • 스토리지
    • 개념
      • 컴퓨터에 데이터를 저장하는 저장소의 역할을 수행하는 부품
    • 스토리지 종류
      • DAS(Direct AttachedStorage)
        • PC나 서버에 직접 꽂아서 사용하는 스토리지
      • NAS(Network Attached Storage)
        • 서버와 저장장치가 이더넷 등을 이용해 네트워크에 연결된 방식
      • SAN(Storage Area Network)
        • 서버와 저장장치를 파이버채널 스위치(광채널)로 연결한 고속 데이터 네트워크
        • 전용 파이버채널 스위치(광채널)를 둠으로써 빠른 속도의 연결을 유지한다.
  • RAID(Redundant Array of Inexpensive Disk)
    • 개념
      • 복수의 하드디스크를 하나의 드라이브와 같이 인식하고 표기한다.
      • 하드디스크 하나만 두기에 불안한 점을 해결하기 위한 방법
    • RAID 구성
      • 스트라이핑
        • 논리적으로 연속된 데이터들이 물리적으로 여러 개의 디스크에 RR 방식으로 저장되는 형태
      • 미러링
        • 데이터를 그대로 복제하는 것으로 신뢰성 및 가용성 확보를 위해 사용됨
    • RAID 형태
      • RAID-0
        • 빠른 데이터 입출력을 위해 스트라이핑을 사용하는 방식으로, 디스크의 모든 용량을 사용.
        • 스트라이핑 방식을 사용해 모든 용량을 사용하고, 하나의 하드디스크가 고장 났을 경우 데이터를 읽어버리게 된다.
      • RAID-1
        • 두 개 이상의 디스크를 미러링을 통해 하나의 디스크처럼 사용한다.
        • 완전히 동일하게 데이터를 복제하기 때문에 가용성이 절반
      • RAID-2
        • 오류 정정을 위한 해밍코드를 사용
      • RAID-3
        • 하나의 디스크는 패리티 정보를 위해 사용하고 나머지는 디스크에 데이터를 균등하게 분산 저장
      • RAID-4
        • RAID-3과 같이 패리티 정보를 사용하지만 블록 단위로 분산 저장한다.
      • RAID-5
        • 3개 이상의 디스크를 붙여서 하나의 디스크처럼 사용하고 각각의 디스크에 패리티 정보를 가지고 있는 방식
      • RAID-6
        • 하나의 패리티를 두 개의 디스크에 분산 저장