I/O (입출력)

songtak·2022년 9월 25일
0

용어 정리

목록 보기
1/1
post-thumbnail

데이터 등의 모든 항목의 입출력으로, 입력과 출력을 아울러 이르는 개념이다.

I/O

Input/Output의 줄임말이다.

입출력은 데이터 정보의 신뢰성, 이용자와 시스템의 친화성 등과 관련되어 있는데, 입출력 동안에 어떤 뛰어난 데이터, 정보의 가공 처리가 있어도, 입출력에 문제가 있거나 하면 이용자가 스트레스를 느끼게 된다.

컴퓨터에 설치된 운영 체제에 따라 표준 입출력의 종류나 개수는 다르다.

게다가 운영 체제나 실행 프로그램을 설계할 때에 표준 입출력 장소로 지정된 장치에서 다른 장치로 입출력 위치를 바꾸는 것을 리다이렉트라고 한다.

동기 I/O와 비동기 I/O

입력/출력(I/O) 동기화에는 동기 I/O와 비동기 I/O의 두 가지 유형이 있습니다.
비동기 I/O를 겹치는 I/O라고도 합니다.

동기 I/O

동기 파일 I/O에서 스레드는 I/O 작업을 시작하고 I/O 요청이 완료될 때까지 즉시 대기 상태로 전환됩니다.

비동기 I/O

비동기 파일 I/O를 수행하는 스레드는 적절한 함수를 호출하여 커널에 I/O 요청을 보냅니다. 커널에서 요청을 수락하는 경우 호출 스레드는 커널이 I/O 작업이 완료되었음을 스레드에 알릴 때까지 다른 작업을 계속 처리합니다. 그런 다음 현재 작업을 중단하고 필요에 따라 I/O 작업에서 데이터를 처리합니다.

동기 I/O와 비동기 I/O 언제 사용할까?

동기 I/O

특히 많은 빠른 I/O 작업을 수행해야 하는 경우

비동기 I/O

: I/O 요청이 큰 데이터베이스의 새로 고침 또는 백업 또는 느린 통신 링크와 같은 많은 시간이 소요될 것으로 예상되는 경우
(비동기 I/O는 일반적으로 처리 효율성을 최적화하는 좋은 방법입니다.)
그러나 비교적 빠른 I/O 작업의 경우 커널 I/O 요청 및 커널 신호를 처리하는 오버헤드로 인해 비동기 I/O가 덜 유익해질 수 있습니다.

이러한 작업을 수행하는 방법에 대한 메커니즘 및 구현 세부 정보는 사용되는 디바이스 핸들의 유형 및 애플리케이션의 특정 요구 사항에 따라 달라집니다.

profile
멋쟁이 개발자

0개의 댓글