본문 바로가기

All155

Page Cache: write 글을 좀 오랜만에 쓴다. 이것저것 하느라 글을 그동안 못썼다. 흠, 다음 글은 뭐쓰지? 이전 글 VFS: read_iter() & write_iter() 원래는 페이지 캐시를 정리하려고 했는데 정리하다보니 read/write 매커니즘을 정리할 수밖에 없었다. 이 글에선 read_iter()가 어떻게 동작한는지 간단하게 알아본다. 관련 글 이 글은 가상 파일시스 hyeyoo.com Page Cache: filemap_read 이전 글 이전 글에서는 read() 시스템 호출에서 어떤 일이 일어나는지 알아봤다. read() 시스템 호출은 모드와 권한이 적절한지 확인한 후, 1) Direct IO를 수행하거나 2) filemap_read()로 페이지 캐시에서 hyeyoo.com 앞선 글에서 read()를 할 때.. 2022. 3. 9.
Page Cache: filemap_read 이전 글 이전 글에서는 read() 시스템 호출에서 어떤 일이 일어나는지 알아봤다. read() 시스템 호출은 모드와 권한이 적절한지 확인한 후, 1) Direct IO를 수행하거나 2) filemap_read()로 페이지 캐시에서 데이터를 읽어온다는 것을 알아봤다. VFS: read_iter() & write_iter() 원래는 페이지 캐시를 정리하려고 했는데 정리하다보니 read/write 매커니즘을 정리할 수밖에 없었다. 이 글에선 read_iter()가 어떻게 동작한는지 간단하게 알아본다. 관련 글 이 글은 가상 파일시스 hyeyoo.com 페이지 캐시란 디스크의 속도는 어마무시하게 느리다. HDD에서 지연시간이 밀리초 단위로 발생함을 생각했을 때, 중간에 캐시가 없다면 프로세서가 파일의 내용을 .. 2022. 2. 9.
VFS: read_iter() & write_iter() 원래는 페이지 캐시를 정리하려고 했는데 정리하다보니 read/write 매커니즘을 정리할 수밖에 없었다. 이 글에선 read_iter()가 어떻게 동작한는지 간단하게 알아본다. 관련 글 이 글은 가상 파일시스템에 관해 다루므로 VFS가 처음이라면 아래 글을 읽어보자. [Linux Kernel] 가상 파일시스템이란 (VFS, Virtual Filesystem Switch) Virtual Filesystem이란 리눅스를 사용하면 다양한 형식으로 포맷된 디스크를 사용할 수 있다. 보통 리눅스어세는 ext2, ext3, ext4를 사용하지만 윈도우에서 사용하는 NTFS나 FAT같은 디스크도 사용할 수 hyeyoo.com 자료구조 파일 입출력에서 알아볼 자료구조는 크게 kiocb와 iov_iter이다. 내가 파일.. 2022. 1. 24.
다시 정리하는 NUMA NUMA: Non-Uniform Memory Access NUMA: Non-Uniform Memory Access 메모리 관련 부분을 공부하다보니 NUMA가 많이 나와서 정리해본다. 이 글은 Christoph Lameter의 2013년 문서 "NUMA: An Overview"를 리뷰한 것이다. NUMA는 멀티 프로세서 환경.. hyeyoo.com 이전에 정리했던 NUMA 글은 컴퓨터에서 CPU와 접근하려는 물리 주소에 따라서 접근하는 지연시간이 다를 수 있다는 것과, 그래서 왜 메모리 할당자와 스케줄러가 NUMA 아키텍처를 고려해야 하는지, NUMA 아키텍처에서의 allocation policy와 reclamation 등을 다루었다. 그런데 NUMA에 대해서 생각해보니 아직 왜 NUMA라는 방식이 생겼는.. 2022. 1. 21.
RISS에서 ACM Digital Library의 논문 찾기 논문을 구글로만 검색해서 찾다보니 접근할 수 없는 경우가 종종 있다. 그때마다 ACM Digital Library에선 볼 수 있는데 구독하려면 몇십달러씩 내라해서 포기했다. 알고보니 RISS에서 검색하면 볼 수 있었다 :-) RISS 서비스 이용에 불편을 드려 죄송합니다. 다음과 같은 사유로 인하여 이 페이지가 표시됩니다. 원하시는 웹페이지를 찾을 수 없거나 다른 메뉴로 이동한 경우 서비스 수행 중 일시적인 장애가 발 www.riss.kr 로그인 해외 DB 검색 짜잔 근데 사용 가능한 시간대는 4pm ~ 9am 2022. 1. 20.
Virtual Memory: Memory Compaction 이전 글 Virtual Memory: Zone의 종류 노드(Node)는 용도에 따라서 메모리 영역을 한 개 이상의 영역으로 분리해서 관리한다. 이 때 각 영역을 존(Zone)이라고 한다. 이 글에선 존의 종류에 어떤 것이 있는지 알아본다. 존과 노드, NUMA에 hyeyoo.com Virtual Memory: Grouping pages by mobility 2000년대에는 가상 메모리에서 단편화를 줄이려는 노력이 꾸준히 있었다. 그 중 하나가 이 글에서 분석할, Mel Gorman의 패치 시리즈이다. 이 패치 시리즈는 특성이 서로 다른 페이지를 묶어서 관리 hyeyoo.com Memory Compaction Virtual Memory: Grouping pages by mobility에서 알아봤듯 커널은 .. 2022. 1. 10.