하드웨어 I / O 요청이란 무엇입니까? -techopedia에서 정의

I / O 요청이란 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-I / O 요청이란 무엇입니까?

I / O 요청 패킷은 Windows 운영 체제는 물론 Windows 드라이브 모델과 Windows NT 장치 드라이버 간의 통신에 사용되는 커널 모드 구조입니다. 많은 작은 데이터 인수를 전송하는 기존의 규칙을 따르는 대신 모든 데이터 세부 사항이 단일 포인터를 통해 데이터 구조로 전달됩니다. 이러한 I / O 요청은 다양한 처리 단계를 거치게됩니다. 이러한 단계는 단일 계층 드라이버 또는 다중 계층 드라이브의 대상 장치에 대한 여부에 따라 요청의 특성에 따라 결정됩니다.

Techopedia는 I / O 요청을 설명합니다

I / O 요청 패킷은 기본적으로 장치 드라이버와 운영 체제 간의 통신에 사용됩니다. 특정 프로세스가 차단되지 않고 완전히 실행될 수 있습니다.

첫 번째 단계에서, 이전에 사용 된 파일의 파일 디스크립터에서 블로킹 읽기를 발행하는 프로세스가 시작됩니다. 운영 체제 또는 커널의 코드에는 매개 변수의 정확성을 확인하는 시스템 호출 코드가 있습니다. 버퍼 캐시에 이미 데이터가 있으면 데이터가 리턴되고 요청이 완료됩니다. 버퍼 캐시에서 데이터를 찾을 수없는 상황에서는 물리적 I / O가 수행됩니다. 이를 통해 프로세스가 실행 큐에서 제거되어 대기 큐에 배치됩니다. 그런 다음 장치 드라이버는 I / O 하위 시스템을 통해 요청을받습니다. 들어오는 데이터를위한 공간을 확보하고 I / O를 예약하는 것은 장치 드라이버에 달려 있습니다. 그런 다음 장치 컨트롤러는 장치 하드웨어에서 작동하여 데이터 전송 프로세스를 수행합니다. DMA 컨트롤러는 커널 메모리로의 데이터 전송을 관리하고 운영합니다. 전송이 완료되면 인터럽트 벡터 테이블을 통해 인터럽트 핸들러가 수신하는 인터럽트가 작성됩니다. 중요한 정보가 있는지 데이터를 스캔 한 다음 인터럽트를 반환합니다. 이 신호는 장치 드라이버에 의해 수신되어 요청을 완료하고 요청 상태도 결정합니다. 마지막으로, 대기 큐에서 준비 큐로 프로세스를 제거하고 데이터가 주소 공간으로 전송되는 것은 커널에 달려 있습니다. 이 단계는 프로세스 차단을 해제합니다. 이제 프로세스가 CPU에 할당되면 작업이 재개되어 완료됩니다.

I / O 요청이란 무엇입니까? -techopedia에서 정의