본문 바로가기
데이터베이스

데이터베이스 입출력

by MiaCoder 2024. 6. 15.

1. 입출력 시스템

모니터 프린터 같은 하드웨어 장치 뿐만 아니라 입출력 모듈까지 포함한다.

 

입출력 모듈 : 내부 저장장치와 물리적 입출력 장치 사이의 이진 정보 전송방법 제공

 

입출력 모듈이 입출력 관련 복잡한 일을 하면 입출력 프로세사가 됨

단순히 입출력 돤련 일만 라면 입출력 제어기가 됨

 

 연결이 매우 다양하기 때문에 시스템 버그가 아니라 모듈로 별로 존재

 

2. 입출력장치의 기능

입출력 고나련 다양한 종작을 제어

버퍼링을 통해 전송속도 조정

오류검출

 

3, 프로그램 제어 입출력 방법

프로세서 내부의 입출력 데이터와 주소 레지스터를 입출력 모델과 연결한 형태

레지스터와 버스 사이에서 데이터를 직접 전송

가장 간단

 

프로그램 제어 입출력 방법

풀링

상태 비트를 검사해 프로세서보다 상대적으로 느린 입출력 장치 상태를 확인

순환 횟수가 데이터 전송 성능에 영향

빈번할 시 검사시간 길어짐, 너무 적으면 입출력 장치가 쉼

 

4. 인터럽트 기반 입출력 장치

입출력 장치의 작업이 끝나면 결과를 메모리에 저장하고 인터럽트를 발생시켜 프로세서에 알림

프로세서는 입출력 명령을 전송

프로세서가 직접 확인하는 대신 입출력 장치가 직 접 신호를 주는 것

불규칙적이고 빠른 응답이 필요할 때 적합

 

5. DMA 입출력

프로세서의 도움 없이 메인 메모리를 직접 제어하여 데이터를 전송하는 형태

직접 메모리 엑세스

DMA제어기가 있어 프로세서가 입출력을 요청하면 입출력모듈에 명령을 내려 처리함

대용량 데이터 전송에 적합함

 

6. 입출력 채널을 이용한 입출력

입추렭 채널

프로세서의 명령으로 입출력을 제어하는 장치

채널 서브 시스템은 프로세서오 ㅏ메인 메모리의 액세스 조정

채널은 메모리에 직접 액세스 

제어장치는 채널과 통신, 장치를 제어하는 기능

 입출력 동작을 완전 제어(DMA의 확장)

 

7. 채널의 종류

 

셀렉터 :  채널 장치의 입출력을 종료할 때 까지 다른 장치를 실행하지 않음

멀치플렉서 : 여러장치의 출력 관리

블록 멀티 플렉서 : 블록 형태로 여러 장치와 소통(장점만 가져옴)

 

8. 디스트의 구조

디스크 드라이버 : 구동모터 암 아동 장치 등 하드웨어적 부분

프로세서 : 논리적 신호작용

디스크 제어기  프로세서의 명령을 받아 디스크 드라이버를 동작

 

9. 디스크 엑세스 시간의 개념

전송시간 : 디스크와 메인 메모리 간의 섹터를 주고 받는 시간

회전 지연시간 : 원하는 섹터가 헤드까지 오는 시간(디스트가 움직이는 시간)

탐색 시간 : 헤드가 원하는 위치까지 앞뒤로 옯겨 가는 시간(암이 움직이는 시간)

 

계산

이동 디스크 : 탐색시간 + 회전시간 + 전송시간

고정헤드 디스크 : 회전시간 + 전송시간 (암이 움직이지 않아 탐색이 없음)

 

10. 디스크 스케줄링

입출력 장치가 필요한 정보 : 입력/출력인지, 디스크 주소, 메모리 주소, 전송할 정보총량

 

처리량 : 시간당 처리한 요청수

탐색 시간 : 헤드 이동시간

평균 반응시간 : 요청 후 서비스 할 때까지 시간

반응시나 변화 : 예측 정도

 

11. FCFS 스케줄링

도착순서에 따라 처리함

공정성 유지

정보가 흩어져 있을 때 처리량이 낮아지는 단점

 

12. SSTF 최소탐색시간 우선 스케줄링

서비스 시간을 매우 줄임

전 헤드 위치와 가까운 것 우선 처리

기아 발생 가능성

 

13. 스캔 스케줄링 SCAN

입출력 헤드가 한쪽 끝에서 다른 끝으로 이동하며 한쪽 끝에 도달했을 때는 역방향으로 이동하며 트랙 처리

한쪽방향으로만 쭉가면서 공정성을 어느정도 유지

 

14. 순환스캔 스케줄링 Circle-SCAN

대기시간을 좀 더 균등하게 처리하기 위해 한쪽 끝에 다다르면다시 처음로 와서 요청을 처리함

반응시간 변화를 줄임

 

15. 룩 스케줄링 LOOK

순환스캔과 동일한 방법이나 디스크 끝까지 이동하는 것이 아닌 더 이상 요청이 없을 때 까지만 이동. 

룩은 진행방향으로 움직이기 전 먼저 요청이 있느지검사하고 진행하는 것

 

16. 최소 지연시간우선 SLTF

모든 요청 중 회전지연시간이 가장 짧은 요청 부터 처리

특정 실린더에 도착했을 때 해당 실린더 내 여러 요청이 대기하고 있다면, 헤드는 더 이상 움직이지 않고 모든 요청을 우선처리함

가장 가까운 섹터 요청을 우선 처리

 

17. 최소 위치 결정 시간 우선 SPTF

가장 짧은 위치 결정 시간 즉 탐색시간 - 회전시간이가 가장 짧은 요청을 다음 대상으로 선택

처리량은 많고 평균 반응시간을 짧음

가장 안쪽 가장 바깥쪽 실린더의 요청이 무기한 연장될 가능성

 

에센바흐 방법

헤드는 C스캔처럼 진행, 요청고 관계없이 트랙이 한바퀴 회전할 동안 요청을 처리 ,재배열

 

SSTF가 일반적 SCAN, C-SCAN은 디스크를 많이 사용할 때 적합

스케줄링 알고리즘 성능은 요청의 형태와 수에 의해 결정됨

 

18. RAID

운영체제의 기술로 여러대의 물리 디스크를 하나의 논리디스크로 인식하는 기술

 

19. RAID계층

 

RAID 0 스트라이핑

데이터를 논리적 디스크 배열 하나에 일정한 크기로 나누어 분산저장하는 방법

섹터 또는 스트립으로 나눠 순환 할당

다수의 입출력 요구를 병렬적으로 처리함

RAID컨트롤러에서 디스크를 여러개로 나누어 쓰고 읽음

 

 RAID 1 미러링

RAID0 배열 내 모든 디스트에 동일한 데이터가 있는 미러디스크를 추가함

읽기에 대한 선능 증가

두 스트랩 모두 갱신해야함

쓰기는 일반과 동일

중요한 파일에 적합함

 

RAID 0 + 1

스트라이핑 + 미러링

최소 4개의 디스크 필요

쓰기속도는 기존과 동일

읽기속도는 빠름

디스크 오류 발생 시 복구 가능

중대형 서버에서 사용