운영체제 기본/Linux/파일 시스템 콜/시스템 콜과 파일 디스크립터: 두 판 사이의 차이
잔글 관리자님이 운영체제 기본/Linux의 파일 시스템 콜/시스템 콜과 파일 디스크립터 문서를 운영체제 기본/Linux/파일 시스템 콜/시스템 콜과 파일 디스크립터 문서로 이동했습니다: Linux 각론 제목을 계층형 경로로 통일 |
Linux 계층형 경로에 맞춰 문서 링크 갱신 |
||
| 1번째 줄: | 1번째 줄: | ||
{{이전 다음 문서 | {{이전 다음 문서 | ||
|이전=첫 문서 | |이전=첫 문서 | ||
|목차=[[운영체제 기본/ | |목차=[[운영체제 기본/Linux/파일 시스템 콜|파일 시스템 콜 목차]] | ||
|다음=다음 문서 →<br />[[운영체제 기본/ | |다음=다음 문서 →<br />[[운영체제 기본/Linux/파일 시스템 콜/openat과 경로 탐색|openat과 경로 탐색]] | ||
}} | }} | ||
| 69번째 줄: | 69번째 줄: | ||
== 공통 VFS와 대상별 연산 == | == 공통 VFS와 대상별 연산 == | ||
가상 파일시스템(Virtual File System, VFS)은 열린 파일과 연산의 공통 틀을 제공한다. <code>read()</code>는 <code>vfs_read()</code>를 거쳐 <code>f_op</code>의 읽기 함수를 고르고, <code>write()</code>도 <code>vfs_write()</code>에서 쓰기 함수를 고른다. 이때 실제 구현은 ext4, procfs, 장치 드라이버 등에 따라 달라진다. inode·dentry·마운트의 관계는 [[운영체제 기본/ | 가상 파일시스템(Virtual File System, VFS)은 열린 파일과 연산의 공통 틀을 제공한다. <code>read()</code>는 <code>vfs_read()</code>를 거쳐 <code>f_op</code>의 읽기 함수를 고르고, <code>write()</code>도 <code>vfs_write()</code>에서 쓰기 함수를 고른다. 이때 실제 구현은 ext4, procfs, 장치 드라이버 등에 따라 달라진다. inode·dentry·마운트의 관계는 [[운영체제 기본/Linux/파일시스템/VFS와 파일 객체|VFS와 파일 객체]]에서 자세히 다룬다. | ||
<code>openat()</code>은 아직 fd가 없으므로 경로 탐색에서 시작하고, <code>close()</code>는 fd 테이블의 연결을 제거한다. 모든 시스템 콜이 똑같은 함수열을 통과하는 것은 아니지만, 이들이 만들고 사용하는 <code>struct file</code>이 파일 접근의 수명을 연결한다. | <code>openat()</code>은 아직 fd가 없으므로 경로 탐색에서 시작하고, <code>close()</code>는 fd 테이블의 연결을 제거한다. 모든 시스템 콜이 똑같은 함수열을 통과하는 것은 아니지만, 이들이 만들고 사용하는 <code>struct file</code>이 파일 접근의 수명을 연결한다. | ||
| 78번째 줄: | 78번째 줄: | ||
{{이전 다음 문서 | {{이전 다음 문서 | ||
|이전=첫 문서 | |이전=첫 문서 | ||
|목차=[[운영체제 기본/ | |목차=[[운영체제 기본/Linux/파일 시스템 콜|파일 시스템 콜 목차]] | ||
|다음=다음 문서 →<br />[[운영체제 기본/ | |다음=다음 문서 →<br />[[운영체제 기본/Linux/파일 시스템 콜/openat과 경로 탐색|openat과 경로 탐색]] | ||
}} | }} | ||
{{운영체제 기본 둘러보기}} | {{운영체제 기본 둘러보기}} | ||