파일 블록들 위치 : i-node 15개 인덱스로 파악
/usr/source/main.c 파일 찾는 과정
파일 열기
파일 이름으로 i-node 번호 알아내기
→ 파일 존재X, 접근 권한X : 오류
디스크 i-node를 커널 메모리의 i-node 테이블에 적재
오픈 파일 테이블에 항목 생성 : i-node 주소 기록
프로세스별 오픈 파일 테이블에 항목 생성
open() : 프로세스별 오픈 파일 테이블 항목 번호(정수) 리턴
파일 읽기 read() 과정
read(fd, …) : fd 번호의 프로세스별 오픈 파일 테이블 참조
파일 테이블 참조
→ R(읽기 허용)모드 X : 오류
i-node 참조
해당 블록이 버퍼 캐시에 있는지 확인
파일 쓰기 write() 과정
write(fd, ..) : fd 번호의 프로세스별 파일 테이블 참조
파일 테이블 참조
→ W(쓰기 허용)모드 X : 오류
i-node 참조
해당 블록이 버퍼 캐시에 있는지 확인
사용자 공간의 버퍼에서 버퍼 캐시로 쓰기
추후 버퍼캐시가 교체, 플러시될 때 버퍼 캐시의 내용이 저장 장치에 기록
파일 닫기 close() 과정