System-Level I/O: 두 판 사이의 차이
youngwiki
새 문서: 상위 문서: 컴퓨터 시스템 ==개요== ==각주== 분류:컴퓨터 시스템 |
편집 요약 없음 |
||
| 2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
입출력(I/O)은 주기억장치(main memory)와 디스크 드라이브, 터미널, 네트워크와 같은 외부 장치(external devices) 사이에서 데이터를 복사하는 과정이다. 입력 연산(input operation)은 I/O 장치로부터 데이터를 주기억장치로 복사하고, 출력 연산(output operation)은 데이터를 주기억장치에서 장치로 복사한다.<br> | |||
해당 문서에서는 UNIX I/O와 표준 I/O의 일반적인 개념과, C 프로그램에서 이를 안정적으로 사용하는 방법을 설명한다. | |||
==UNIX I/O== | |||
리눅스 파일은 아래와 같은 m 바이트의 시퀸스로 구성된다. | |||
B<sub>1</sub>, B<sub>2</sub>, ..., B<sub>k</sub>, ..., B<sub>m-1</sub> | |||
모든 I/O 장치들(예: 네트워크, 디스크, 터미널, 커널! 등)은 아래와 같이 파일로 모델링되며, 모든 I/O는 해당 파일들을 읽고 쓰는 방식으로 수행된다. | |||
/dev/sda2 (/usrdiskpartition) | |||
/dev/tty2 (terminal) | |||
/boot/vmlinuz-3.13.0-55-generic (kernel image) | |||
/proc (kernel data structures) | |||
I/O 장치들을 파일로 매핑하는 방식 덕분에 | |||
==각주== | ==각주== | ||
[[분류:컴퓨터 시스템]] | [[분류:컴퓨터 시스템]] | ||
2025년 4월 10일 (목) 18:05 판
상위 문서: 컴퓨터 시스템
개요
입출력(I/O)은 주기억장치(main memory)와 디스크 드라이브, 터미널, 네트워크와 같은 외부 장치(external devices) 사이에서 데이터를 복사하는 과정이다. 입력 연산(input operation)은 I/O 장치로부터 데이터를 주기억장치로 복사하고, 출력 연산(output operation)은 데이터를 주기억장치에서 장치로 복사한다.
해당 문서에서는 UNIX I/O와 표준 I/O의 일반적인 개념과, C 프로그램에서 이를 안정적으로 사용하는 방법을 설명한다.
UNIX I/O
리눅스 파일은 아래와 같은 m 바이트의 시퀸스로 구성된다.
B1, B2, ..., Bk, ..., Bm-1
모든 I/O 장치들(예: 네트워크, 디스크, 터미널, 커널! 등)은 아래와 같이 파일로 모델링되며, 모든 I/O는 해당 파일들을 읽고 쓰는 방식으로 수행된다.
/dev/sda2 (/usrdiskpartition) /dev/tty2 (terminal) /boot/vmlinuz-3.13.0-55-generic (kernel image) /proc (kernel data structures)
I/O 장치들을 파일로 매핑하는 방식 덕분에