반응형

OSTEP 12

[OSTEP] CH45 데이터 무결성과 보호 + CH46 대화

찍먹스터디 마지막 발표 😭😭😭 24.12.13 FRI 10시a.m.  CH45 데이터 무결성과 보호 저장 시스템에서 데이터를 읽었을 때 그 데이터가 처음에 썼던 것과 동일하다는 것을 보장하는 기술을데이터 무결성 또는 데이터 보호라고 부른다 핵심 질문 - 데이터 무결성을 어떻게 보장하는가 저장 장치에 쓴 데이터가 보호되고 있다는 것을 시스템을 어떻게 보장할까? 어떤 기술들이 필요할까? 어떻게 하면 그 기술들을 공간과 시간 오버헤드가 적으면서 효율적으로 만들 수 있을까? 45.1 디스크 오류 모델 초기 RAID 시스템에서는 디스크의 실패-시-멈춤 Fail-Stop 모델 덕분?때문?에 오류 모델이 간단한 편이었다  디스크 전체가 동작하던가, 또는 완전히 불능이었기 때문에 그러한 오류를 단순하게 판단할 수..

[OSTEP][영속성] CH44 플래시 기반의 SSD

발표 날짜 2024.12.09 MON 10시a.m.  CH44 플래시 기반의 SSD 솔리드-스테이트 저장 장치 Solid-State Storage 는 하드 디스크처럼 기계적 요소나 회전체가 없고, 메모리와 프로세서처럼 트랜지스터로만 만들어졌다 DRAM 과 달리 SSD 는 전력이 없더라도 정보를 유지할 수 있기 때문에 데이터를 영구적으로 저장할 수 있다 이번 장에서 다룰 플래시 Flash (낸드 기반 플래시 NAND-based Flash) 는어떤 덩어리 (플래시 페이지 Flash Page) 를 쓰려고 하면, 그보다 더 큰 덩어리 (플래시 블럭 Flash Block) 을 삭제해야 하고,페이지를 너무 자주 쓰면 마모 Wear Out 되는 독특한 성질을 가지고 있다 핵심 질문 - 플래시 기반의 SSD 를 어떻게..

[OSTEP][영속성] CH43 로그 기반 파일 시스템

발표 날짜 2024.12.06 FRI  CH43 로그 기반 파일 시스템 로그 기반 파일 시스템의 연구 동기는 아래와 같은 관찰 결과이다 * 시스템 메모리 크기가 증가 추세였다 - 메모리 용량이 커지면서 읽기는 캐시에서 처리되고, 디스크의 사용은 쓰기 위주가 되었다 * 임의 I/O 와 순차 I/O 의 성능 간의 격차가 크게 벌어졌다 - 하드 디스크 드라이브의 전송 대역폭이 꾸준히 증가한 것에 비해 탐색과 회전 지연 비용은 느린 속도로 줄어들었다 * 많은 일반적인 워크로드에서 기존 파일 시스템들의 성능이 좋지 않았다 - FFS 는 파일 하나를 생성하기 위해 여러 번의 쓰기를 해야 한다, FFS 는 여러 번의 짧은 탐색과 연이는 회전 지연을 발생시키기 때문에 최대 순차 대역폭이 낼 수 있는 성능에 한참 못 ..

[OSTEP][영속성] CH42 크래시 일관성 - FSCK와 저널링

발표 날짜 2024.12.04 WED 10시a.m.  CH42 크래시 일관성 - FSCK 와 저널링 파일 시스템은 그 기본 개념들을 구현하는 데 필요한 파일, 디렉터리, 각종 메타데이터들을 관리한다 파일 시스템의 자료 구조는 장시간 사용 후에도 유지되어야 하며 전력 손실에도 손상 없이 안전하게 저장되어야 한다 전력 손실이나 크래시가 발생할 때 파일 시스템은 크래시 일관성 Crash-consistency 이라는 문제에 직면하게 된다 디스크는 한번에 하나의 요청만 처리할 수 있기 때문에 두 개의 자료 구조를 갱신하려고 할 때 하나의 쓰기 작업만 완료한 상태에서 시스템 전원이 나간 경우, 디스크 상의 자료 구조는 일관성이 깨지게 Inconsistent 된다 핵심 질문 - 크래시에도 불구하고 디스크 갱신하기두 ..

[OSTEP][영속성] CH41 지역성과 Fast File System

CH41 지역성과 Fast File System 오래된 UNIX 파일 시스템의 디스크 상의 구조는 아래와 같다 파일 시스템 전체에 대한 정보를 가진 슈퍼블럭 (S) 에는 볼륨 크기, 아이노드 개수, 비어있는 블럭 리스트의 헤드를 가리키는 포인터 등이 있고, 모든 아이노드들은 디스크의 아이노드 영역에 존재한다, 디스크의 대부분의 영역은 데이터 영역으로 할당되어 있다 이 구형 파일 시스템의 장점은 단순하다는 것이다, 이전 시스템들이 사용했던 단일 계층 디렉터리 구조와 비교하면 엄청난 혁신이다 41.1 문제 - 낮은 성능 문제는 성능이 형편없다는 것이다, 성능은 처음부터 안 좋게 시작해서, 나중에는 디스크 대역폭의 2%밖에 사용하지 못 한다 구형 파일 시스템의 핵심 문제는 디스크를 마치 임의 접근 기억 장치 ..

