3. LVG Writing
* 포멧 후 두개의 쓰레드를 이용하여 1초마다 데이터를 HDD에 Write 한다.
1. free_LVG에서 하나의 pLVG를 꺼내 data_LVG에 넣는다.
2. gNewVar.Record.LVG_ptr에 위에서 꺼낸 pLVG를 복사한다.
3. Thread A는 image들을 prebuffer 버퍼에 넣는다.
4. Thread B는 1초마다 prebuffer 버퍼의 내용을 gNewVar.Record.pData에 재구성하고 다시 write_cached_buffer() 함수를 통해서 HDD에 Write 한다.
5. gNewVar.Record.pTimeIndex에 write한 Data의 Offset(Position)을 기록한다. gNewVar.Record.pTimeIndex 배열은 768 X 512의 크기이고 이는 13.653시간 정도이다.
6. gNewVar.Record.pTimeIndex 배열은 512 크기로 1초마다 HDD에 Write 되는데 이 구간은 0, 512, 1024...와 같이 배열의 처음부터 512 크기로 증가하여 HDD에 write 한다.
우선 Thread B에서 배열에 초당 8 byte를 쓴다.
위 배열에는 64초가 지나야 배열의 512가 모두 채워지나 초당 512 byte를 HDD write하므로 64초 이내에는 중복으로 적는 값이 존재하게 된다.
퍼가셔도 되지만 꼭 출처를 밝혀주십시오.