System-Level I/O: 두 판 사이의 차이
youngwiki
편집 요약 없음 |
|||
| 13번째 줄: | 13번째 줄: | ||
/boot/vmlinuz-3.13.0-55-generic (kernel image) | /boot/vmlinuz-3.13.0-55-generic (kernel image) | ||
/proc (kernel data structures) | /proc (kernel data structures) | ||
I/O 장치들을 모두 파일로 매핑하는 방식 덕분에, 리눅스 커널은 '''UNIX I/O'''로 불리는 단순하고 저수준(low-level)의 인터페이스를 제공할 수 있다. 이를 통해 모든 I/O 작업들을 일관되고 통일된 방식으로 수행할 수 있다. | |||
==Files== | |||
==각주== | ==각주== | ||
[[분류:컴퓨터 시스템]] | [[분류:컴퓨터 시스템]] | ||
2025년 4월 10일 (목) 18:14 판
상위 문서: 컴퓨터 시스템
개요
입출력(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 장치들을 모두 파일로 매핑하는 방식 덕분에, 리눅스 커널은 UNIX I/O로 불리는 단순하고 저수준(low-level)의 인터페이스를 제공할 수 있다. 이를 통해 모든 I/O 작업들을 일관되고 통일된 방식으로 수행할 수 있다.