본문 바로가기

Story

파일 시스템 #3

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초 이내에는 중복으로 적는 값이 존재하게 된다.

 

 

퍼가셔도 되지만 꼭 출처를 밝혀주십시오.

사업자 정보 표시
ORIONG | 오리옹 | 경기도 화성시 동탄대로 236 934동 202호 | 사업자 등록번호 : 824-25-01053 | TEL : 010-6346-7466 | Mail : kimgosu8@daum.net | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

'Story' 카테고리의 다른 글

파일 시스템 #6  (0) 2021.08.13
파일 시스템 #5  (0) 2021.08.13
파일 시스템 #4  (0) 2021.08.13
파일 시스템 #2  (0) 2021.08.13
파일 시스템 #1  (0) 2021.08.13