Difference between r1.31 and the current
@@ -1,3 +1,5 @@
#noindex
##====입출력,IO =,IO 입출력 IO
'''IO, I/O, input/output, 입력/출력'''[[입력,input]] 그리고 [[출력,output]].
@@ -17,6 +19,8 @@
= computer architecture 분야에서 =
[[컴퓨터,computer]]의 component들끼리 data/information/bits..를 주고 받는 것?
Sub:
Programmed I/O, PIO
https://ko.wikipedia.org/wiki/프로그램_입출력
[[컴퓨터,computer]]의 component들끼리 data/information/bits..를 주고 받는 것?
hardware IO 를 위해 [[하드웨어레지스터,hardware_register]]를 사용함.
Programmed I/O, PIO
https://ko.wikipedia.org/wiki/프로그램_입출력
@@ -279,6 +283,11 @@
[[신호및시스템,signals_and_systems]] [[신호,signal]] [[통신,communication]]
= IO 없는 experimental/esoteric PL =
Category: No IO - Esolang
https://esolangs.org/wiki/Category:No_IO
https://gunkies.org/wiki/Input/output
https://ko.wikipedia.org/wiki/입출력
IO, I/O, input/output, 입력/출력
CS 일반적으로 ¶
asyncio asynchronous_IO non-sequential_IO
"비동기 입출력(asynchronous I/O) 또는 비순차 입출력(non-sequential I/O)은..."(wk)
https://ko.wikipedia.org/wiki/비동기_입출력
Asynchronous_I/O = https://en.wikipedia.org/wiki/Asynchronous_I/O
Windows(NT API ... WinAPI)에서는 Overlapped_I/O = https://en.wikipedia.org/wiki/Overlapped_I/O 라는 명칭을 쓴다.
"비동기 입출력(asynchronous I/O) 또는 비순차 입출력(non-sequential I/O)은..."(wk)
https://ko.wikipedia.org/wiki/비동기_입출력
Asynchronous_I/O = https://en.wikipedia.org/wiki/Asynchronous_I/O
Windows(NT API ... WinAPI)에서는 Overlapped_I/O = https://en.wikipedia.org/wiki/Overlapped_I/O 라는 명칭을 쓴다.
.NET : System.IO
파일 및 스트림 I/O - .NET | Microsoft Learn
https://learn.microsoft.com/ko-kr/dotnet/standard/io/
파일 및 스트림 I/O - .NET | Microsoft Learn
https://learn.microsoft.com/ko-kr/dotnet/standard/io/
computer architecture 분야에서 ¶
컴퓨터,computer의 component들끼리 data/information/bits..를 주고 받는 것?
hardware IO 를 위해 하드웨어레지스터,hardware_register를 사용함.
Sub:
Programmed I/O, PIO
DMA,direct_memory_access
general-purpose IO, GPIO
{
http://www.ktword.co.kr/test/view/view.php?m_temp1=5385&id=1394
... GPIO
}
memory-mapped I/O (MMIO)
port-mapped I/O (PMIO)
위 둘 we: https://en.wikipedia.org/wiki/Memory-mapped_I/O_and_port-mapped_I/O
Programmed I/O, PIO
DMA,direct_memory_access
general-purpose IO, GPIO
{
http://www.ktword.co.kr/test/view/view.php?m_temp1=5385&id=1394
... GPIO
}
memory-mapped I/O (MMIO)
port-mapped I/O (PMIO)
위 둘 we: https://en.wikipedia.org/wiki/Memory-mapped_I/O_and_port-mapped_I/O
IOMMU =,iommu . IOMMU
{
{
http://emal.iptime.org/noriwiki/index.php/IOMMU
{
DMA 가능한 입출력버스(I/O bus = IO_bus Up: 버스,bus)와 주기억장치(주기억장치 main_memory)를 접속하는 메모리관리장치(MMU).
(비유)
MMU가 (CPU 입장인) 가상주소,virtual_address를 물리주소,physical_address로 변환(주소변환 주소변환 주소변환 address_translation ? address_translation address_translation ?? )하듯이,
IOMMU는 주변기기(peripheral_device s ?)에서 보이는 가상주소(장치주소 or 입출력주소 라고 부름)을 물리주소로 변환한다. // 장치주소 입출력주소 device address io address ?
(명칭들)
주변기기의 오동작에서 메모리를 지키기 위해 메모리보호,memory_protection기능도 제공.
AMD에서는 AMD-VD라고 부르며
Intel은 VT-d라고 부른다 // amd-vd vt-d amd-vd vt-d amd-vd vt-d amd-vd vt-d
PCI-SIG에서는 이런 부분을 I/O 가상화, IOV라고 부르며 // IO_virtualization? i/o virtualization i/o 가상화
다른 이름으로는 Address Translation Services (ATS)라고도 부른다. // Address Translation Services Address_Translation_Services =,ATS .
(2023-09-27에 대충 요약.)
}
IOMMU IOMMU IOMMU
}{
DMA 가능한 입출력버스(I/O bus = IO_bus Up: 버스,bus)와 주기억장치(주기억장치 main_memory)를 접속하는 메모리관리장치(MMU).
(비유)
MMU가 (CPU 입장인) 가상주소,virtual_address를 물리주소,physical_address로 변환(주소변환 주소변환 주소변환 address_translation ? address_translation address_translation ?? )하듯이,
IOMMU는 주변기기(peripheral_device s ?)에서 보이는 가상주소(장치주소 or 입출력주소 라고 부름)을 물리주소로 변환한다. // 장치주소 입출력주소 device address io address ?
(명칭들)
주변기기의 오동작에서 메모리를 지키기 위해 메모리보호,memory_protection기능도 제공.
AMD에서는 AMD-VD라고 부르며
Intel은 VT-d라고 부른다 // amd-vd vt-d amd-vd vt-d amd-vd vt-d amd-vd vt-d
PCI-SIG에서는 이런 부분을 I/O 가상화, IOV라고 부르며 // IO_virtualization? i/o virtualization i/o 가상화
다른 이름으로는 Address Translation Services (ATS)라고도 부른다. // Address Translation Services Address_Translation_Services =,ATS .
(2023-09-27에 대충 요약.)
}
IOMMU IOMMU IOMMU
I/O bus
I/O port
I/O address
I/O controller
IRQ interrupt_request
PnP
memory-mapped file (memory-mapped I/O와 다름) (IO보다는 메모리관리쪽에 가까운 얘기)
mmap (memory-mapped I/O와 다름) (memory-mapped file I/O 방법)
MKLINK:
포트,port
스트림,stream { 자료의 흐름, stdin stdout stderr }
버퍼,buffer =버퍼,buffer =,buffer . 버퍼 buffer
{
I/O port
포트,port
I/O_port is redir.
입출력_포트 redir to 컴퓨터_하드웨어_포트 ... 즉 컴퓨터 내부 port가 아닌 h/w port (꽂는, 어댑터, 단자)
컴퓨터_소프트웨어_포트 redir to 포트_(컴퓨터_네트워킹) ... 즉 네트워크 포트 얘기만
https://wiki.osdev.org/I/O_Ports
I/O base addressI/O_port is redir.
입출력_포트 redir to 컴퓨터_하드웨어_포트 ... 즉 컴퓨터 내부 port가 아닌 h/w port (꽂는, 어댑터, 단자)
컴퓨터_소프트웨어_포트 redir to 포트_(컴퓨터_네트워킹) ... 즉 네트워크 포트 얘기만
https://wiki.osdev.org/I/O_Ports
I/O address
I/O controller
IRQ interrupt_request
PnP
plug and play (PnP)
https://ko.wikipedia.org/wiki/플러그_앤_플레이
https://simple.wikipedia.org/wiki/Plug_and_play
https://en.wikipedia.org/wiki/Plug_and_play
Cmp:https://ko.wikipedia.org/wiki/플러그_앤_플레이
https://simple.wikipedia.org/wiki/Plug_and_play
https://en.wikipedia.org/wiki/Plug_and_play
memory-mapped file (memory-mapped I/O와 다름) (IO보다는 메모리관리쪽에 가까운 얘기)
mmap (memory-mapped I/O와 다름) (memory-mapped file I/O 방법)
MKLINK:
포트,port
스트림,stream { 자료의 흐름, stdin stdout stderr }
버퍼,buffer =버퍼,buffer =,buffer . 버퍼 buffer
{
용도는 data 를 임시로 담는 ... 따라서 [[메모리,memory]에 위치.... 스트림,stream esp data_stream 을 안정적으로 처리하기 위해 필수? ... 큐,queue / FIFO data_structure / ADT 와 밀접... ... tbw
single_buffer
double_buffer
triple_buffer
그리고 -ing:
single_buffering
double_buffering
triple_buffering
single 빼고 즉 double 이후부터는 multiple_buffer / multiple_buffering 임. Multiple_buffering = https://en.wikipedia.org/wiki/Multiple_buffering
//mv to double_buffer:
더블은 computer_graphics 에 매우 자주 쓰임. Multiple_buffering#Double_buffering_in_computer_graphics = https://en.wikipedia.org/wiki/Multiple_buffering#Double_buffering_in_computer_graphics
└▶(Redirected from Ping-pong buffer) ... Ping-pong_buffer
{
더블버퍼
이중버퍼
DoubleBuffer = http://wiki.c2.com/?DoubleBuffer
//mv to triple:
TripleBuffer = http://wiki.c2.com/?TripleBuffer
트리플버퍼
삼중버퍼
double_buffer
triple_buffer
그리고 -ing:
single_buffering
double_buffering
triple_buffering
single 빼고 즉 double 이후부터는 multiple_buffer / multiple_buffering 임. Multiple_buffering = https://en.wikipedia.org/wiki/Multiple_buffering
//mv to double_buffer:
더블은 computer_graphics 에 매우 자주 쓰임. Multiple_buffering#Double_buffering_in_computer_graphics = https://en.wikipedia.org/wiki/Multiple_buffering#Double_buffering_in_computer_graphics
└▶(Redirected from Ping-pong buffer) ... Ping-pong_buffer
{
더블버퍼
이중버퍼
DoubleBuffer = http://wiki.c2.com/?DoubleBuffer
특히 deferred_update 에 효과적. { http://wiki.c2.com/?DeferredUpdate deferred+update Up: 업데이트,update or 갱신,update or 경신? }
wait-free_synchronization { wait-free synchronization WaitFreeSynchronization = http://wiki.c2.com/?WaitFreeSynchronization Cmp these: lock-free wait-free non-blocking { ... lock-free wait-free non-blocking Up: concurrency ? } Up: 동기화,synchronization wait-free synchronization wait-free+synchronization }의 특별화된/특수화된 형식/형태(specialized form). ReadWriteLock이 아닌.
}wait-free_synchronization { wait-free synchronization WaitFreeSynchronization = http://wiki.c2.com/?WaitFreeSynchronization Cmp these: lock-free wait-free non-blocking { ... lock-free wait-free non-blocking Up: concurrency ? } Up: 동기화,synchronization wait-free synchronization wait-free+synchronization }의 특별화된/특수화된 형식/형태(specialized form). ReadWriteLock이 아닌.
//mv to triple:
TripleBuffer = http://wiki.c2.com/?TripleBuffer
트리플버퍼
삼중버퍼
circular_buffer =,circular_buffer =,circular_buffer . circular_buffer
{
AKA: circular_queue , cyclic_buffer , ring_buffer (we)
환형버퍼
원형버퍼
...등이 보이고 내 brainstorm:
고리형버퍼
고리모양버퍼
둥근버퍼
....최적의 번역은? ... cf. circular cyclic
{
AKA: circular_queue , cyclic_buffer , ring_buffer (we)
환형버퍼
원형버퍼
...등이 보이고 내 brainstorm:
고리형버퍼
고리모양버퍼
둥근버퍼
....최적의 번역은? ... cf. circular cyclic
single, fixed-size 버퍼,buffer인데, 마치 처음과 끝이 연결된 것 처럼 사용하는. data_stream{ Data_stream Up: data 스트림,stream }을 버퍼링,buffering하기 쉽게 만드는 구조. (we)
REL: 큐,queue > bounded_queue
Circular_buffer
= https://en.wikipedia.org/wiki/Circular_buffer
"circular buffer, circular queue, cyclic buffer or ring buffer is..."
= https://en.wikipedia.org/wiki/Circular_buffer
"circular buffer, circular queue, cyclic buffer or ring buffer is..."
생각
특히 하드웨어,hardware 입출력,IO or device_driver { 장치드라이버 ? MKLdriver_wrapper ... DeviceDriver = http://wiki.c2.com/?DeviceDriver Device_driver = https://en.wikipedia.org/wiki/Device_driver } 에서 자주 쓰임새를 본 듯
일단 메모리,memory 다른 곳에 영향을 끼치지는 않는다는 점에서는 안정적이다 (dynamic_memory_allocation 이 없이 고정된 위치에 있어서)
bounded_queue - fixed size - 오버플로,overflow에 취약할텐데
특히 하드웨어,hardware 입출력,IO or device_driver { 장치드라이버 ? MKLdriver_wrapper ... DeviceDriver = http://wiki.c2.com/?DeviceDriver Device_driver = https://en.wikipedia.org/wiki/Device_driver } 에서 자주 쓰임새를 본 듯
일단 메모리,memory 다른 곳에 영향을 끼치지는 않는다는 점에서는 안정적이다 (dynamic_memory_allocation 이 없이 고정된 위치에 있어서)
bounded_queue - fixed size - 오버플로,overflow에 취약할텐데
Up:
data_structure (we)
circular_data_structure ? (내생각) { circular data structure circular+data+structure circular data structure } OR
cyclic_data_structure ? (내생각) { cyclic data structure cyclic+data+structure cyclic data structure }
버퍼,buffer
circular+buffer
}
data_structure (we)
circular_data_structure ? (내생각) { circular data structure circular+data+structure circular data structure } OR
cyclic_data_structure ? (내생각) { cyclic data structure cyclic+data+structure cyclic data structure }
버퍼,buffer
circular+buffer
}
Twins:
https://en.wikipedia.org/wiki/Framebuffer
프레임버퍼
프레임버퍼
프레임버퍼
AKA frame_buffer sometimes framestore .... =,frame_buffer =,framestore .
mentions:
screen buffer = video buffer = regeneration buffer = regen buffer (이건 video memory = video_memory 에 있지 않다. 그래서 off-screen buffer 라고도 한다)
screen_buffer = video_buffer = regeneration_buffer = regen_buffer (regen은 그냥 regeneration의 줄임인듯)
...mentions:
screen buffer = video buffer = regeneration buffer = regen buffer (이건 video memory = video_memory 에 있지 않다. 그래서 off-screen buffer 라고도 한다)
screen_buffer = video_buffer = regeneration_buffer = regen_buffer (regen은 그냥 regeneration의 줄임인듯)
프레임버퍼
프레임버퍼
프레임버퍼
} // 프레임버퍼
Inter:
Sub:
cache-only_memory_architecture (COMA)
cache
}
버스,bus
스풀링,spooling - rel. 스풀,spool
폴링,polling
하드웨어,hardware esp peripheral
장치,device
device_driver
접근,access or 액세스,access =,access .
{
memory 접근, io 접근, ....
cache-only_memory_architecture (COMA)
cache
}
버스,bus
스풀링,spooling - rel. 스풀,spool
폴링,polling
하드웨어,hardware esp peripheral
장치,device
device_driver
접근,access or 액세스,access =,access .
{
memory 접근, io 접근, ....
액세스_(마이크로프로세서)
= https://ko.wikipedia.org/wiki/액세스_(마이크로프로세서)
= https://ko.wikipedia.org/wiki/액세스_(마이크로프로세서)
}
memory_map
= https://ko.wikipedia.org/wiki/액세스_(마이크로프로세서)
= https://ko.wikipedia.org/wiki/액세스_(마이크로프로세서)
}
memory_map
software/programming 분야에서 ¶
콘솔,console
redirection
셸,shell
stdin - standard_input 입력,input
stdout - standard_output 출력,output
stderr - standard_error 에러,error
...
redirection
셸,shell
stdin - standard_input 입력,input
stdout - standard_output 출력,output
stderr - standard_error 에러,error
...
.NET : System.IO namespace
System.IO 네임스페이스 | Microsoft Learn
https://learn.microsoft.com/ko-kr/dotnet/api/system.io?view=net-8.0
System.IO 네임스페이스 | Microsoft Learn
https://learn.microsoft.com/ko-kr/dotnet/api/system.io?view=net-8.0
신호/통신 분야에서 ¶
여기선 보통 시간 $\displaystyle t$ 에 따라
입력,input을 $\displaystyle x(t),x[n]$
출력,output을 $\displaystyle y(t),y[n]$
으로 하는 notation이 있으며
...
입력,input을 $\displaystyle x(t),x[n]$
출력,output을 $\displaystyle y(t),y[n]$
으로 하는 notation이 있으며
...
SISO : single input single output ... Single-input_single-output_system
MIMO : multiple input multiple output ... MIMO
물론 같은 식으로 SIMO MISO 도 있음
... SISO MIMO
MIMO : multiple input multiple output ... MIMO
물론 같은 식으로 SIMO MISO 도 있음
... SISO MIMO
BIBO_stability - bound bounded 안정성,stability
여기선 입출력을
bounded_input
bounded_output
unbounded_input
unbounded_output
으로 나눌 수 있다.
여기선 입출력을
bounded_input
bounded_output
unbounded_input
unbounded_output
으로 나눌 수 있다.
기타
GIGO (이건 신호/통신 분야에 넣기보다는 정보처리쪽에서, 쓰레기정보가 입력되면 출력도 시원찮다 대충 그런 뜻... GIGO meaning )
garbage in garbage out
나쁜 데이터에선 나쁜 결과가 나온다
GIGO (이건 신호/통신 분야에 넣기보다는 정보처리쪽에서, 쓰레기정보가 입력되면 출력도 시원찮다 대충 그런 뜻... GIGO meaning )
garbage in garbage out
나쁜 데이터에선 나쁜 결과가 나온다