7장. 교착상태(deadlock)

Similar documents
Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Microsoft PowerPoint - o8.pptx

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

휠세미나3 ver0.4

Microsoft PowerPoint os10.ppt [호환 모드]

MS-SQL SERVER 대비 기능

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

6.24-9년 6월

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx

리뉴얼 xtremI 최종 softcopy

Microsoft PowerPoint - o10-19.pptx

< B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770>

wp1_ hwp

Integ

Oracle Database 10g: Self-Managing Database DB TSC


<30372E20B1E8B5B5C7F6B4D42E687770>

CD-RW_Advanced.PDF

초보자를 위한 분산 캐시 활용 전략

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

Microsoft PowerPoint - [#4-2] File System Forensic Analysis.pptx

solution map_....


목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

<4D F736F F F696E74202D20BCD2C7C1C6AEBFFEBEEEC6AFB7D03038B3E22E BC8A3C8AF20B8F0B5E55D>

Backup Exec

<4D F736F F F696E74202D2037C0E52DC4B3BDC3BFCDB8DEB8F0B8AE>

PowerPoint Presentation

Adobe Flash 취약점 분석 (CVE )

PowerPoint Presentation

untitled

슬라이드 1

PowerPoint Presentation

Oracle9i Real Application Clusters

Mango220 Android How to compile and Transfer image to Target

알아 둘 사항 아이오드 제조사는 본 기기에 하드디스크를 포함하여 출고하지 않습니다. 따라서 하드디스크에 문제가 발생할 경우, 구매처 또는 해당 하드디스크 서비 스센터에 문의 하시기 바랍니다. 정해진 용도 외의 사용으로 발생한 문제에 대해서, 당사는 어떠한 책임도 지지

PowerPoint Presentation

Microsoft PowerPoint - Flash Memory Based Bottom Up Analysis for Smart Phone System _Final [호환 모드]

목 차

2 / 26

Microsoft Word - HD-35 메뉴얼_0429_.doc

Microsoft Word - USB복사기.doc

Chap06(Interprocess Communication).PDF

Outline 1. FAT12/16/32 ü Introduction ü Internals ü Directory Structure ü Example


소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

슬라이드 1

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

11장 포인터

untitled

Boot Camp 설치 및 설정 설명서

DBPIA-NURIMEDIA

PowerPoint 프레젠테이션

1217 WebTrafMon II


(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 교육과학기술부

PowerPoint 프레젠테이션

[Brochure] KOR_TunA

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

디지털포렌식학회 논문양식

SMB_ICMP_UDP(huichang).PDF

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PRO1_04E [읽기 전용]

Microsoft PowerPoint os2.ppt [호환 모드]


05Àå

PowerPoint 프레젠테이션

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

PowerPoint 프레젠테이션

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

vm-웨어-01장

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

Introduction to Computer Science

Microsoft PowerPoint - Master-ChiWeon_Yoon.ppt

슬라이드 1

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

CONTENTS CONTENTS CONTENT 1. SSD & HDD 비교 2. SSD 서버 & HDD 서버 비교 3. LSD SSD 서버 & HDD 서버 비교 4. LSD SSD 서버 & 글로벌 SSD 서버 비교 2

MySQL-Ch10

시스템 사용자 계정 관리

62

Windows Storage Services Adoption And Futures

C# Programming Guide - Types

MAX+plus II Getting Started - 무작정따라하기

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

문서 대제목

Microsoft PowerPoint - eSlim SV [ ]

Solaris Express Developer Edition

인켈(국문)pdf.pdf

슬라이드 1

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

결과보고서

PCServerMgmt7

Deok9_Exploit Technique

고객 카드 현대모비스 제품을 구입해 주셔서 대단히 감사합니다. A/S 마크란? 공업 진흥청이 애프터 서비스가 우수한 업체를 선정, 지정하는 마크로 애프터 서비스 센터 운영관리 등 8개 분야 45개 항목의 까다로운 심사로 결정됩니다. 주의 : 본 제품의 디자인 및 규격은

B _02_M_Ko.indd

BMP 파일 처리

Transcription:

11 장. 파일시스템구현

목표 local 파일시스템및디렉토리구조의구현을설명 remote 파일시스템구현을설명 블록할당과자유블록알고리즘논의 2

11.1 File-System 구조 File system 은보조저장장치 ( 디스크 ) 에위치. 블록단위전송 I/O 효율성향상 block size: one or more sectors sector size: 32 4KB (usually 512B) File systems 은디스크에대한효율적이고편리한접근을제공함 파일시스템의 2 가지설계문제 파일시스템이사용자에게보여지는방법을정의 파일, 파일속성, 파일연산, 디렉토리구조 논리파일시스템을물리적보조저장장치로맵핑하는방법설계 알고리즘, 자료구조 파일시스템의계층적설계 layered file system 3

계층적파일시스템 (Layered File System) 메타데이터정보관리, 심볼릭파일이름디렉토리구조, file control block(fcb) - inode protection/security logical block 을 physical block 으로변환 file 공간관리자 device driver 에게명령어제공 physical block(drive, cylinder, track, sector) 사용 memory buffers 와 caches 관리 device driver, interrupt handler - 메모리와디스크간의데이터전송 4

File systems 의종류 현재많은파일시스템들이사용되고있음 대부분의운영체제가 2 개이상의파일시스템지원 이동가능한 (removable) 파일시스템 CD-ROM, DVD, floppy disk CD-ROM : ISO 9660 format 디스크기반파일시스템 UNIX : Berkeley Fast File system(ffs) 에기반을둔 Unix 파일시스템 Windows : FAT, FAT32, NTFS Linux : ext2, ext3, ext4(extended file system), 40 개이상의파일시스템지원 분산파일시스템 파일서버에있는파일시스템을네트워크로연결된클라이언트컴퓨터에서마운트하여사용함 5

11.2 File-System 구현 파일시스템구현을위한자료구조 on-disk 자료구조 in-memory 자료구조 On-disk 구조 부트제어블럭 (boot control block) (per 파티션 / 볼륨 ) UNIX 부트블럭 볼륨제어블록 (volume control block) (per 파티션 / 볼륨 ) contains # of blocks, block size, free block count, free block pointer, free FCB count, FCB pointer UNIX - superblock, Windows NTFS - master file table 디렉토리구조 (per 파일시스템 ) file names, associated inode numbers 포함 (NTFS: in master file table) 파일제어블록 (per 파일 ) UNIX's inode (NTFS: in master file table) 파일데이터 6

UNIX file system* 7

In-Memory 자료구조 In-memory 구조 in-memory mount table (partition table) in-memory directory structure 최근에접근한디렉토리들에대한정보 system-wide open file table open file들에대한파일제어블럭 (FCB) 복사본 per-process open file table the system-wide open table의 entry에대한포인터 UNIX - file descriptor, Windows - file handle 8

In-Memory File System 구조 2 1 3 buffer 5 File Open buffer cache 4 5 1 2 4 3 File Open / File Read 9

File Control Block File control block (FCB) 파일에정보로구성되는 storage structure 전형적인 file control block (access control list) logical block 번호 (0 ~ N-1) 10

Partitions 과 Mounting partition 은 raw (unformatted) 또는 cooked (formatted) 일수있음 raw partition : file system 이없음 usages: UNIX swap space, some databases, boot information RAID system information cooked partition : a file system 을포함 Mounting root partition 이부트시간에마운트됨 다른 partition 들은부트시간에자동적으로마운트되거나나중에수동으로마운트될수있음 Windows 는각 volume 을분리된이름공간에마운트 ( 예 ) C:, D:.. UNIX 는 partition 의파일시스템을임의의디렉토리에마운트가능 전체적으로하나의디렉토리구조유지 마운팅정보는 in memory mount table 에저장됨 각파티션에있는파일시스템의 superblock 에대한포인터 11

Virtual File Systems 여러유형의파일시스템에대해서같은 API 를사용할수있도록함 ext3 NTFS 12

11.3 Directory 구현 Linear List 디렉터리를 ( 파일이름, 포인터 ) 들의 linear list 로구현 구현하기쉽지만디렉터리검색에시간이소요됨 Hash Table 파일이름에대한 hash 함수값을계산하여 linear list의위치를결정 디렉터리검색시간감소 여러파일들이같은위치로 hash되는충돌상황에대한처리가필요 13

11.4 Allocation 방법 파일에대한디스크공간할당방법의고려사항 디스크공간의효율적이용 파일의빠른접근 3 가지주요할당방법 contiguous allocation linked allocation indexed allocation 14

연속할당 (Contiguous Allocation) 각파일은디스크의연속된블록들의집합을점유 if start block = b, block i of a file access block b+i 15

Contiguous Allocation ( 계속 ) 장점 단점 최소탐색시간 (seek time) 간단함 디렉토리는시작위치와크기만필요로함 Random access : 파일접근이쉬움 파일의블록 i의위치 = b + i (b는파일의 start 디스크블록번호 ) 외부단편화로인한저장공간낭비 동적저장공간할당문제 파일크기를증가시킬수없음 해결책 : (1) pre-allocation but, internal fragmentation (2) 새로운큰연속적인공간을찾아서저장 속도저하 16

연결할당 (Linked Allocation) 각파일은디스크블록들의 linked list 로구성 block = pointer 블록들이디스크의 임의의위치에분산가능 17

Linked Allocation ( 계속 ) 장점 단점 간단함 디렉토리는시작위치 ( 와마지막위치 ) 만필요로함 공간낭비가없음 연속공간불필요, 외부단편화없음 random access 불가능 임의위치접근이비효율적 뒤에있는블록은여러번의디스크접근필요 연결포인터를위한공간이필요 해결책 : 여러개의연속블록인 clusters 단위로할당 ( 디스크 throughput 향상, 내부단편화발생 ) File-allocation table (FAT) 방식 MS-DOS 에서사용하는디스크공간할당방식 linked allocation 의변형 FAT 는파티션의시작에위치함 FAT 는각디스크블록에대해한 entry 를제공 각디스크블록의 next block number 를저장 FAT 는메모리에캐쉬되어사용 효율적파일접근 18

File Allocation Table (FAT) disk partition FAT copied into memory 0 unused block 19

인덱스할당 (Indexed Allocation) 인덱스블록사용 디스크블록의 pointer 을저장하는디스크블록 index table index block 20

Indexed Allocation ( 계속 ) 장점 단점 random access 가능 (contiguous allocation 의장점 ) 외부단편화없음 (linked allocation 의장점 ) 디렉토리는인덱스블록위치만저장 index block 이필요함 linked allocation 보다 pointer overhead 가더큼 1 개의 index block 파일크기에제한 ( 예 ) 512 word/block : 1 block 은 512 block 의포인터저장 최대파일크기 512 x 512 = 256K word 크기제한의해결책 - 여러개의 index block 을사용 linked scheme multilevel index combined scheme 21

Indexed Allocation - Linked scheme Link blocks of index table 파일크기제한없음 disk block directory index table null 22

Indexed Allocation - Multilevel index Two level index directory M outer-index index table disk block 4KB/block, 1024 4byte pointers max file size: 1024 2 x 4KB = 4GB 23

Combined Scheme: UNIX (4KB / block) direct: 12 x 4KB = 48KB single indirect: 1024 x 4KB = 4MB double indirect: 1024 2 x 4KB = 4GB triple indirect: 1024 3 x 4KB = 4TB 12 32-bit file pointer 4GB 64-bit file pointer(solaris, AIX) > 4GB UNIX i-node 24

11.5 Free-Space 관리 Bit vector free space list 를 bit map 또는 bit vector 로구현 0 1 2 n-1 bit[i] = 1 block[i] free 0 block[i] occupied block number 계산 block number = 8 x 2 + 1 = 17 the number of bits per word the number of 0-value words bit offset of first 1 00000000 00000000 00010010 11111100 00010010 25

Free-Space 관리 ( 계속 ) Bit vector 방식 ( 계속 ) 장점 - 비교적간단, 첫째 free block 및 n 개의연속 free block 찾기쉬움 단점 - Bit map 은추가공간을필요로함 block size = 2 12 B (4KB), disk size = 2 30 B (1GB) 인경우 n = 2 30 /2 12 = 2 18 bits (or 2 15 B = 32KB) 전체 bit vector 를메모리에적재할수없으면비효율적 Linked list (free-list) 단점 - 연속공간을쉽게얻을수없음 장점 공간낭비가없음 26

Free Space 관리 Grouping free list 방식의수정 첫번째 free block 에 n 개의 free block 의주소저장 list head a free block a free block Counting n-1 free blocks n-1 free blocks free list는연속된 free block의첫번째주소와블록개수를저장 free list 길이가짧아짐 (list head,3) 4 2 27

11.6 효율 (Efficiency) 과성능 (Performance) 효율 성능 디스크할당및디렉토리알고리즘이디스크공간의효율적사용에영향을줌. 디렉토리 entry 에저장되는데이터종류를고려해야함 마지막접근시간을기록한다면비효율적임 disk cache 빈번히사용되는 disk block 을저장하는메모리의부분 buffer cache, page cache ( 가상메모리와결합하여사용 ) free-behind 및 read-ahead 순차접근을최적화하기위한기법 28

Page Cache page cache 파일데이터를파일블록이아닌가상메모리의 page 단위로캐쉬 double caching 이발생함 메모리공간낭비 Memory-mapped I/O 는 page cache 를사용 파일시스템 I/O 루틴은 buffer(disk) cache 를사용 I/O Without a Unified Buffer Cache 29

Unified Buffer Cache A unified buffer cache memory-mapped pages 와보통 file system I/O 를복사하는데모두같은 page cache 를사용 double caching 발생하지않음 (= page cache) 30

11.7 Recovery 파일과디렉토리는주메모리와디스크에모두저장됨 system failure 는데이터손실및데이터비일관성 (inconsistency) 을가져올수있음 일관성검사 (Consistency checker) 디렉터리구조에있는데이터와디스크의데이터블록을비교하여 inconsistency 를찾고, inconsistency 를고침 항상가능하지는않음 Backup 시스템프로그램을사용하여디스크데이터를다른보조저장장치 ( 테이프등 ) 로백업 full backup incremental backup... incremental backup Restore 백업장치로부터데이터를복원하여손실된파일 / 디스크를복구함 31

로그구조 (Log Structured) 파일시스템 로그구조파일시스템 (Journaling 파일시스템 ) 파일시스템에대한각 update 를 transaction 으로기록 모든트랜잭션은로그에기록됨 트랜잭션이로그에기록되면, 트랜잭션은 commit( 확정 ) 된것으로간주 이때에, 파일시스템은아직갱신되지않을수있음 로그에있는트랜잭션은비동기적으로파일시스템에기록됨 파일시스템이수정되면, 해당트랜잭션은로그에서삭제됨 파일시스템에기록되는동안시스템이고장나면, 로그에있는모든남아있는트랜잭션은다시수행될수있음 로그에기록되는동안시스템이고장나면, 해당트랜잭션은실행되지않음 파일시스템일관성은유지됨 32