분류 전체보기(636)
-
F2FS
F2FS (Flash-Friendly File System) 정리1. 개요F2FS(Flash-Friendly File System)는 최신 NAND 플래시 저장 장치를 위한 고성능 파일 시스템으로, 삼성전자가 개발하여 2012년 리눅스 커널 3.8에 포함되었습니다.📌 개발 배경 및 출처:개발자: 삼성전자목적: NAND 플래시의 특성을 고려하여, 쓰기 성능 최적화, Wear Leveling, 빠른 부팅 속도를 지원하는 파일 시스템을 개발.기존 파일 시스템(예: ext4, UBIFS)이 SSD, eMMC, UFS와 같은 최신 플래시 저장 장치에 적합하지 않음을 해결.F2FS는 로그 구조(Log-Structured) 파일 시스템으로 설계되었으며, 최신 SSD, eMMC, UFS 등에서 최적의 성능을 제공함...
2025.02.21 -
UBIFS
UBIFS (Unsorted Block Image File System) 정리1. 개요UBIFS(Unsorted Block Image File System)는 NAND 플래시 전용 저널링 파일 시스템으로, JFFS2의 한계를 극복하기 위해 2008년 리눅스 커널 2.6.27에서 처음 릴리스되었습니다.📌 개발 배경 및 출처:개발자: 노키아(Nokia)와 헝가리 세게드 대학교(Szeged University)의 협력으로 개발됨.목적: 대용량 NAND 플래시를 지원하고, 기존 JFFS2의 부팅 속도 문제를 해결하며,플래시 저장 장치에서 효율적인 가비지 컬렉션 및 데이터 무결성을 보장.UBIFS는 대용량 NAND 플래시 지원, 저널링 기능, 동적 Wear Leveling, 압축 지원 등을 제공하며, 대형 임베..
2025.02.21 -
YAFFS2
YAFFS2 (Yet Another Flash File System 2) 정리1. 개요YAFFS2(Yet Another Flash File System 2)는 NAND 플래시 전용 파일 시스템으로,JFFS2의 한계를 극복하기 위해 설계되었습니다.YAFFS2는 쓰기 속도, 부팅 속도, 데이터 무결성, Wear Leveling(균등한 블록 사용) 등을 고려하여 NAND 플래시에 최적화되어 있습니다.특히 전원이 갑자기 꺼져도 빠르게 복구할 수 있으며, 대용량 데이터를 안정적으로 처리하는 데 유리합니다.YAFFS는 2002년 **Charles Manning(또마소프트, Aleph One)**에 의해 개발되었으며,YAFFS1이 NOR 플래시 기반이었다면, YAFFS2는 NAND 플래시 기반으로 설계되었습니다.2...
2025.02.21 -
JFFS2
JFFS2 (Journaling Flash File System 2) 정리1. 개요JFFS2(Journaling Flash File System 2)는 NOR 플래시 및 일부 NAND 플래시를 지원하는 플래시 전용 저널링 파일 시스템입니다.Linux MTD (Memory Technology Device) 서브시스템을 기반으로 동작하며, 전력 손실이나 시스템 충돌 시 데이터 무결성을 유지하는 기능을 제공합니다.JFFS2는 2001년 Red Hat에서 처음 발표되었으며, 기존 JFFS1의 성능과 안정성을 개선한 버전입니다.플래시 메모리의 특성을 고려하여 Wear Leveling(균등한 블록 사용), 압축 저장, 크래시 복구 기능을 제공합니다.📢 최신 동향:JFFS2는 NOR 플래시가 주요 저장 매체인 임베..
2025.02.21 -
임베디드 시스템 파일 시스템
1. 플래시 기반 파일 시스템임베디드 시스템에서는 주로 NAND/NOR 플래시 메모리를 저장 장치로 사용하기 때문에, 이를 최적화한 파일 시스템이 필요합니다.1) JFFS2 (Journaling Flash File System 2) - (https://gangdonggil.tistory.com/263)특징:NOR 플래시에 최적화됨 (NAND도 지원 가능).저널링 지원 (크래시 복구 기능).압축 기능 포함 (Zlib, LZO 압축 지원).장점:전원 차단 후 데이터 일관성을 보장.쓰기 시 메모리 블록이 고르게 사용됨 (Wear Leveling).단점:부팅 시 전체 파일 시스템을 스캔해야 하므로 부팅 속도가 느림.대용량 데이터 처리 시 성능 저하.2) YAFFS2 (Yet Another Flash File S..
2025.02.21 -
C++ 초급 - 6. 배열과 문자열 (1 - 배열 (int arr[5];))
📌 6. 배열과 문자열C++에서 배열(Array)과 문자열(String)은 데이터를 효율적으로 저장하고 처리하는 중요한 자료구조이다.기본적인 배열과 다차원 배열, C-스타일 문자열, C++ 표준 라이브러리의 std::vector 및 std::string을 학습한다.📌 6.1 배열 (int arr[5];)배열(Array)은 같은 데이터 타입을 연속된 메모리 공간에 저장하는 자료구조이다.C++에서는 정적 배열(int arr[5];)과 동적 배열(new int[5];)을 사용할 수 있다.배열은 빠른 데이터 접근이 가능하지만, 크기가 고정되며, 관리가 어렵다는 단점이 있다.📌 1. 배열 선언 및 초기화배열을 선언할 때는 데이터 타입과 크기를 지정해야 한다.💡 배열 선언 문법데이터타입 배열이름[배열크기];..
2025.02.12