본문 바로가기
프로그래밍 놀이터/Tips

VFS 에 대해 대충 알아보장~

by 돼지왕 왕돼지 2018. 2. 12.
반응형

VFS 에 대해 대충 알아보장~


참조  : https://www.sqlite.org/vfs.html


-

VFS 는 Virtual FileSystem 의 약자.

database connection, OS, os interface layer, os 호환성, reqest, Run-time, Shim, SQLite, sqlite os portability layer, sqlite porting, Stack, start-time, Unix, VFS, vfs register interface, VFS 에 대해 대충 알아보장~, vfs 재구현, virtual filesystem, windows



-

VFS 는 SQLite OS Portability layer 를 이야기한다.

SQLite 구현 stack 중 하나로 OS 간에 호환성을 위한 구현이 있는 layer 이다.



-

SQLite module  중 어느 것도 OS 와 통신하기 위해서는 VFS 에 있는 함수를 호출해야 한다.

VFS 가 해당 request 에 대한 OS 기능을 호출한다.


따라서 SQLite 를 새로운 OS 에 포팅한다는 이야기는

새롭게 OS interface layer, 즉 VFS 를 다시 구현한다는 이야기와 동일하다.



-

정규 SQLite 소스에는 unix 와 windows 를 위한 VFS 는 제공된다.

대체 VFS 들은 vfs register interface 를 통해 start-time 이나 run-time 에 추가될 수 있다.



-

여러개의 VFS 는 동시에 등록될 수 있다.

각각의 VFS 는 각각의 유니크한 이름을 갖는다.

한 프로세스에서 동시에 다른 VFS 들을 사용하면서 다른 database connection 을 열 수도 있다.

반대로 한 개의 DB Connection 이 여러 개의 DB files 을 open 한다면, 각각의 database 는 다른 VFS 를 사용할 가능성이 높다.



-

한 개의 열린 DB file 은 한개의 VFS 에 연결되어 있다.

그러나 간혹 실제 역할을 하는 VFS 를 wrapping 한 기능을 하는 VFS 가 있기도 한데,

그런 녀석들은 shim 이라 부른다. ( shim 은 두 사물 사이의 틈에 끼우는 끼움쇠, 쐐기 )




반응형

댓글