4대자원관리(입출력장치) 201440117 박정환.

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

컴퓨터시스템구조론 제 7 장 입력 / 출력 (Input/Output : I/O). 7.1 외부 장치들 (External Devices)  I/O 모듈에 접속  종류 인간이 읽을 수 있는 장치 : 비디오 단말기, 프린터, 등 기계가 읽을 수 있는 장치 : 자기 디스크,
컴퓨터는 어떻게 동작?.
컴퓨터와 인터넷.
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
5 컴퓨터 시스템의 구성과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
제 2 장 운영 체제 시스템 Section 1 초기 운영 체제 Section 2 운영 체제의 종류
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
운영체제 4장 요약정리(CPU 스케줄링) 2A 박훈.
임베디드 시스템.
제 3장 컴퓨터 시스템의 구조.
System Programming 제1장 배경지식 시스템 프로그래밍.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Lecture #9 제7장 시스템 버스, I/O 및 인터럽트.
11 장 LAN 기본 개념과 Ethernet LAN
07. 디바이스 드라이버의 초기화와 종료 김진홍
제10강 중앙처리장치 1.
PC 정비 양산시.
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
4. LAN의 배선체계 (3장. LAN: Local Area Network)
PSW : PROGRAM STATUS WORD
제 1장. 멀티미디어 시스템 개요.
1장 컴퓨터 시스템의 개요 - 컴퓨터의 기본 시스템(프로세서)을 이해한다. - 명령어 실행 주기를 알아본다.
1장 운영체제 2-C반 운영체제 박소라.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
멀티미디어시스템 제 6 장. 운영체제 IT응용시스템공학과 김 형 진 교수.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
컴퓨터시스템 구조 Computer System Architecture.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제2강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
제1장 소 개 제2장 시스템 구조.
제 1 장 운영 체제의 개요 Section 1 운영 체제의 개념 Section 2 운영 체제의 구성과 기능
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
제4강 처리장치 1.
13장 CTC and DMA Slide 1 (of 10).
9 입출력 시스템과 디스크 관리.
LabVIEW WiznTec 주임 박명대 1.
ARM Development Suite v1.2
“사람과 컴퓨터” 이 점 숙 컴퓨터와 소프트웨어 “사람과 컴퓨터” 이 점 숙
1 컴퓨터 시스템 소개.
ATmega128의 특징 아이티즌 기술연구소
운영체제 1장 이성연.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
제 3 장 운영체제와 입출력 방식 Section 1 입출력 기능 Section 2 입출력 방식 Section 3 입출력 버퍼링
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
3과목 운영체제 강사 이 민 욱.
논리회로 설계 및 실험 4주차.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
TVM ver 최종보고서
System Security Operating System.
AdcRead API 함수 분석 마이크로프로세서.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
제 4 장 Record.
Installation Guide.
06. 디바이스의 등록과 해제 김진홍
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
2. 프로세스 B 안우진 - 운영체제 -.
Presentation transcript:

4대자원관리(입출력장치) 201440117 박정환

개요 정의(입출력장치) 입출력 기능 블록단위 전송기능 자원의 공유 기능 입출력 방식 직접 입출력 간접 입출력

입출력장치란? 컴퓨터와 사용자 사이의 정보를 교환할 수 있는 장치의 집합을 말한다 컴퓨터로 데이터를 처리하기 위해서는 우선 처리할 데이터를 입력장치를 통하여 컴퓨터로 입력시켜야 하고, 컴퓨터가 처리한 결과의 데이터는 출력장치를 통하여 사용자가 읽을 수 있는 형태로 다시 되돌려야 한다. 입력장치는 카드판독기, 광학식 문자판독기(OCR), 광학마크판독기(OMR), 바코드인식기, 자기잉크문자인식기, 키보드, 스캐너, 음성입력장치, 라이트펜, 터치스크린, 조이스틱, 마우스, 디지타이저 등이 있고 출력장치는 프린터, CRT, 음성합성장치, 플로터, 음성응답장치

입출력 기능 장치 관리자: 데이터 입출력을 위한 모든 컴퓨터의 입출력 장치를 제어. 입출력장치의 할당(allocation), 분리(isolation), 공유(sharing) 기법을 관리, 입출력 장치와 시스템과의 인터페이스 기능을 제공

입출력 기능 블록단위 전송기능 신경 쓰지 않고 입출력 할 수 있는 기능 장치 관리자의 기능 ● 주변장치와 기억장치간의 블록단위 전송기능 ● 주변장치와 인터페이스를 통한 논리적, 물리적 특성의 일치 기능 ● 자원의 공유기능 블록단위 전송기능 ● 에러의 발견 및 교정기능 ● 컴퓨터 본체와 주변장치간의 인터페이스 담당기능 ● 일반 사용자나 프로그래머가 하드웨어적인 부분을 신경 쓰지 않고 입출력 할 수 있는 기능

