Ext2 : i-node, i-block 각각의 inode는 하나의 파일에 대응 파일의 메타데이터, 사이즈, 소유자 등등을 저장 일반적으로 128byte size Directory 는 data block에 소유하고 있는 file/directory 의 이름과 해당 inode로의 포인터(아이노드번호)를 가짐 File content block들을 가리킴 i_block 각각의 non empty regular file 은 data block의 group으로 구성됨 이러한 data block 들에 접근하려면 file block number 나 logical block number로 접근해야함 File block number : file 내의 상대적인 위치 Logical block number : disk partition 내의 위치 Logical numb.. Ext2 : Disk Layout Boot block 한 개와 block group들 로 나누어짐 Boot block 은 file system과 관련 x N 개의 block group 들로 나눠짐 각각의 block group 들은 같은 size이고 sequential 하게 저장됨 Kernel은 가능하면 한 파일의 데이터 블록을 같은 블록 그룹에 저장하려 하므로 블록 그룹은 파일 단편화를 줄이는 효과가 있다 Super block 파일시스템의 metatdata저장 File system에 있는 전체 inode 수, 전체 block 수 저장 Free block 수, inode counter Block group 당 block, inode 수, block size 등등 정보 들어있음 Group descriptors Group 내 block, in.. Ext2 : 특징 Configurable block sizes (1~4KB) EXT2 FS 생성시에, 예상 평균 file size 에 따라 최적의 block size 사용 평균 file size 수 KB 이하 이면 1KB 가 적당 => internal fragmentation 해결 (작은 block size의 장점) 평균 file size 수 KB 이상 이면 4KB 가 적당 => disk 전송횟수 줄어 시스템 부하 줄임 (큰 block size의 장점) Configurable number of i-node 예상하는 파일 수에 따라 같은 크기의 파티션에 들어갈 inode 수 선택 실제 사용할 수 있는 디스크 공간 최대화 Partitions disk blocks into groups lower average disk seek.. OSS와 리눅스 사용에 대한 고찰 왜 리눅스를 사용하는가 ? 리눅스를 사용하는 가장 큰 이유는 modular한 성격때문이다. modular S/W란 여러 component들이 module화 되어 전체 system을 알지 못하더라도 해당하는 부분만 추가/수정할 수 있는 S/W의 특성이다. 예를 들어, system call 부분을 추가한다하면 해당 module만 추가하여 전체 system의 구성요소를 모르더라도 module을 추가하여 사용할 수 있다. 반대로 monolithic한 OS의 대표적인 예로는 windows가 있다. windows같은 monolithic한 os는 여러 component들이 coupling되어있고 연관 되어 있기 때문에 하나의 component를 추가하거나 제거하거나 수정하려할 때 거대한 system 전체에 대해 알아.. Docker 개요 1. 도커란? - Container-based Virtualizaiton Open Source Project- 기존 VM의 (full/para/hybrid) virtualization은 H/W를 emulation하였지만(즉, guest/host 아예 따로 동작) 도커는 단순히 host OS의 resource들을 기존의 LXC기술등을 활용해 사용하는 resource만 isolation만해 독립적인 공간(private space)의 실행환경만 제공하고 host OS가 실행파일 직접 실행함 (실행 환경만 분리, 실행환경만 sandbox화) -VM의 Hypervisor에 대한 IO, 스케줄링 등의 overhead가 없어 빠르고 가벼움 https://medium.freecodecamp.org/docker-quic.. [예정] An Updated Performance Comparison of Virtual Machines and Linux Containers 08. Interrupt (2) Bottom-Halves [예정] TODO List Top halves vs Bottom halves Softirq- 실행, 흐름, 구현- ksoftirq tasklet- 실행, 흐름, 구현 - work queue- 실행, 구조, 흐름, 구현 Bottom halves 비교 07. Interrupt (1) Top-Halves 1. Interrupt ; cpu외부에서 I/O device가 asynchronous하게 processor에게 보내는 electronic signal * cf ) Polling;kernel이(processor가) device의 상태를 periodic하게 check- 장 : polling 시기를 정해 asynchronous한 h/w처리가 발생하지 않음 => 구현 쉬움- 단 : device가 처리하지 않은 경우도 check하기 때문에 cpu clock 낭비 2. Exception; cpu 내부에서 synchronous하게 발생하는 interrupt ex) programming error, page fault, software interrupt * synchronous vs asynchronoussynchro.. 이전 1 2 다음