검색 여닫기
검색
메뉴 여닫기
555
262
4
6.2천
noriwiki
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
파일 올리기
환경 설정 메뉴 여닫기
notifications
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
user-interface-preferences
한국어
개인 도구
로그인
System-Level I/O 문서 원본 보기
noriwiki
문서 공유하기
다른 명령
←
System-Level I/O
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
상위 문서: [[컴퓨터 시스템]] ==개요== 입출력(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 장치들을 모두 파일로 매핑하는 방식 덕분에, 리눅스 커널은 '''UNIX I/O'''로 불리는 단순하고 저수준(low-level)의 인터페이스를 제공할 수 있다. 이를 통해 모든 I/O 작업들을 일관되고 통일된 방식으로 수행할 수 있다. ==Files== 각 리눅스 시스템 내에서의 역할을 나타내는 type을 가진다: * '''일반 파일(regular file)은 임의의 데이터로 구성'''된다. 애플리케이션 들은 종종 일반 파일 들을 ASCII 혹은 유니코드 문자만을 포함하는 텍스트 파일(text file)과, 그 외의 모든 것을 포함하는 바이너리 파일(binary file) 을 구분하지만, 커널은 이를 구분하지 않는다. 따라서 '''UNIX I/O도 텍스트 파일과 바이너리 파일을 구분하지 않는다.''' 리눅스 텍스트 파일은 단순히 텍스트 라인들의 시퀸스('''sequence of text lines''')로 구성되며, 각 줄(text line)은 '''문자들의 시퀸스(sequence of characters)로 이루어지고 줄바꿈 문자('\n')<ref>줄 바꿈 문자는 0x0a에 해당하며, 이는 ASCII 값과 동일하다.</ref>로 종료'''된다. ==각주== [[분류:컴퓨터 시스템]]
System-Level I/O
문서로 돌아갑니다.