입출력 기능 자원의 공유 기능 여러 프로세스간에 자원을 할당하고 회수하는 등 자원관리를 담당. 멀티플렉싱에 의해 한 대의 입출력 채널을 서로간에 공유. 보조기억 장치들은 스풀링 개념에 의해 다수의 프로세스들 의해 공유. 다중 프로그래밍이나 다중처리를 위해서도 CPU나 주기억장치 등은 여러 프로세스에 의해서 공유.

입출력 방식 컴퓨터 입출력 방식 인터럽트 방식 입출력 입출력 채널(I/O channel) ● 직접 입출력 : 폴링 방식 입출력. 인터럽트 방식 입출력 ● 간접 입출력 : 직접 기억 장치 액세스(DMA) 입출력 채널(I/O channel)

입출력 방식 직접 입출력 폴링 방식 직접 입출력 CPU가 프로그램 수행 중 입출력 명령을 만나면, 직접 CPU가 나서서 입출력을 실행하는 방법. 입출력 연산의 종료시점을 결정하고 주 기억 장치와 장치 제어기 간의 데이터 전송을 CPU가 책임지는 방법. 입출력장치가 연산을 종료하는 시점을 결정하기 위해 장치 구동기 소프트웨어가 장치 제어기 상태 레지스터를 끊임없이 폴링(polling)

입출력 방식 직접 입출력 폴링 방식 직접 입출력 데이터 출력 시

입출력 방식 직접 입출력 폴링 방식 직접 입출력 데이터 출력 시 응용 프로세스가 쓰기 write() 연산을 요청. 장치 구동기는 장치가 쉬고 있는지를 결정하기 위해서 상태 레지스터를 검사. 만약 장치가 바쁘면 장치 구동기는 장치가 유휴상태(idle status)가 되기를 기다림. 장치 구동기는 사용자 기억장치 공간에서 장치 제어기의 데이터 레지스터로 데이터를 복사. 장치 구동기는 쓰기 write() 명령을 제어기 명령레지스터에 저장하여 장치를 시작시킴. 장치 구동기는 장치가 그의 연산을 완료하기를 기다리는 동안 반복적으로 상태 레지스터를 검사. =>polling

입출력 방식 직접 입출력 인터럽트 방식 직접 입출력 인터럽트를 컴퓨터 하드웨어에 도입하는 이유: 장치 구동기 소프트웨어가 제어기 상태 레지스터를 계속 polling 할 필요성을 제거, 연산이 완료되었을 때 장치제어기가 자동으로 장치 관리자에게 완료사실을 통보 . 인터럽트를 이용한 입출력에서 장치관리자 4가지 기능 - 장치 구동기의 연산 초기화 - 장치상태 테이블(device status table) 관리 - 인터럽트 처리기(interrupt handler) 관리 - 장치 처리기(device handler) 관리

입출력 방식 직접 입출력 인터럽트 방식 직접 입출력 데이터 입력 시

입출력 방식 직접 입출력 인터럽트 방식 직접 입출력 데이터 입력 수행 단계 ① 응용 프로세스가 읽기 read() 연산을 요청. ② 장치 구동기는 상태 레지스터를 검사. 만약 장치가 바쁘면 장치 구동기는 장치가 유휴상태가 되기를 기다림. ③ 장치 구동기는 읽기 read() 명령을 장치 제어기의 명령 레지스터에 저장하여 장치를 시작시킴. ④ 장치 구동기는 연산 초기화가 종료할 때 장치 구동기가 시작시킨 연산과 관련된 정보를 장치 상태 테이블(device status table)에 저장. 장치 관리자는 프로세스 관리자의 스케줄러를 호출하여 스케줄링 된 다른 프로세스에 CPU를 사용하게 함. 그런 다음 장치관리자는 종료. ⑤ 입력연산을 종료하면 CPU에 인터럽트를 걸어 인터럽트 처리기 실행. ⑥ 인터럽트 처리기는 어떤 장치가 인터럽트를 걸었는지 결정하고 해당 장치의 장치 처리기로 분기. ⑦ 장치 처리기는 장치 상태 테이블에서 보류된 입출력 상태정보를 추출. ⑧ 장치 처리기는 제어기의 데이터 레지스터내용을 사용자 프로세스 공간으로 복사. ⑨ 장치 처리기는 응용 프로세스에게 제어를 반환.

