Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

운영체제 11주차 정리 - 2 본문

2-1/운영체제

운영체제 11주차 정리 - 2

김브래 2023. 5. 12. 18:26

입출력시스템
입출력 버스 구조 및 버퍼링


입출력 버스 구조


초기 구조

- 모든 장치가 하나의 버스로 연결
- CPU가 입출력장치로부터 데이터를 가져오기 위해 폴링(polling) 방식 이용

입출력 제어기 적용 구조

- 메인 버스와 입출력 버스의 2개의 채널로 구성
• 메인 버스 : 고속으로 작동하는 CPU와 메모리가 사용
• 입출력 버스 : 주변장치가 사용

 

- CPU와 메모리의 작업이 느려지는 것을 막을 수 있음
- 단, 주변장치들은 모두 늦은 속도와 동기를 맞춤

입출력 버스를 분리

- 입출력 속도를 고려하여 버스를 분리 후 적용


버퍼링


버퍼(buffer)

- 속도가 다른 두 장치 간 통신 시 대시 기간을 단축하기 위해 임시로 기록하기 위한 공간
- 장치의 일기/쓰기의 횟수를 감소 = 성능 향상
- 외부 저장장치를 포함한 대부분의 장치들은 버퍼 기술을 사용

버퍼의 종류

단일(Single) 버퍼
• 버퍼의 내용이 처리되는 동안, 프로세서는 대기상태에 진입하는 문제 발생


다중(Multiple) 버퍼
• 버퍼의 대기상태를 해결하기 위해, 여러 개의 버퍼를 둠 = 비용 증가

안전한 하드웨어 제거(Plug Out)

- 운영체제는 버퍼가 다 차지 않으면 버퍼가 다 찰 때까지 또는 지정된 시간(timeout) 동안 대기
- 대기상태에 따른 자료 전송이 지연
- 지연되는 상태에서 저장장치를 제거하면, 해당 데이터의 문제가 발생하게 됨

- 하드웨어를 안전하게 제거하기 위해서는 버퍼가 다 차지 않아도 강제로 버퍼의 내용을 저장장치로
옮기기 위한 수동 명령 필요(플러시: flush)

리눅스의 관련 명령

 

명령어: sync
• 버퍼내 존재하는 모든 내용을 블록장치에 기록하기 위한 명령


명령어: umount [장치명]
• 파일시스템에서 탈거하기 위한 명령어


캐싱


캐싱(Caching)

- 명령어와 데이터를 캐시에 일시적으로 저장
- 프로세서와 주 기억장치 간의 접근 속도 차이를 줄임  컴퓨터 성능 향상 방법
- 캐싱과 버퍼링은 서로 기능이 다름


버퍼와의 차이점
• 캐시는 자주 사용할 자료를 미리 복사하여 저장 = 빠른 메모리(SDRAM) 영역
• 캐시 : 데이터의 복사본을 저장하는 장소
• 버퍼 : 데이터가 위치하는 유일한 장소


스풀링


스풀링(Spooling)

- 다수의 프로세스가 하나의 입출력 장치에 처리 기능을 요청할 수 있음(예: 프린팅)
- 운영체제가 요청 기능을 내부적으로 큐(Queue)로 관리하여 순차적으로 대신하여 처리
- 프로세스는 운영체제에 기능을 맡기고 다른 일을 수행할 수 있음

'2-1 > 운영체제' 카테고리의 다른 글

운영체제 12주차 정리 - 2  (0) 2023.05.21
운영체제 12주차 정리 - 1  (0) 2023.05.21
운영체제 11주차 정리 - 1  (0) 2023.05.12
운영체제 10주차 정리 - 2  (0) 2023.05.05
운영체제 10주차 정리 - 1  (0) 2023.05.05