task_struct가 가장 중요한 자료구조.task_struct는 fork가 될 때 마다 하나씩 만들어진다.pid mm => 메모리 => vmarea => text segmentpgd => 페이지테이블 => 페이지프레임files => fd => 파일 테이블 => in
자원 관리자물리 자원 : CPU 메모리 디스크 네트워크추상화 자원 : 프로세스 , 스레드 , 페이지 , 파일 , 소켓 컴퓨팅 계산 환경 제공시스템콜 지원 : fork brk open socket운영체제의 한 구성요소. 스토리지 관리. (디스크, 플래시 메모리)DRAM
파일 디렉토리데이터, 메타데이터파일이나 파일시스템을 관리하기 위해 사용되는 정보슈퍼블럭 : 파일시스템을 관리 (크기,사이즈,아이노드 위치, 루트 디렉토리 위치 , 이용률)아이노드 : 파일의 속성 관리 - 파일마다 하나씩 만들어짐비트맵EXT2, FAT, segment(L
모든 것이 파일아이노드 + Direct , Indirect 포인터디스크 블럭의 위치정보를 포함한 uid ,gid ,time 등등 여러가지 정보를 아이노드에서 찾을 수 있다.디렉토리는 파일명과 inumber의 쌍으로 이루어져 있다.리눅스(미닉스)의 첫 번째 파일 시스템
일관성 비휘발성 => 스토리지 전원이 공급되지 않더라도 데이터가 영속적 일관성을 유지해야한다. Consistency 파일 시스템이 valid한 상태를 유지하는 것 invalid state => 비트맵과 파일이 사용되는것이 불일치한 경우 valid에서 또다른 vali
속성 + 디스크블럭 위치위치 : Direct + Indirecttree 구조로 나타낼 수 있다.inode는 imbalanced tree.대부분의 파일은 작다 // 작은파일을 효과적으로 지원해야함큰 파일이 스토리지의 대부분을 차지한다. // 큰 파일도 지원해야함 ==>
낸드 플래시 // 셀에 전하가 많이 쌓여있음컴퓨팅 리소스 - CPU ,DRAMhost interface (PCle, SATA , SCSI)병렬적 유닛CPU가 필요한 이유FTL(Flash Traslation Layer) : SSD내부에서 동작, 플래시메모리를 디스크처럼
디스크를 타겟으로 만들어진 시스템특징 : 로그 스트럭쳐 : 모든 쓰기를 로그형태로 쓴다. 뒤에 차곡차곡 붙여 쓴다.아웃 오브 플레이스 , 어펜드식으로 쓴다.checkpoint region : 가장 마지막으로 쓰여진 여러 메타데이터들의 위치 정보새로운 데이터를 쓰면 세그
마운트 파일 mkdir 이후 mountxxd를 사용하여 ramdisk 파일 시스템을 분석할 수 있다.options\-s+/- offset : 어디서부터 보여줄 것?(시작점)\-l len: 나타낼 길이\-g bytes : 몇 바이트씩 나눠서?$xxd -g 4 -l 0x1
드라이버 : 물리디스크 => 논리디스크로 추상화FS : 논리 디스크 블럭들을 파일이라는 객체로 추상화시스템콜 : 인터페이스로 추상화VFS : 여러개의 파일 시스템을 통일된 인터페이스로 추상화3개의 파일 시스템이 있다. 각각 파일시스템마다 open 함수가 다르고 inod
규약을 정하는 조직비휘발성 메모리(NAND가 아닌)SCM : 스토리지 클래스 메모리DRAM과 디스크의 특성을 모두 제공하는 메모리소자 = NVM , SCM병렬을 보이도록Zoned NamespaceKey Value I/O 커맨드 => 오픈채널 SSD , 옵태인 SSD ,