입출력 방식 간접 입출력 DMA(direct memory access) 디스크 제어기에 의한 DMA 전송과정 디스크제어기가 입출력 장치로부터 자신의 버퍼에 모든 블록을 읽음. DMA에 의해 지정된 주소의 주기억장치에 최초 바이트나 워드가 복사됨 DMA의 기억장치 주소는 증가하고, 전송된 바이트수 만큼 카운터는 감소 DMA카운터가 0이 될 때 까지 반복. 카운터가 0이 되면 디스크제어기가 인터럽트를 발생시켜 CPU에 완료사실을 보고.

입출력 방식 간접 입출력 DMA에 의한 데이터 입출력 예

입출력 방식 간접 입출력 DMA에 의한 데이터 입출력 수행 단계 ① 프로그램 수행도중 CPU가 입출력 명령을 만남. ② CPU는 DMA에게 입출력 명령(기억장치내의 데이터의 위치, 개수, I/O 명령의 종류 등이 전달). ③ CPU와 독립적으로 DMA는 기억장치의 데이터를 직접 입출력. 이때, CPU는 입출력 명령을 내린 후 다른 프로그램을 수행. ④ 주기억 장치와 주변장치 사이에 실제의 데이터 전송. ⑤ DMA는 입출력 완료 시 CPU에게 인터럽트로 완료사실을 보고.

입출력 방식 간접 입출력 DMA에 의한 데이터 입출력 수행 단계 ① 프로그램 수행도중 CPU가 입출력 명령을 만남. ② CPU는 DMA에게 입출력 명령(기억장치내의 데이터의 위치, 개수, I/O 명령의 종류 등이 전달). ③ CPU와 독립적으로 DMA는 기억장치의 데이터를 직접 입출력. 이때, CPU는 입출력 명령을 내린 후 다른 프로그램을 수행. ④ 주기억 장치와 주변장치 사이에 실제의 데이터 전송. ⑤ DMA는 입출력 완료 시 CPU에게 인터럽트로 완료사실을 보고.

입출력 방식 간접 입출력 DMA(direct memory access) 직접 입출력과의 차이 DMA에서는 CPU 레지스터를 이용하지 않고, CPU의 사이클을 훔쳐(cycle steal) 입출력을 수행한다는 점.

입출력 방식 간접 입출력 입출력 채널 PPU(peripheral processing units) 또는 채널 가장 완벽한 입출력 방식. 입출력은 독립된 입출력 프로세서인 채널이 대신하고, 입출력을 수행하는 동안 CPU는 다른 프로그램을 실행. CPU의 효율을 향상시킬 수 있고, 다중 프로그래밍이 가능해 짐. PPU(peripheral processing units) 또는 채널 그 자체가 하나의 CPU와 비슷한 성능을 가지는 프로세서.. CPU와 기억장치를 공유. 범용 레지스터는 없고 명령어 주소 레지스터, 데이터카운터 등 내부에 몇 개의 레지스터를 포함. 한 컴퓨터 시스템에는 최대 8대의 채널을 둘 수 있고,채널당 최대 8대의 주변장치들을 연결가능.

입출력 방식 간접 입출력 입출력 채널 입출력 채널의 종류 ● 선택(selector) 채널 한 순간에 하나의 주변 장치만을 선택하여 연결하여 처리하고 주로 디스크나 드럼과 같이 고속인 장치들을 연결. ● 멀티플렉서(multiplexer) 채널 일시에 여러 장치들을 연결하여 처리하고 주로 터미널, 프린터 같은 저속의 장치들을 연결. ● 블록 멀티플렉서(block multiplexer) 채널 주로 블록단위로 입출력 하는 테이프 같은 장치와 연결하여 처리하고,다수의 주변장치들을 멀티플렉싱하며 동시에 처리.

입출력 방식 간접 입출력 입출력 채널

입출력 방식 간접 입출력 입출력 채널 채널의 구조 ● 채널 명령어 : CCW(channel command word) ☞명령 코드 : 데이터 전송 명령(read, write등), 장치 제어 명령(page skip, rewind등), 분기 명령(go to 등) ☞ 데이터 주소 : 입출력이 수행될 데이터의 기억장치내의 위치 표시. ☞ 플래그 비트 : 특수한 용도. ☞ 카운트 : 데이터의 개수.

입출력 방식 간접 입출력 입출력 채널 채널의 구조 ● 채널 상태 워드 : CSW(channel statue word) ☞ 보호키 : 채널을 보호하기 위한 보호 키. ☞ CCW의 주소 : 다음에 수행될 명령어의 주소. ☞ 상태 필드 : 채널의 상태(수행 중, 입출력의 종료, 입출력에러발생 등). ☞ 잔여 카운트 필드 : 아직 수행되지 않는 CCW의 수.