운영체제
- 기억장치
- 개념
- 데이터, 프로그램, 연산의 중간 결과 등을 일시적 또는 영구적으로 저장하는 장치
- 기억장치의 종류
- 레지스터
- 중앙처리장치 내부에 존재하는 기억장치
- 작은 용량, 빠른 속도
- 캐시 메모리
- 중앙처리장치가 주기억장치에 접근할 때 속도 차이를 줄이기 위해 사용
- 주기억장치
- 중앙처리장치가 직접 데이터를 읽고 쓸 수 있는 장치
- 종류
- ROM(Read Only Memory)
- 읽기만 가능한 읽기 전용 메모리
- 비휘발성 메모리
- REM(Random Access Memory)
- 기억장소를 임의로 접근할 수 있는 메모리
- 읽고 쓰기가 가능한 휘발성 메모리
- SRAM
- 전원이 공급되는 중에 내용이 사라지지 않음(캐시 메모리로 사용)
- DRAM
- 일반적인 주기억장치로, 일정 시간이 지나면 내용이 사라지는 RAM
- SRAM
- ROM(Read Only Memory)
- 보조기억장치
- 주기억장치에 비해 접근 시간은 느리지만 기억 용량이 크다
- 연관 메모리
- 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)
- 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용
- 커널(Kernel)
- 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는 라이선스상 애플 기기 이외의 기기에서는 구동시킬 수 없다.
- 개요
- 윈도우(Window)
- 개념
- 운영체제의 명령어
- 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
- chmode 0751 file명
- 파일 확인 방법
- Linux, Unix 파일 접근 권한 관리
- umask(접근 권한 마스크)
- 개요
- 앞으로 만들어질 파일 권한에 대한 설정
- UNIX에서는 파일은 666권한, 디렉터리는 777권한이 기본.
- umask가 022인 파일의 경우엔 아래와 같이 권한을 가질 수 있다.
- 소유주: rwx
- 그룹: r—
- 이외: r—
- umask로 지정한 8진수는 새로 만들어진 파일에서 제거될 권한을 명시
- 개요
- crown(소유주 변경)
- 개요
- crown gildong file 명
- 해당 파일의 소유주를 gildong으로 변경
- crown gildong file 명
- 개요
메모리 관리
- 기억장치 관리 전략
- 개념
- 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용한다.
- 반입(Fetch) 전략
- 개념
- 보조기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할것인지를 결정하는 전략
- 반입 전략 종류
- 요구 반입
- 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
- 예상 반입
- 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
- 요구 반입
- 개념
- 배치(Placement) 전략
- 개념
- 새로 반입되는 프로그램이나데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
- 배치 전략 종류
- 최초 적합: 들어오는 순서에 맞게 배치
- 최적 적합: 단편화가 가장 적은 방식으로 배치
- 최악 적합: 단편화가 가장 큰 방식으로 배치
- 개념
- 교체(Replacement) 전략
- 개념
- 주기억장치의 모든 영역이 이미 사용 중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략
- 종류
- FIFO(먼저 들어오는 것을 먼저 교체)
- OPT(계산 후 먼저 사용될 것을 교체)
- LRU(최근 사용에 따라 교체)
- LFU(최근 사용 빈도에 따라 교체)
- NUR(참조 비트, 변형 비트)
- SCR(FIFO를 개선)
- 개념
- 개념
- 단편화
- 개념
- 주기억장치에 프로그램을 할당하고 반납하는 과정에서 발생하는 사용되지 않는 작은 조각 공간
- 단편화 종류
- 내부 단편화
- 주기억장치 공간이 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남아있는 공간
- 외부 단편화
- 주기억장치 공간보다 프로그램이 커서 프로그램이 할당될 수 없어 사용되지 않고 남아있는 공간
- 내부 단편화
- 단편화 해결 방법
- 통합 기법
- 인접해 있다면 두 개의 빈 분할 공간을 하나로 통합해 효율성을 높이는 방법
- 압축 기법
- 주기억장치 내 분산되어 있는 단편화 공간들을 통합해 하나의 커다란 빈 공간을 만드는 작업
- 재배치 기법
- 압축을 실행하여 이 과정에서 프로그램의 주소를 새롭게 지정해주는 기법
- 통합 기법
- 개념
가상기억장치
- 가상기억장치
- 개념
- 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것
- 블록 분할 방법
- 페이징 기법
- 개요
- 가상기억장치를 모두 같은 크기의 블록으로 편성하여 운용하는 기법
- 외부 단편화는 발생하지 않으나 내부 단편화는 발생
- 주소 변환을 위해서 페이지 맵 테이블이 필요
- 페이지 크기별 비교
- 페이지 크기가 크다면
- 기억장소 효율: 감소
- 단편화: 증가
- 입출력 시간: 감소
- 맵 테이블: 감소
- 페이지 크기가 작다면
- 기억장소 효율: 증가
- 단편화: 감소
- 입출력 시간: 증가
- 맵 테이블: 증가
- 페이지 크기가 크다면
- 개요
- 세그멘테이션 기법
- 개요
- 가상 메모리를 서로 크기가 다른 논리적 단위인 세그먼트로 분할하고 메모리를 할당하는 기법
- 내부 단편화는 발생하지 않으나 외부 단편화가 발생
- 주소 변환을 위해서 세그먼트 맵 테이블이 필요
- 개요
- 페이징 기법
- 개념
- 가상기억장치 기타 관리사항
- 페이지 부재
- 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상
- 지역성
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
- 워킹 셋
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 스래싱
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정 중 자주 페이지 부재가 발생함으로써 나타나는 현상으로, 전체 시스템의 성능이 저하됨
- 페이지 부재
- 페이지 교체 알고리즘
- FIFO
- 가장 먼저 메모리에 적재된 페이지를 먼저 교체하는 방법
- OPT
- 앞으로 가장 사용되지 않을 페이지를 교체
- 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘이나 참조 상황을 예측하기 어려움
- LRU
- 최근에 가장 오랫동안 사용되지 않은 페이지를 교체
- LFU
- 사용 빈도가 가장 적은 페이지를 교체
- NUR
- 최근의 사용여부를 확인하기 위해 각 페이지마다 두 개의 비트 사용
- 참조비트와 변형비트를 이용해서 페이지 교체
- SCR
- 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 것으로, FIFO 기법의 단점을 보완하는 기법
- FIFO
프로세스
- 프로세스
- 개념
- 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램
- 하나 이상의 스레드를 가지고 있다.
- 개념
- 스레드
- 개념
- 프로세스 내에서 실행되는 흐름의 단위
- 프로그램은 하나 이상의 프로세스르 가지고 있고, 하나의 프로세스는 반드시 하나 이상의 스레드를 가진다.
- 개념
- 메모리상의 프로세스 영역
- 코드 영역
- 실행할 프로그램의 코드가 저장되는 영역
- 개발 코드
- 데이터 영역
- 전역변수와 정적변수가 할당되는 부분
- 힙 영역
- 프로그래머가 할당/해제하는 메모리 공간
- 동적으로 할당하는 것
- 스택 영역
- 프로그램이 자동으로 사용하는 임시 메모리 영역
- 지역변수와 함수의 매개변수가 저장되는 영역으로 함수 호출이 완료되면 사라짐
- 지역변수
- 코드 영역
- 프로세스 상태 전이
- 생성
- 준비
- 준비 → 실행 (dispatch)
- 실행 → 준비 (time run out)
- 실행
- 실행 → 대기 (block)
- 대기
- 대기 → 준비 (wake up)
- 종료
프로세스
- 프로세스
- PCB
- 개요
- 운영체제가 프로세스에 대한 정보를 저장해 놓는 공간
- 개요
- 문맥 교환(Context Switching)
- 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해 이전의 프로세스의 상태를 PCB에 보관하고 또 다른 프로세스의 정보를 PCB에서 읽어 레지스터에 적재하는 과정
- 문맥 교환은 멀티태스킹이 가능하도록 해준다.
- PCB
- 프로세스 스케줄링
- 스케줄링의 개념
- 메모리에 올라온 프로세스들 중 어떤 프로세스를 먼저 처리할지 순서를 정하는 것
- 스케줄링 기법
- 선점형 기법(Preemptive)
- 개념
- 다른 프로세스가 실행 중이더라도 운영중인 CPU를 강제로 뺏을 수 있는 방식
- 종류
- SRT(Shortest Remaining Time)
- 비선점 스케줄링인 SJF 기법을 선점 형태로 변경한 기법
- CPU 점유 시간이 가장 짧은 프로세스에 CPU를 먼저 할당하는 방식
- RR
- 시간단위를 정해서 프로세스를 순서대로 CPU를 할당하는 방식
- MLQ
- 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비 상태 큐를 사용하는 기법
- MLFQ
- 프로세스 생성 시 가장 높은 우선순위 준비 큐에 등록되며 등록된 프로세스는 FCFS 순서로 CPU를 할당받아 실행되고, 할당된 시간이 끝나면 다음 단계의 준비큐로 이동
- 단계가 내려갈수록 시간 할당량이 증가하고 가장 하위큐는 RR 방식으로 운영
- SRT(Shortest Remaining Time)
- 개념
- 비선점형 기법(NonPreemptive)
- 개념
- 프로세스가 CPU를 점유하고 있다면 이를 빼앗을 수 없는 방식
- 순서대로 처리되는 공정성 보장
- 종류
- FCFS
- 먼저 도착한 프로세스를 먼저 처리
- HRN
- 실행시간이 긴 프로세스가 가질 수 있는 불리함을 보완
- 우선순위 = (대기시간 + 실행시간)/실행시간
- SJF
- 실행시간이 가장 짧은 프로세스에게 CPU를 할당
- 우선순위
- 프로세스마다 우선순위를 부여하여 높은 우선순위를 가진 프로세스에게 먼저 자원을 할당
- 기한부
- 프로세스에게 일정한 시간을 주어 그 시간 안에 완료하도록 하는 기법
- 주어진 시간 내에 완료되지 못할 경우, 해당 프로세스는 제거되거나 처음부터 다시 실행되어야 하므로 부담이 매우 큰 기법
- FCFS
- 개념
- 기아현상과 에이징 기법
- 기아현상
- 시스템에 부하가 많아서 우선순위가 낮은 프로세스가 무한정 기다리는 현상
- SJF, 우선운위, SRT, MLQ
- 에이징 기법
- 기아현상을 해결하기 위한 기법
- 오랫동안 기다린 프로세스에게 우선 순위를 높여주는 기법
- HRN, MLFQ
- 기아현상
- 선점형 기법(Preemptive)
- 스케줄링의 개념
병행 프로세스와 교착상태
- 병행 프로세스
- 개념
- 두 개 이상의 프로세스들이 동시에 존재하며 실행상테에 있는 것
- 문제점
- 동시에 2개 이상의 프로세스를 병행 처리하면 한정된 자원 (CPU, 메모리, 디스크, I/O 장치 등)에 대한 사용 순서 등 여러 가지 문제가 발생
- 문제 해결책
- 임계구역
- 공유 자원에 대해서 한 순간에는 반드시 하나의 프로세스만 사용되도록 지정한 영역
- 상호배제 기법
- 하나의 프로세스가 공유 메모리 혹은 공유 파일을 사용하고 있을 때 다른 프로세스들이 사용하지 못하도록 배제시키는 제어 기법
- 동기화 기법
- 개념
- 스레드들에게 하나의 자원에 대한 처리 권한을 주거나 순서를 조정해주는 기법
- 종류
- 세마포어
- 각 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법
- ex) 제어 신호로 작업을 수행 여부를 주는 형식
- 모니터
- 프로그래밍 언어 수준에서 동시성을 제어하여 타이밍 오류를 해결한 상호 배제 기법
- 세마포어
- 개념
- 임계구역
- 개념
- 교착상태
- 개념
- 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
- 교착상태 발생 조건
- 상호배제(Mutual Exclusion)
- 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 한다.
- 점유와 대기(Hold & Wait)
- 자원을 점유하고 있으면서 다른 프로세스에 할당되어 있는 자원을 추가로 요구하며 대기
- 비선점 (Non Preemption)
- 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없음
- 환형 대기 (Circular Wait)
- 각 프로세스가 순차적으로 다음 프로세스가 요구하고 있는 자원을 가지고 있는 상태
- 상호배제(Mutual Exclusion)
- 교착상태 해결 방법
- 예방 기법
- 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법
- 회피 기법
- 교착 상태가 발생하려고 할 때 교착상태 가능성을 피해가는 방법
- 주로 은행원 알고리즘을 사용
- 발견 기법
- 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것
- 회복 기법
- 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것
- 교착 상태를 일으킨 프로세스를 종료시킴으로 선점을 해제한다.
- 예방 기법
- 개념
디스크 스케줄링
- 디스크 스케줄링
- 개념
- 사용할 데이터가 디스크상의 여러 곳에 저장되어 있을 경우, 데이터를 액세스하기 위해 디스크 헤드를 움직이는 경로를 결정하는 기법
- 디스크 스케줄링 종류
- FCFS
- 요청이 들어온 순서대로 처리
- SSTF
- 현재 헤드에서 가장 가까운 트랙의 요청을 먼저 처리
- SCAN
- 헤드의 진행방향에 있는 요청을 처리하고, 다시 반대방향으로 틀어 반대방향에 있는 요청들을 처리
- 진행되는 중 요청이 들어오면 해당 요청도 처리
- C-SCAN
- 항상 한쪽 방향에서 반대방향으로 처리
- 바깥쪽에서 안쪽으로 진행하며 요청을 처리한다.
- 진행되는 과정에서 요청이 들어오면 해당 요청은 처리하지 않는다.
- LOOK
- SCAN 기법을 기초로 사용하며, 진행 방향의 마지막 요청을 처리한 후 반대방향으로 처리하는 기법
- 즉, 끝과 끝까지 처리하는것이 아닌 요청의 마지막을 확인 후 해당 요청의 마지막까지만 처리
- C-LOOK
- C-SCAN + LOOK
- N-STEP SCAN
- SCAN 기법을 기초로 두고 있으며, 시작하기 전 대기하고 있는 요청들을 우선적으로 처리하고, 처리하는 과정 중에 요청이 들어오는 것들은 이후에 모아서 반대방향으로 진행할 때 서비스한다.
- 에션바흐(Eschenbach)기법
- 부하가 매우 큰 항공 예약 시스템을 위해 개발
- FCFS
- 개념
환경변수와 로그 파일
- 환경 변수
- 개념
- 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임
- 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)
- 서버와 저장장치를 파이버채널 스위치(광채널)로 연결한 고속 데이터 네트워크
- 전용 파이버채널 스위치(광채널)를 둠으로써 빠른 속도의 연결을 유지한다.
- DAS(Direct AttachedStorage)
- 개념
- 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
- 하나의 패리티를 두 개의 디스크에 분산 저장
- RAID-0
- 개념
'정보처리기사' 카테고리의 다른 글
[정보처리기사] C 언어 정리 (0) | 2023.07.10 |
---|---|
[정보처리기사] 네트워크 (0) | 2023.07.08 |
[정보처리기사] 데이터베이스 구축 (2) (0) | 2023.07.07 |
[정보처리기사] 데이터베이스 구축 (1) (0) | 2023.07.06 |
[정보처리기사] 소프트웨어 구축 (7) (0) | 2023.07.06 |