본문 바로가기

학습 기록 (Learning Logs)

(410)
분산 시스템 분산 시스템이란 무엇인가?분산 시스템을 만드는 것이 왜 어려운지를 통해 설명합니다. 분산 시스템은 여러 컴퓨터(기계)가 네트워크로 연결되어 함께 작동하는 시스템을 말합니다.우리가 매일 사용하는 구글 검색, 페이스북, 아마존 쇼핑 등이 모두 대표적인 분산 시스템입니다.분산 시스템이 어려운 이유: 끊임없는 실패(Failure)교수는 분산 시스템을 만드는 것이 어려운 근본적인 이유가 "여기저기서 실패가 발생하기 때문"이라고 강조합니다.마치 세상이 나를 방해하는 것처럼 온갖 문제가 생긴다는 것이죠.네트워크로 보내는 메시지가 중간에 사라지기도 하고,시스템을 구성하는 여러 컴퓨터 중 하나가 갑자기 멈추기도 하고,디스크에 저장된 데이터가 손상되기도 합니다.이처럼 분산 시스템은 '실패'를 당연한 일상으로 받아들여야 하..
데이터 무결성과 보호 내가 저장한 데이터, 정말 그대로일까?우리가 컴퓨터에 사진이나 문서를 저장할 때, 나중에 다시 열어보면 원래 저장했던 내용 그대로일 거라고 믿습니다.이 글은 "그 믿음을 시스템이 어떻게 보장해 주는가?"라는 질문에서 시작합니다.즉, 데이터 무결성(Data Integrity)을 어떻게 지킬 수 있는지에 대한 이야기입니다.예전과 달라진 디스크 오류의 종류과거의 디스크(저장 장치)는 고장 나면 아예 전체가 멈추는 '완전 사망(fail-stop)' 방식이었습니다.디스크가 동작하거나, 아니면 아예 먹통이 되거나 둘 중 하나였죠. 그래서 고장 여부를 파악하기 쉬웠습니다. 하지만 현대의 디스크는 훨씬 복잡한 방식으로 고장 납니다.디스크 전체는 멀쩡히 돌아가는 것처럼 보이는데, 특정 부분만 미세하게 잘못되는 '부분 고..
Crash Consistency: FSCK and Journaling Crash Consistency & FSCK and Journaling(파일 시스템 저널링)🔥 Crash Consistency여러 블록을 바꾸는 작업 중간에 시스템이 꺼져버리면디스크 상태가 불완전하거나 모순된 상태로 남을 수 있다.이걸 방지하는 방법이 저널링(Journaling), Copy-on-Write, 원자적 업데이트 저널링파일 시스템 변경 전에 변경 내용을 미리 안전하게 기록하여 시스템 크래시 발생 시일관성을 유지하고 데이터를 복구할 수 있게 해주는 기법디스크에 저장되는 파일 시스템 구조는 전원 나가도 안전해야 함하지만 디스크는 한 번에 하나씩만 갱신 가능여러 자료구조를 갱신하는 중간에 꺼지면 → 데이터 일관성 깨짐이 문제를 해결하려는 노력이 바로 크래시 일관성 문제 해결 전략임1️⃣ 파일 시..
Log-Structured File Systems (LFS): 로그 기반 파일 시스템 📘 Chapter: Log-Structured File Systems (LFS)전통적인 파일 시스템(FFS: Fast File System)의 성능 한계와 RAID 환경에서의 문제점을 설명하는 부분 🔍 1. FFS에서 새로운 파일을 만들 때 발생하는 비효율📌 원문: FFS는 단지 블럭 하나 크기의 새로운 파일을 생성하려 해도 여러 번 디스크에 써야 해서 성능이 떨어진다.🧠 해석:파일 하나를 새로 만들면, 생각보다 많은 쓰기 작업이 필요함:🧱 새 아이노드(i-node) 생성 → 디스크에 씀🧮 아이노드 비트맵(i-node 사용 여부 표시 비트) → 디스크에 씀📂 디렉터리 정보(파일이 속한 폴더)도 바뀜 → 해당 디렉터리 블록도 씀📂 디렉터리의 i-node도 수정해야 함 → 다시 디스크에 씀📄..
파일 시스템 https://www.youtube.com/watch?v=-wnNn4ILev4
inode Unix는 상용 운영체제의 원조이고Linux는 Unix를 모방해 만든 오픈소스 운영체제둘은 구조적으로 유사하지만, 개발 역사와 라이선스 측면에서 크게 다릅니다.항목 Unix Linux출시 시기1969년 AT&T 벨 연구소1991년 리누스 토르발스개발 주체기업/기관 (AT&T, IBM, HP 등)커뮤니티 중심, 오픈소스라이선스상용 (유료)GNU GPL (무료, 오픈소스)커널독점적 유닉스 커널리눅스 커널사용처서버, 메인프레임, 상용 시스템서버, 데스크탑, 모바일, IoT유닉스 계열 여부원조 유닉스유닉스와 유사한 구조 (POSIX 준수) 1. 역사와 출발점Unix는 1969년 AT&T 벨 연구소에서 개발된 운영체제입니다. 이후 여러 기업들이 상용 유닉스를 만들었습니다 (예: IBM AIX, HP-UX, Sol..
Data Integrity and Protection 저장 장치나 파일 시스템에서 **"무결성 보호"**를 어떻게 구현하는지 다룹니다.저장된 데이터가 의도치 않게 손상되지 않았는지를 감지하고 보호하는 기능을 의미해요. ✅ 1. 왜 중요한가? – 침묵하는 손상(silent corruption)디스크나 SSD가 물리적으로 망가지면, 운영체제는 이를 인식하지 못한 채 데이터를 부정확하게 읽어들일 수 있어요.이렇게 되면 사용자는 데이터를 잘못 신뢰하고, 심각한 결과를 초래할 수 있어요. ✅ 2. 해결책: 체크섬(checksum)개념데이터 블록(보통 4KB)에 대해 **작은 요약 값(예: 4~8바이트)**을 계산해서 저장합니다.나중에 데이터를 읽을 때 동일한 방식으로 계산한 체크섬과 저장된 값이 일치하는지 비교합니다.다르면 “데이터가 손상됨”을 인식할 수 있어..
Flash‑based SSDs 플래시 기반 저장 장치, 특히 SSD가 HDD와 어떻게 다르고,운영체제와 파일 시스템은 이를 어떻게 다뤄야 하는지 1. SSD vs HDD: 무엇이 다른가?HDD: 회전하는 디스크, 헤드가 이동하면서 데이터 읽고 쓰며, 순차 접근이 빠르고 무작위 접근이 느림.SSD: 플래시 메모리를 사용해 물리적 헤드 이동이 없음 → 무작위 접근 매우 빠름. 다만 쓰기/지우기(erase)가 페이지 단위로 강제되지만, 물리적 헤드는 없어요. 2. NAND 플래시의 속성읽기/쓰기 전 플래시 블록은 반드시 지워져야(erase) 하며, erase는 수천 번 반복되면 수명이 다 됨.쓰기 횟수(erase cycles) 제한 때문에, 특정 블록만 계속 지우고 쓰면 그 블록부터 망가집니다. 3. Flash Transla..