일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- #크랙미3번
- GraphQL
- springframework
- #보안뉴스
- #크랙미 5번
- #크랙미2번
- #abex크랙미
- 리버싱
- Easy
- java8
- #크랙미
- #파밍
- leetcode
- #심플즈 크랙미
- #심플즈
- #고클린
- #abex
- #크랙미 9번
- #리버싱
- Spring
- #abex크랙미4번
- #크랙미4번
- java
- #크랙미 10번
- #보안이슈
- Today
- Total
Halo World
버퍼링과 스풀링 본문
| 공통점
버퍼링과 스풀링 모두 CPU의 처리속도와 입출력 장치의 속도 차이를 보완하기 위한 방법
| 차이점
1) 버퍼링
- 버퍼링은 빠른 CPU와 상대적으로 속도가 느린 입출력장치 사이에 효율을 높이기 위해서 사용
- CPU와 입출력 장치를 항상 활용하고자 함
- 주기억장치 내에 버퍼를 둠으로써 입력시에는 CPU가 버퍼의 내용을 가져다 쓰고 입력장치가 버퍼에 내용을 기록
- 출력시에는 CPU가 연산된 결과를 버퍼에 저장하고, 출력장치는 버퍼의 내용을 꺼내서 출력
- 한 레코드가 읽혀 CPU가 그것에 대해 연산을 시작함과 동시에 입출력 장치는 곧 다음에 필요한 레코드를 미리 읽어서 주기억장치에 저장함으로써 CPU가 필요로하는 레코드를 기다림 없이 전달해 줄 수 있음
- 주기억 장치를 버퍼로 사용
- 버퍼 : 파일로부터 데이터 전송을 하여 저장하기 위한 주기억장치 공간으로 비교적 빠른 CPU과 느린 보조기억장치 사이의 완충역할
2) 스풀링
- 스풀링은 디스크의 일부를 스풀공간이라 부르는 매우 큰 버퍼처럼 사용하는 방식으로 CPU와 입출력장치 사이의 속도 차이를 해소하기 위해 사용
- 디스크에 수록된 파일을 미리 입력 장치로부터 읽어들이고, 출력장치가 그것을 받을 수 있을 때까지 일시적으로 저장함으로써, 한 작업의 출력을 프린터를 통해서 인쇄하는 동안에 다른 작업의 입력을 읽어들일 수 있으며, 이 시간 동안 또 다른 작업이 수행될 수 있다.
- 즉, 많은 작업의 계산과 입출력을 중복할 수 있다.
- 작업 풀(Job Pool)이라는 중요한 데이터 구조를 제공하는데, 이는 디스크에 읽혀져 실행을 위해 대기하고 있는 여거 개의 작업을 수행할 수 있도록 준비해 주고, 디스크에 저장된 작업들은 프로세서 이용률을 향상시키기 위해 OS가 다음에 수행할 작업을 선택할 수 있도록 해줌
- 디스크를 버퍼로 사용
- 스풀 : 일정한 기억장소로 하드디스크의 공간을 스풀이라고 함
[참고]
http://m.cafe.daum.net/jeenoh/1KSf/12?q=D_YGnwgdD8Nqc0&http://proneer.tistory.com/entry/%EB%B2%84%ED%8D%BC%EB%A7%81%EA%B3%BC-%EC%8A%A4%ED%92%80%EB%A7%81