요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
================
2
splice and pipes
3
================
5
splice API
6
==========
8
splice is a method for moving blocks of data around inside the kernel,
9
without continually transferring them between the kernel and user space.
11
.. kernel-doc:: fs/splice.c
13
pipes API
14
=========
16
Pipe interfaces are all for in-kernel (builtin image) use. They are not
17
exported for use by modules.
19
.. kernel-doc:: include/linux/pipe_fs_i.h
20
:internal:
22
.. kernel-doc:: fs/pipe.c
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Splice API
1-12splice는 데이터 block을 kernel과 user space 사이로 계속 복사하지 않고 kernel 내부에서 이동시키는 방법이다. 이 페이지는 실제 함수·구조체 설명을 `fs/splice.c`의 kernel-doc에서 가져온다.
kernel 내부 데이터 source→`fs/splice.c`의 splice API→pipe buffer를 통한 전달→kernel 내부 destination→user space 복사 왕복 최소화
중간 user buffer 왕복을 피한다.
================
splice and pipes
================
splice API
==========
splice is a method for moving blocks of data around inside the kernel,
without continually transferring them between the kernel and user space.
.. kernel-doc:: fs/splice.c
Kernel 내부 pipe API
13-22pipe interface는 모두 kernel built-in image 내부에서만 사용한다. module이 사용할 수 있도록 export되지 않는다. 내부 API 설명은 `include/linux/pipe_fs_i.h`와 `fs/pipe.c`의 kernel-doc을 포함한다.
Source내용Module 사용
`include/linux/pipe_fs_i.h`내부 pipe 자료구조·interfaceexport 안 됨
`fs/pipe.c`pipe 구현built-in 전용
문서가 참조하는 source와 공개 범위다.
pipes API
=========
Pipe interfaces are all for in-kernel (builtin image) use. They are not
exported for use by modules.
.. kernel-doc:: include/linux/pipe_fs_i.h
:internal:
.. kernel-doc:: fs/pipe.c
요약·해설
splice.rst:1-22splice API는 user space 복사 왕복 없이 kernel 내부에서 data block을 이동한다. pipe 내부 interface는 built-in kernel 전용이며 module에 export되지 않는다.