VFS 및 로컬 FS
Jul 26, 2023운영 체제 커널은 완전한 I/O 제어 프로세스를 제공하고 다양한 모듈 간의 I/O 흐름을 관리하기 위해 많은 수의 다양한 데이터 구조를 준비해야 합니다.
이러한 모듈에는 VFS 디렉토리 계층, 페이지 캐시 계층, 파일 시스템 계층, 네트워크 처리 계층, 공통 블록 계층, I/O 스케줄러 계층, 블록 장치 드라이버 계층, 외부 I/O 채널 컨트롤러 드라이버 계층이 포함됩니다. 이러한 계층은 함께 크고 복잡한 I/O 프로토콜 스택을 형성합니다.
프로그램이 I/O 장치를 사용하는 방법에 대해 이미 알고 계실 것입니다. 가장 일반적인 I/O 장치는 세 가지 범주로 나뉩니다. 네트워크 카드 장치, 저장 장치(st2400mm0129), 키보드/마우스와 같은 대화형 장치. 이러한 장치는 PCIE 또는 USB 포트를 통해 시스템에 연결할 수 있습니다. 문제는 그들에게 보내진 데이터가 어떻게 생성되어 장치 드라이버와 장치로 끝까지 보내지는가 하는 것입니다.
사용자 모드 프로그램이 하드 디스크 팬의 섹터 0의 내용을 읽으려면 하드 디스크에서 제공하는 기능을 호출할 수 없기 때문에 하드 디스크를 직접 조작할 수 없습니다. 하드 디스크 장치 드라이버가 전혀 없으면 읽기 시스템 호출을 통해 이를 수행하도록 커널 코드만 위임할 수 있습니다.
읽기 시스템 호출의 매개변수에서 사용자 측 프로그램은 최소한 커널에 알려야 합니다. 읽을 장치, 읽을 장치의 바이트, 읽은 데이터를 메모리에 다시 저장할 위치 및 기타 매개변수(예: 읽을 때 읽는 방법 등). 파일 읽기도 마찬가지입니다.