[OSTEP][영속성] CH40 파일 시스템 구현

CH40 파일 시스템 구현 UNIX 파일 시스템을 단순화한 vsfs (Very Simple File System) 을 학습한다 파일 시스템은 CPU 가상화나 메모리 가상화와 달리 성능 개선을 위해 하드웨어를 추가하지 않는다 물론, 잘 동작하는 파일 시스템을 만들려면 장치 특성을 반영해야 한다 핵심 질문 - 어떻게 간단한 파일 시스템을 만들 것인가간단한 파일 시스템을 어떻게 만들 수 있을까? 디스크 위에는 어떤 자료 구조가 필요할까?그러한 자료 구조는 어떤 정보를 추적해야 하는가? 그 자료 구조들은 어떻게 접근되어야 하는가? 40.1 생각하는 방법파일 시스템에 대해 학습할 때는 두 가지 측면에서 접근하면 좋다 1) 파일 시스템의 자료 구조 파일 시스템이 자신의 데이터와 메타데이터를 관리하기 위해 어떤 종류..

[OSTEP][영속성] CH39 파일과 디렉터리 #2

CH39 파일과 디렉터리 #2 디렉터리39.11 디렉터리 생성 디렉터리 관련 시스템 콜들은 디렉터리를 생성하고, 읽고, 삭제하지만 디렉터리에는 절대로 직접 쓸 수 없다 디렉터리는 파일 시스템의 메타데이터로 분류되며 파일 시스템이 디렉터리의 무결성을 책임져야 하므로 항상 간접적으로만 변경된다🐣 디렉터리는 단순히 데이터를 저장하는 "일반 파일" 이 아니고, 파일 시스템에서 특정 파일들의 위치와 이름 정보를 관리하는 구조체이다 디렉터리 내부에는 파일 이름, 파일 속성, inode 번호 등 중요한 정보가 포함되기 때문에 파일 시스템은 디렉터리의 구조와 무결성을 유지해야 한다, 비유하자면, 파일과 관련된 중요한 책장을 관리하는 사서 같은 존재라서 사서의 허락 없이는 책장에 손을 댈 수 없다  디렉터리를 생성할 ..

[OSTEP][영속성] CH39 파일과 디렉터리 #1

발표 날짜 24.11.25 MON 10시a.m.  CH39 막간 - 파일과 디렉터리 운영체제를 구성하는 두 개의 핵심 개념은 CPU를 가상화한 "프로세스"와 메모리를 가상화한 "주소 공간"이다 이 개념들은 서로 협력하여 응용 프로그램들이 서로 독립된 세계에서, 자신만의 프로세서 또는 자신만의 메모리가 있는 것처럼 만들어 준다 하드 디스크 드라이브 또는 솔리드스테이트 드라이브 Solid-state storage, SSD 같은 영속 저장 장치 Persistent Storage 는 전원 공급이 차단되는 상황에서도 영구적으로 데이터를 그대로 보존할 수 있고, 운영체제는 그런 장치들을 좀 더 신중하게 다루어야 한다 핵심 질문 - 어떻게 영속 장치를 관리하는가 운영체제가 영속 장치를 어떻게 관리해야 할까? API들..

[OSTEP] CH38 Redundant Array of Inexpensive Disk, RAID

CH37 하드디스크 드라이브 암을 움직이는 게 가장 큰 비용이 든다, 트랙 비틀림 Track Skew 은 달리기 선수들 출발점이라고 생각하면 편하다 https://www.notion.so/ch-37-143002d06e1180ccacb1e936124c17bdhttps://www.notion.so/Ch-37-9f6f2514b7914747b0ebf0258d8f0464?pvs=25SPTF (Shortest Positioning Time First)탐색 시간과 회전 지연을 동시에 고려하여 가장 짧은 위치 시간을 가진 요청을 우선 처리한다.탐색 시간과 회전 지연을 모두 최적화할 수 있으나 구현이 복잡하고 OS보다는 디스크 내부 컨트롤러에서 주로 사용한다.상황에 의존적이다.작업 보전 방식과 작업 비보전 방식하나의 I..

[OSTEP][영속성] CH35 대화 + CH36 I/O 장치

CH35 영속성에 대한 대화 영속성 Persistence 의 사전적인 의미는 "곤경과 반대에도 불구하고 굳게 또는 완고하게 행동 방침을 유지"한다는 것이다 컴퓨터가 멈추고 디스크가 고장나고 전원이 꺼지더라도 정보를 그대로 유지시키는 것은 엄청나게 많은 노력이 필요하다  CH36 I/O 입출력 장치 I/O 는 컴퓨터 시스템에서 상당히 중요한 부분이다, 컴퓨터 시스템을 유용하게 쓰려면 입력과 출력이 모두 필요하다 핵심 질문 - 어떻게 I/O 를 시스템에 통합할까 시스템에 I/O 를 어떻게 통합해야 하는가? 일반적인 방법은 무엇인가? 어떻게 효율적으로 통합할 수 있을까? 36.1 시스템 구조왼쪽 그림과 같이 고전적 구조에서는, CPU 와 주메모리가 메모리 버스로 연결되어 있다 그래픽이나 다른 고성능 I/O 장..

반응형