연예인

입출력 시스템 (I/O System) 핵심 요약 정리 (1)

비하인드톡톡 2022. 11. 8. 23:59

입출력 시스템
입출력 시스템

 

입출력 시스템

컴퓨터의 두 가지 주요 업무는 컴퓨터와 입력/출력이다. 대부분의 경우 인터넷 서핑이나 문서 작업을 할 때 컴퓨터에 파일을 열거나 만들 때 컴퓨터 작업보다 E/O가 더 중요하기 때문이다.

 

이와 같이 컴퓨터는 설치된 입출력 장치와 원활하게 통신해야 하며 운영체제는 이러한 입출력 장치가 잘 수행되는지 확인해야 한다. 이 수업에서는 컴퓨터에 연결된 여러 입력/출력 장치와 통신하는 방법과 운영 체제가 프로세스에서 하드웨어와 소프트웨어의 결함을 어떻게 해결하는지 배울 것이다.

컴퓨터에 연결된 장치 제어는 운영 체제에 중요한 관심사이다. 서로 다른 장치들은 기능성과 속도 면에서 특성이 다르므로 서로 다른 제어가 필요하며, 이러한 제어 방법은 노심 입력/출력 서브시스템을 형성하므로 노심의 다른 부분들은 입력/출력 장치의 관리 복잡성에 대해 걱정하지 않는다.

 

입출력 시스템 하드웨어의 구성

하드웨어 장치는 케이블 또는 무선 통신을 통해 신호를 보내고 컴퓨터 시스템과 통신하며 포트라는 끝점을 통해 컴퓨터에 연결합니다. 하나 이상의 장치가 여러 회선을 공유하는 경우 이를 버스라고 합니다.

 

버스는 단순한 경로가 아니라, 각 회선에서 어떤 전기 신호가 전송되고 전송될지를 약속하는 프로토콜을 포함하는 개념이다. 장치의 또 다른 구성 요소는 컨트롤러입니다. 제어기는 전자 수집기를 사용하여 포트, 버스 또는 E/O 장치를 제어하며, 많은 E/O 장치에는 제어 장치가 내장되어 있습니다.

모든 제어 장치는 기록을 가지고 있으며, 컴퓨터 프로세서는 컨트롤러 레지스터에 비트 패턴을 쓰거나 읽음으로써 입출력 동작을 수행한다. 프로세서의 주소 공간과 같은 장치 관리 항목을 생각하는 또 다른 방법은 I/O 메모리 카드라고 합니다.

 

이 경우 각 주변 레코드는 하나의 메모리 주소에 해당하며, 컴퓨터는 메모리 주소에 데이터를 읽고 쓸 수 있어 컴퓨터가 직접 데이터를 읽고 쓸 수 있다. 이 메모리 카드는 다양한 방식으로 사용됩니다.

 

예를 들어, 화면에 콘텐츠를 인쇄할 때 컨트롤러에 있는 모든 래스터 카드를 하나씩 쓰는 것은 엄청난 작업이 될 것이다.

 

그럼에도 불구하고, 수백만 명이 사용할 수 있는 메모리 카드를 클릭하면 훨씬 더 빠르게 E 팀 명령 E/O를 사용할 수 있습니다. 그러나 시스템 E/O에는 문제가 있습니다. 이러한 메모리 카드가 사람들의 주소에 대해 무작위로 사용되는 경우입니다.

 

이는 우리가 나가는 길에 잘못된 코드를 사용하는 것과 같은 실수 때문에 현재 우려되고 있습니다.

 

폴링

컴퓨터와 입력/출력 하드웨어 사이의 프로토콜은 복잡하지만 기본적인 악수 개념은 간단하다. 장치 드라이버 레지스트리에 다소 바쁜 점이 있지만 다른 작업을 처리하고 있기 때문에 장치가 사용 가능한지를 나타냅니다.

 

컨트롤러는 작업 중인 바쁜 부분을 1로 설정하고 준비 중에 0으로 설정하기 때문에 컴퓨터가 장치를 사용하고 있는지 여부를 알 수 있습니다.

여기서 컴퓨터는 때때로 바쁜 비트를 점검하고 장치가 사용 중인지 확인해야 하는데, 이는 계속 회전하며 반복하기 때문에 설문조사라고 한다.

 

이 조사는 많은 컴퓨터 자원(약 3사이클)을 필요로 하지 않지만 디바이스가 준비하는 데 시간이 걸리는 경우는 매우 비효율적이며, 대신 하드웨어가 컨트롤러 상태를 변경할 때 컴퓨터에 통지하면 이러한 비효율성은 그러한 비효율성을 막을 수 있다.

 

인터럽트

CPU에는 인터럽트 요청 라인이라는 라인이 있는데 CPU는 각 명령을 완료하고 다음 명령을 실행하기 전에 확인한다. 입력/출력 장치가 준비되어 있으며 인터럽트 요청 라인을 가리키는 경우 CPU는 인터럽트를 확인하고 인터럽트 드라이버를 명령 종료 시 실행한다.

 

여기 인터럽트 컨트롤러는 이 인터럽트를 E/O 장치 서비스로서 처리하기 위한 것이다. 그러나 이러한 인터럽트를 처리하기 위해서는 현대 시스템에서 더 많은 과립 인터럽트 핸들링이 필요하며, 다음은 인터럽트 핸들러가 무엇을 해야 하는지를 보여준다.

 

  • 인터럽트 처리를 지연시키는 능력은 임계 영역의 실행 중에 필요하다.
  • 어느 장치가 인터럽트를 일으켰는지를 조사하기 위해서는 설문조사를 하지 않고 모든 장치를 적절한 인터럽트 컨트롤러로 이동시키는 효율적인 방법이 필요하다. 즉, 중단 요청 라인에 있는 요청이라면 그 요청이 어디서 왔는지 바로 알아야 합니다.
  • 운영체계는 높은 우선순위와 낮은 우선순위를 구분하고 시급성의 정도에 따라 대응하기 위해 다양한 수준에서 인터럽트를 실시할 필요가 있다.

 

2022.11.09 - [운영체제] - 입출력 시스템 (I/O System) 정리 (2)

 

입출력 시스템 (I/O System) 정리 (2)

입출력 시스템 처리 방식 입출력 시스템 인터럽트 처리도 일종의 부담입니다. CPU에는 인터럽트가 드물어요. 하지만 너무 많은 인터럽트가 발생하면 CPU도 비효율적이다. DMA는 잦은 방해를 방지

hotpeople.co.kr