안녕하세요 Pingu입니다!🐧 지난 글에서는 FFS(Fast File System)에 대해 알아보며 파일 시스템의 성능을 어떻게 좋게 만들지에 대해 알아봤었는데요, 이번 글에서는 파일 시스템의 신뢰성을 위한 FSCK(File System ChecK)와 journaling에 대해 알아보려고 합니다. 제가 공부할 때 참고하고 있는 책인 OSTEP에서는 Chapter 42 - FSCK And Journaling 부분입니다! Crash Consistency: FSCK and Journaling 지금까지 알아본 파일 시스템은 추상화를 지원하기 위해 파일, 디렉터리, 이들의 정보를 담은 메타 데이터로 구성된다고 배웠습니다. 메모리와는 다르게 디스크나 SSD와 같은 저장 장치는 전원이 차단된 상태에서도 데이터를 유지..
안녕하세요 Pingu입니다! 🐧 저번 글에서는 VSFS(Very Simple File System)으로 알려진 파일 시스템을 구현하는 방법을 알아봤습니다. 그로 인해 아무런 정책 없이 파일 시스템을 구현하면 디스크 I/O가 너무 많이 발생하여 성능을 저하시킨다는 것을 알게 되었습니다. 이번 글에서는 이러한 성능 저하를 줄이는 정책들을 적용한 Fast File System에 대해 알아보려고 합니다. 이름에서부터 Fast라고 하니 얼마나 빠른지 기대가 됩니다.😆 제가 공부할 때 참고하고 있는 책인 OSTEP에서는 Chapter 41 - Fast File System 부분 입니다! Locality and The Fast File System UNIX 운영 체제가 처음 도입되었을 때 첫 번째 파일 시스템은 아래..
안녕하세요 Pingu입니다.🐧 지난 글에서는 파일 시스템에서 가장 중요한 두 요소인 File, Directory에 대해 알아봤었습니다. 이번 글에서는 파일 시스템 자체를 구현하는 방법에 대해 알아볼 예정인데요, 이전 글까지도 계속 등장한 inode부터 시작해서 다양한 파일 시스템의 개념에 대해 알아보도록 하겠습니다. 제가 공부할 때 참고하고 있는 책인 OSTEP에서는 Chapter 40 - File System Implemention 부분입니다! File System Implementation 이번 글에서는 VSFS(the Very Simple File System)으로 알려진 간단한 파일 시스템을 구현하는 방법을 알아볼 예정입니다. VSFS는 UNIX의 여러 가지 파일 시스템을 단순화한 것으로 이를 공..
안녕하세요 Pingu입니다.🐧 지난 글에서는 여러 개의 디스크를 한 번에 사용하여 더 빠르고, 용량도 더 크고 신뢰도도 향상하는 방법인 RAID에 대해 알아봤었습니다. 이번 글에서는 그러한 디스크에 저장하는 파일과 파일을 구분하는 디렉터리에 대해 알아보려고 합니다. 제가 공부할 때 참고하는 책인 OSTEP에서는 Chapter 39 - Files and Directories 부분입니다! Files and Directories 지금까지 OS를 공부해 오면서 CPU를 가상화할 때 사용하던 프로세스, 메모리를 가상화할 때 사용한 가상 메모리를 통해 OS의 추상화를 살펴보았습니다. 이번 글에서는 컴퓨터 시스템에서 중요한 스토리지(저장 공간) 가상화에 대해 알아보려고 합니다. 저장공간에는 디스크, SSD 등이 있으..
안녕하세요 Pingu입니다!🐧 지난 글에서는 하드 디스크를 잘 동작하도록 관리하는 Hard Disk Drive에 대해 알아봤었습니다. 이번 글에서는 비교적 느린 디스크를 더 빠르게, 크기도 더 크게, 데이터의 신뢰성도 유지할 수 있도록 만들어주는 Redundant Arrays of Inexpensive Disks(RAID)에 대해 알아보려고 합니다. 제가 공부할 때 참고하고 있는 책인 OSTEP책 에선 Chapter 38 - Redundant Arrays of Inexpensive Disks(RAID) 부분 입니다! Redundant Arrays of Inexpensice Disks (RAID) 더 빠른 디스크, 더 큰 용량을 가진 디스크, 데이터 신뢰도가 높은 디스크가 있다면 그 디스크를 사용하지 않을..
안녕하세요 Pingu입니다!🐧 지난 글에 이어 OS에서의 Persistence(영속성)에 대해 알아볼 예정이에요. 지난 글에서는 I/O Device에 대한 일반적인 개념에 대해 알아봤었는데요, 이번 글에서는 그러한 I/O Device 중 하나인 Hard Disk Drive에 대해 알아보도록 하겠습니다. 이름에서 알 수 있듯 하드웨어를 다루는 장치일 것 같죠? 제가 공부할 때 참고하고 있는 책인 OSTEP에서는 Chapter 37 - Hard Disk Drives 부분입니다. Hard Disk Drives 지난 글에서는 I/O Device에 대한 일반적인 개념을 알아보고 OS와 상호작용하는 방법을 알아봤었습니다. 이번글에서는 I/O Device들 중에서도 hard disk device에 대해 알아보려고 합..
안녕하세요 Pingu입니다! 🐧 지난 글인 Concurrency의 문제점을 알아보는 글을 마지막으로 Concurrency(동시성)에 대해 알아봤고 이번 글부터는 Persistence(영속성)에 대해 알아보려고 합니다. 영속성이라는 것은 데이터를 영구적으로 저장할 수 있는 것을 말하며 이를 위한 방법들을 알아볼 예정입니다. 영속성 단원에서는 I/O Device, 파일 시스템, Disk와 같은 데이터를 저장하기 위해 OS가 하는 일에 대해 알아볼 거예요! 이번 글에서는 그중에서도 파일 입출력 장치 (I/O Device)에 대해 알아보려고 합니다. 제가 공부할 때 참고하고 있는 OSTEP 책에서는 Chapter 36 - I/O Devices 부분 입니다! I/O Devices 이번 글에서는 I/O Device..
안녕하세요 Pingu입니다. 🐧 지난 글에서는 동시성을 구현하기 위해 사용했던 Lock과 condition variable(조건 변수) 역할을 한 번에 할 수 있는 semaphore(세마포어)에 대해 알아봤습니다. 세마포어를 활용하여 여러 가지 유명한 문제들을 해결해봤었는데요, 이렇게 동시성을 잘 구현할 수 있게 되었지만 동시성 프로그래밍에는 문제점이 존재합니다. 바로 Deadlock(교착 상태)라고 불리는 문제인데요, 이번 글에서는 교착 상태에 대해 알아보고 어떻게 예방하고 해결할 수 있는지에 대해 알아보도록 하겠습니다. 제가 공부할 때 참고하고 있는 책인 OSTEP에서는 Chapter 32 - Concurrecny Bug 부분입니다! Common Concurrency Problems 동시성은 여러개의..
- Total
- Today
- Yesterday
- Apple
- operating
- OS
- IOS
- 아이폰
- BFS
- 문법
- 백준
- 테이블뷰
- Xcode
- 동시성
- 프로그래밍
- Swift
- Combine
- 스위프트
- System
- dfs
- 코딩테스트
- 자료구조
- document
- design
- OSTEP
- DP
- pattern
- Publisher
- 알고리즘
- 앱개발
- mac
- 코테
- operator
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |