파일 처리에 관련하여 6가지 명령어를 구현한다. 각 명령어는 복사(copy), 읽기(read), 병합(merge), 덮어쓰기(overwrite), 끼워넣기(insert), 삭제(delete)이다.
파일 입출력시 순차 접근과 랜덤 접근에 대한 수행시간을 비교한다. HDD가 아닌 SSD환경의 컴퓨터에서는 크게 차이가 나지 않지만 미미한 차이를 확인할 수 있다.
파일 처리에 대한 기본 개념(sector, spare, page, block 등)을 바탕으로 fixed length record 및 variable length page 기반인 파일 입력 및 삭제를 구현한다.
Sector mapping 기법을 따르는 FTL을 구현한다.
레코드 삭제 시 해당 페이지를 재활용하는 기법(링크드리스트 기반)을 사용해 삭제 및 삽입이 가능한 프로그램을 구현한다.
해쉬 기법을 사용해 파일을 오름차순으로 정렬하는 프로그램을 구현한다.
- OS: Linux 우분투 버전 18.0.4
- 컴파일러: gcc 7.5