1. Daemon Process를 이용한 디렉토리 내부 파일 정리 프로그램
프로그램 개요
- 사용자로부터 정리할 디렉토리의 경로명을 입력받아서 디렉토리 내부의 파일들을 확장자명으로 분류해주는 데몬 프로세스를 생성해주는 프로그램
프로그램 기능
- 데몬 프로세스의 특성을 이용해 사용자가 따로 해당 데몬 프로세스를 종료하기 전까지는 일정한 주기로 디렉토리를 감시하여 분류해줌
- 각 데몬 프로세스마다 config file과 log file이 존재
- config file: 데몬 프로세스의 속성 값을 담고 있는 파일
- log file: 데몬 프로세스가 감시하고 있는 디렉토리에서 파일 이동(복사 붙여넣기)이 발생한 기록을 남기는 파일
- 확장자명 디렉토리를 생성하여 해당 디렉토리 내부에 파일들을 복사해서 붙여넣음
- ex) hello.txt → txt 디렉토리 생성 → txt 디렉토리에 hello.txt 복사
- 입력받은 경로에 있는 파일 및 디렉토리를 linked list로 저장하여 관리
- 4개의 명령어가 존재
- add : 디렉토리를 정리해주는 데몬 프로세스 추가 & 3가지 옵션 존재
- d option: 정리 이후 복사한 파일들을 붙여넣을 경로를 설정
- i option: 데몬 프로세스가 해당 디렉토리를 감시하는 주기
- l option: log file에 기록되는 줄 수를 설정
- show : 현재 작동 중인 데몬 프로세스의 list를 출력
- modify : 데몬 프로세스의 속성 값(config file) 수정
- remove : 데몬 프로세스 제거
- 프로그램 실행 화면
https://github.com/BaekSukSu/Daemon_Process
2. Flash Memory 저장 방식 구현 프로그램
프로그램 개요
- Flash Memory에 data를 I/O 하기 위해 FTL(Flash Translate Layer)을 거쳐야하는데 해당 Layer에서 Hybrid Mapping 방식이 사용됨
- Hybrid Mapping을 이용하여 Flash Memory가 어떻게 data를 저장하는지 구현
프로그램 기능
- address mapping table 구조체를 정의하여 flash memory의 logical block number, physical block number, 해당 block의 last offset을 함께 mapping하여 저장
- linked list 자료구조를 이용하여 delete된 memory block을 관리
- memory에 새로운 data를 write하고 싶을 때 만약 해당 block이 다 찼다면 linked list에 저장된 delete block을 가져와서 해당 block에 overwrite