운영체제 파일관리 201440125 이승언. 목차 1. 파일 시스템 1) 파일 시스템의 정의와 기능 2) 파일 읽기 / 쓰기 3) 파일 관리 2. 윈도우의 파일 시스템 1) 윈도우 파일 시스템 종류 2) 윈도우 파일 시스템 비교 3)FAT ①포맷된 디스크의 구조 ②포맷된.

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
PE 로 Windows 7/8 운영체제 만들기 4 조 : 박 성 진. 1.PE로 부팅 합니다. 1) Windows7 PE CD 를 삽입 합니다. 2) BISO 설정에서 부팅순서를 CD-ROM 또는 USB 를 1 순위로 올려준다. 3) 부팅이 될 때 까지 기 달려요.
데이터 완전삭제프로그램 Perfect Delete 사용설명서  주의 이 프로그램을 이용하여 삭제된 데이터는 어떠한 방법으 로도 복구가 불가능합니다. 그러므로 실제 데이터 삭제시 신중을 기하기 바랍니다.
컴퓨터와 인터넷.
Linux Seminar Cahpter 10. Linux File System
오라클 백업과 복구.
컴퓨터 운영체제의 역사 손용범.
적외선으로 감지하는 추적 카메라 조원 : 최승호, 백진영, 이현지.
재료수치해석 HW # 박재혁.
뇌를 자극하는 Windows Server 2012 R2
소리가 작으면 이어폰 사용 권장!.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
연결리스트(linked list).
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
Windows Server 장. 사고를 대비한 데이터 백업.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
컴퓨터 기억장치 문수영 ` = ,./][.
강 명 수 LINUX 설치 강 명 수
07. 디바이스 드라이버의 초기화와 종료 김진홍
Root Filesystem Porting
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
데이터와 정보 및 파일 PARSONS/OJA 컴퓨터 파일과 데이터 저장장치 Page 1 1.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
5장 Mysql 데이터베이스 한빛미디어(주).
CHAP 12. 리소스와 보안.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
27장. 모듈화 프로그래밍.
메모리 관리 & 동적 할당.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
홀인원2.0 설치 메뉴얼.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
Nessus 4 설치 정보보호응용 조용준.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
컴퓨터 시스템 하드웨어 컴퓨터 시스템 소프트웨어 C P U Control Unit 입 력 장 치 출 력 장 치 ALU
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
데이터 베이스 DB2 관계형 데이터 모델 권준영.
PMIS 서버 설정 환경설정 작성자 : 배경환.
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
STS 에서 웹 서버 설치 방법.
9장 파일시스템(File System) 박동근.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Numerical Analysis Programming using NRs
제 4 장 Record.
 6장. SQL 쿼리.
9장 파일 시스템 이성연.
Docker Study 6~7.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

운영체제 파일관리 이승언

목차 1. 파일 시스템 1) 파일 시스템의 정의와 기능 2) 파일 읽기 / 쓰기 3) 파일 관리 2. 윈도우의 파일 시스템 1) 윈도우 파일 시스템 종류 2) 윈도우 파일 시스템 비교 3)FAT ①포맷된 디스크의 구조 ②포맷된 디스크의 논리적 구조 ③시스템 영역의 역할 ④데이터 영역의 역할

파일 시스템의 정의와 기능 * 파일 시스템 : 컴퓨터에서 파일을 기록하고 사용하는 모든 작업의 조직적인 체계 * 기능 - 파일에 대한 접근제어 방법 제고 - 파일의 생성, 변경, 삭제 관리 - 파일의 무결성과 보안유지 방안 제공 - 데이터의 백업 및 복구 기능 제공 - 데이터의 효율적인 저장과 관리

파일 읽기 / 쓰기 사용자 프로그램이 파일을 저장해달라고 운영체제에게 부탁하면 운영체제가 보조기억장치에 파일을 저장하는 것이다. 사용자 프로그램이 기존에 작성한 파일을 읽는 것도 마찬가지다. 사용자 프로그램이 파일을 읽어달라고 운영체제에게 부탁하면 운영체제가 보조기억장치에서 파일을 읽어와 제공하는 것이다.

파일 관리 보조기억장치에 파일을 저장하기 위해서는 보조기억장치의 어느 트랙 어느 섹터가 비어있는지를 알아야 하고, 저장하더라도 해당 파일이 어느 트랙 어느 섹터에 저장되었는지 등의 정보를 관리해야 하는데, 이를 운영체제가 하고 있고 사용자는 운영체제를 통해 파일을 관리할 수 있다. 특히 파일 저장을 포함해서 파일을 관리하는 운영체제 부분을 파일시스템이라 하는데, FAT, NTFS, UFS, ext2 등 다양한 종류의 파일시스템이 있다. 윈도우의 파일시스템 동작에 대해 알아보자.

윈도우 파일 시스템 종류 * FAT(File Allocation Table) : 하드디스크에 FAT 라는 영역을 만들어 파일의 실제 위치 등의 정보를 기록해 이용하는 파일시스템 * FAT 특징 - FAT 는 데이터가 어떤 클러스터에 들어있는지 표시하는 색인표 - FAT 가 손상될 경우를 대비하여 복사본을 같이 저장 - FAT12 : 플로피디스크에 사용되는 파일 시스템 - FAT16 : MS-DOS, Windows 3.1, Windows 95 에서 사용됬던 파일 시스템 - FAT32 : Windows 95 OSR2 부터 FAT16 과 함께 사용하는 파일 시스템

윈도우 파일 시스템 종류 * NTFS(New Technology File System) : MFT(Master File Table) 을 사용하여 관리 Mirror 와 파일로그가 유지되어 비상시 파일복구가 가능 * NTFS 특징 - Everyone 그룹에 대해서는 모든 권한이 ‘ 허용 ’ - 사용자마다 서로 다른 NTFS 보안을 적용시킬 수 있다. - 파일의 NTFS 보안이 풀더의 NTFS 보안보다 우선시된다. - 특정 사용자가 생성한 풀더, 파일은 생성자에게 소유 권한이 있다. - 이론적 최대크기 : 16EB, 실제 최대크기 : 16TB

윈도우 파일 사스템 비교 FAT * 장점 - 호환성 우수 - 단순성 - 저용량 볼륨에 최적화 * 단점 - 보안에 취약 - 대용량 볼륨에 비효율 NTFS * 장점 - 파일, 폴더에 보안강화 및 접근 제어 - 디스크 압축 - 디스크 할당 : 사용자별 디스크 사용 공간의 제어가 가능 - 파일에 대한 암호화 지원 * 단점 - 다른 운영체제에 호환불가 - 저용량 볼륨에서 FAT 대비 속도가 느림

FAT 파일 할당 테이블 (File Allocation Table, FAT) 은 디지털 카메라 등에 장착되는 대부분의 메모리 카드와 수많은 컴퓨터 시스템에 널리 쓰이는 컴퓨터 파일 시스템 구조이다. FAT 파일 시스템은 상대적으로 간단하기 때문에 플로피 디스크, 플래시 메모리 카드, 디지털 카메라 및 다른 수많은 휴대용 기기에서 흔하게 볼 수 있다. FAT 의 성능은 다른 대부분의 파일 시스템에 견주어 좋지 않은 평을 받는다. 그 까닭은 운영 시간을 낭비하게 만드는 너무나도 단순한 자료 구조를 이용하고 조그마한 파일이 많이 있으면 디스크 공간을 잘 활용하지 못하기 때문이다. 그래서 요즘 컴퓨터 시스템은 NTFS 를 많이 사용하는 편이다.

포맷된 디스크의 구조 윈도우 파일시스템으로 FAT 와 NTFS 가 있는데, FAT 방법으로 디스크에 파일을 어떻게 저장하는지에 대해 알아보자. 윈도우로 디스크를 포맷하면 트랙과 섹터가 생기는데, 그림에서 트랙은 동심원을 말하고 섹터는 트랙을 가로질러 자른 각각의 조각을 말한다.

플래터 하드디스크는 여러 개의 플래터로 이루어져 있습니다. 플래터라는 자기디스크에는 데이터를 쓰고, 읽는 작업을 함으로서 데이터를 저장하고, 불러올 수 있게 됩니다. 이 역할을 하는 것은 헤드 입니다.

헤드 LP 플레이어의 헤드가 LP 판을 읽는 것처럼 데이터를 읽기 위해 물리적인 뾰족한 부분이 헤드다. 특히 디스크에서는 아래면과 윗면을 읽을 수 있으므로 그에 따라 플래터당 헤드가 2 개이다.

트랙과 섹터 트랙을 달리는 선수는 자신의 라인만을 달려야 한다. 이처럼 디스크에서 트랙은 같은 반지름을 이루는 부분들의 집합이라고 생각하면 된다. 이러한 트랙의 일정구간을 나누어 놓은 구간이 바로 섹터이다.

포맷된 디스크의 논리적 구조 포맷된 디스크를 논리적인 구조로 나타내면 사진과 같이 크게 시스템 영역과 데이터 영역으로 구성된다. 시스템 영역은 디스크와 데이터 영역에 대한 중요한 정보를 저장하는 작은 크기의 영역으로, 부트 레코드, 파일 할당 테이블 (FAT), 루트 디렉토리로 세분화된다. 그리고 데이터 영역은 일반적인 파일과 서브디렉토리를 저장하는 영역으로 클러스터 단위로 나뉘어 관리된다. 클러스터는 몇 개의 섹터로 이루어지는데, 윈도우 버전에 따라 차이가 있다.

시스템 영역의 역할 부트 레코드는 컴퓨터를 처음 켰을 때 동작하는 프로그램을 저장하고 있는 영역인데, 이 프로그램은 디스크에 저장되어 있는 운영체제를 주기억장치로 올리는 역할을 한다. 파일 할당 테이블은 데이터 영역의 어느 부분이 사용되고 있는지의 여부를 나타내며, 한 파일 할당 테이블에 오류가 발생했을 때 다른 파일 할당 테이블을 이용하기 위해 테이블이 두 개가 있다. 상세한 원리는 동작 예를 통해 살펴볼 것이다. 디렉토리는 디스크에 저장된 파일들에 대한 정보를 보관하는 장소다. 여기서 정보란 각 파일의 이름, 파일 확장자, 파일의 크기, 파일이 마지막으로 기록된 시간과 날짜, 파일 시작 클러스터 번호 ( 파일의 첫 부분이 저장되어 있는 클러스터 번호 ), 파일의 속성을 의미한다. 특히 루트 디렉토리는 포맷을 하면 시스템 영역에 자동적으로 생성된다.

데이터 영역 안의 클러스터 하드디스크드라이브에서 파일을 저장하는 단위로 1 개 또는 복수의 섹터로 이루어진다. 작은 파일은 1 개, 용량이 큰 파일은 여러 개의 클러스터를 사용하여 저장한다. 여러 개의 클러스터를 사용할 때 반드시 연결되어 있지는 않다. 여기저기 흩어져 있어도 그 위치와 순서를 기록한 FAT 에 의하여 관리되므로, 한 번에 파일의 전체 내용을 읽을 수 있다. 하드디스크드라이브 위에 파일을 저장하는 운영 체제에 의해 할당된 장소의 논리적 단위이고, 데이터관리에 있어서 물리적 레코드의 관리 단위이고, 파일을 저장하는 입출력 매체의 종류이며, 데이터 구조 등에 의해 처리 단위가 다르다. 그렇다면 클러스터의 크기를 1000 바이트라 가정하고 데이터 영역의 역할을 살펴보자.

데이터 영역의 역할 ① 먼저 루트 디렉토리 아래에 src 디렉토리를 생성한다. 디렉토리도 파일에 해당되므로 데이터 영역인 클러스터 1 번에 src 디렉토리를 만들고, src 에 대한 정보를 루트 디렉토리에 저장한다. 저장하는 정보 중에는 파일 시작 클러스터 번호인 1 도 포함한다. 그리고 파일 할당 테이블 1 번에는 파일의 끝을 의미하는 값을 기록한다. 이처럼 디렉토리에는 파일 시작 클러스터 번호를 저장하며 그 번호에 대응되는 FAT 에 다음 클러스터 번호를 저장한다. 만약 파일의 끝이면 대응되는 FAT 에는 파일의 끝을 의미하는 값을 저장한다.

데이터 영역의 역할 ② 다음으로, src 디렉토리에 1,500 바이트 크기의 ‘test.c’ 파일을 생성한다. test.c 는 두 개의 클러스터가 필요하므로 클러스터 2 와 3 에 저장하며, test.c 에 대한 정보를 src 디렉토리에 저장한다. 저장한 정보 중에는 파일 시작 클러스터 번호인 2 가 포함되고, FAT 2 번에는 다음 클러스터 번호인 3 을 저장하고, FAT 3 번에는 파일의 끝을 의미하는 값을 기록한다.

데이터 영역의 역할 ③ 루트 디렉토리에 1,100 바이트 크기의 ‘C.hwp’ 파일을 생성한다. C.hwp 를 클러스터 4, 5 에 저장한다. 디스크에 저장하는 최소 단위는 클러스터이므로 1,100 바이트 크기의 파일이라도 두 개의 클러스터를 차지해서 저장한다. C.hwp 에 대한 정보를 루트 디렉토리에 저장하고 FAT 4 번에는 5 가, 5 번에는 파일의 끝을 의미하는 값을 기록한다.

데이터 영역의 역할 ④ test.c 파일을 수정해서 크기가 2,500 바이트로 커진다고 가정해보자. 수정된 test.c 를 저장하기 위해서는 클러스터 2 와 3 외에도 1 개의 클러스터가 더 필요하다. 이미 클러스터 4 와 5 에는 다른 파일이 저장되어 있으므로 클러스터 6 에 나머지 부분을 저장한다. 그리고 FAT 3 에 6 을 저장하고 FAT 6 에 파일의 끝을 의미하는 값을 기록한다.

데이터 영역의 역할 이처럼 파일이 연속적으로 저장되지 않고 분산되어 저장될 수 있다. 운영체제는 연속된 클러스터에 파일을 저장하려 하지만, 파일을 지우거나 쓰는 작업을 반복하다보면 하나의 파일이 흩어져 저장되는 경우가 생기는데 이는 디스크의 접근 시간을 저하시키는 요인이 된다. 다음은 바로 앞 그림 구조의 src 디렉토리에서 test.c 파일을 읽는 순서다. ① 루트 디렉토리에서 src 디렉토리에 대한 정보를 찾는다. ② 이 정보를 통해 src 디렉토리가 클러스터 1 에 저장된 것을 알고 클러스터 1 로 간다. ③ 클러스터 1 에 위치한 src 디렉토리에서 test.c 파일에 대한 정보를 찾는다. ④ test.c 파일의 첫 부분이 클러스터 2 에 저장된 것을 확인한다. ⑤ FAT 2 에 3 이, FAT 3 에 6 이 그리고 FAT 6 에 끝을 의미하는 값이 저장된 것을 확인한다. 이를 통해 test.c 파일이 클러스터 2, 3, 6 에 저장된 것을 알고, 이들 클러스터에 저장된 내용을 읽는다.

나의 윈도우 파일 시스템 보기 콘솔창에 fsutil fsinfo volumeinfo c: 혹은 fsutil fsinfo statistics c: 를 입력