파일 및 파일 시스템. 파일 시스템: 비교, 비밀 및 고유 기능 파일 시스템 작동 방식

복습강의자료 33호

특수학생을 위한

"정보 기술 소프트웨어"

컴퓨터과학과 부교수, Ph.D. 리박 E.N.

파일 관리 시스템

기본 개념, 사실

목적. 파일 시스템의 특징지방VFAT지방 32,HPFSNTFS. 파일 시스템 UNIX OS(s5, ufs), Linux OS Ext2FS 디스크의 시스템 영역(파티션, 볼륨) 파일 배치 및 파일 위치 정보 저장 원칙. 카탈로그 구성. 파일 및 디렉터리에 대한 액세스를 제한합니다.

기술

파일 시스템 구조에 대한 지식을 사용하여 컴퓨터 정보(파일 및 디렉터리)를 보호하고 복원합니다. 파일에 대한 액세스 제어 구성.

파일 시스템. 파일 시스템 구조

디스크의 데이터는 파일 형태로 저장됩니다. 파일은 디스크의 명명된 부분입니다.

파일 관리 시스템은 파일을 관리하도록 설계되었습니다.

논리적 수준에서 파일에 저장된 데이터를 처리하는 기능은 파일 시스템에서 제공됩니다. 모든 저장 매체에서 데이터가 구성되는 방식을 결정하는 것은 파일 시스템입니다.

따라서, 파일 시스템 파일 정보의 생성, 파기, 구성, 읽기, 쓰기, 수정 및 이동은 물론 파일에 대한 액세스 제어 및 파일에서 사용되는 리소스 관리를 담당하는 사양 및 해당 소프트웨어의 집합입니다.

파일 관리 시스템은 대부분의 최신 운영 체제의 주요 하위 시스템입니다.

파일 관리 시스템 사용

· 모든 시스템 처리 프로그램은 데이터를 사용하여 연결됩니다.

· 중앙 집중식 배포 문제가 해결되었습니다. 디스크 공간및 데이터 관리;

· 사용자에게 파일에 대한 작업(생성 등)을 수행하고, 파일과 다양한 장치 간에 데이터를 교환하고, 무단 접근으로부터 파일을 보호할 수 있는 기회를 제공합니다.

일부 운영 체제에는 여러 파일 관리 시스템이 있어 여러 파일 시스템을 처리할 수 있습니다.

파일 시스템과 파일 관리 시스템을 구별해 보겠습니다.

"파일 시스템"이라는 용어는 파일로 구성된 데이터에 대한 액세스 원칙을 정의합니다.

용어 "파일 관리 시스템"파일 시스템의 특정 구현을 나타냅니다. 이는 특정 OS의 파일 작업을 제공하는 소프트웨어 모듈 세트입니다.

따라서 일부 파일 시스템에 따라 구성된 파일을 작업하려면 각 OS에 적합한 파일 관리 시스템을 개발해야 합니다. 이 UV 시스템은 설계된 OS에서만 작동합니다.

Windows OS 제품군의 경우 주로 사용되는 파일 시스템은 VFAT, FAT 32, NTFS입니다.

이러한 파일 시스템의 구조를 살펴보겠습니다.

파일 시스템에서 지방 논리 드라이브의 디스크 공간은 두 영역으로 나뉩니다.

시스템 영역과

· 데이터 영역.

시스템 영역 포맷하는 동안 생성 및 초기화되며 이후에 파일 구조가 조작되면 업데이트됩니다.

시스템 영역은 다음 구성요소로 구성됩니다.

· 부트 레코드(부트 레코드)를 포함하는 부트 섹터;

· 예약된 섹터(존재하지 않을 수도 있음);

· 파일 할당 테이블 (FAT, 파일 할당 테이블);

· 루트 디렉터리(ROOT).

이러한 구성 요소는 디스크에 차례로 위치합니다.

데이터 영역 루트 파일과 하위 디렉터리를 포함합니다.

데이터 영역은 소위 클러스터로 구분됩니다. 클러스터는 데이터 영역의 하나 이상의 인접한 섹터입니다. 반면, 클러스터는 파일에 할당된 디스크 메모리의 주소 지정이 가능한 최소 단위입니다. 저것들. 파일이나 디렉토리는 정수개의 클러스터를 차지합니다. 새 파일을 생성하고 디스크에 쓰기 위해 운영 체제는 여러 개의 여유 디스크 클러스터를 할당합니다. 이러한 클러스터는 서로 이어질 필요가 없습니다. 각 파일에 대해 해당 파일에 할당된 모든 클러스터 번호 목록이 저장됩니다.

섹터를 사용하는 대신 데이터 영역을 클러스터로 나누면 다음을 수행할 수 있습니다.

· FAT 테이블의 크기를 줄입니다.

· 파일 조각화를 줄입니다.

· 파일 체인의 길이가 줄어듭니다. Þ 파일 액세스 속도를 높입니다.

그러나 너무 큰 사이즈클러스터는 특히 작은 파일 수가 많은 경우 데이터 영역을 비효율적으로 사용하게 합니다(결국 평균적으로 각 파일에 대해 클러스터의 절반이 손실됩니다).

최신 파일 시스템(FAT 32, HPFS, NTFS)에서는 클러스터 크기(최대 4KB)를 제한하여 이 문제를 해결합니다.

데이터 영역 지도는 파일 할당 테이블 (파일 할당 테이블 - FAT) FAT 테이블의 각 요소(12, 16 또는 32비트)는 하나의 디스크 클러스터에 해당하며 해당 상태(사용 가능, 사용 중 또는 불량 클러스터)를 특징으로 합니다.

· 클러스터가 파일에 할당되면(즉, 사용 중) 해당 FAT 요소에는 파일의 다음 클러스터 번호가 포함됩니다.

· 파일의 마지막 클러스터는 FF8h - FFFh(FFF8h - FFFFh) 범위의 숫자로 표시됩니다.

· 클러스터가 비어 있는 경우 0 값 000h(0000h)가 포함됩니다.

· 사용할 수 없는(실패한) 클러스터는 FF7h(FFF7h)라는 숫자로 표시됩니다.

따라서 FAT 테이블에서는 동일한 파일에 속한 클러스터가 체인으로 연결됩니다.

파일 할당 테이블은 논리 디스크의 부트 레코드 바로 뒤에 저장되며 정확한 위치는 부트 섹터의 특수 필드에 설명됩니다.

이는 서로 이어지는 두 개의 동일한 복사본에 저장됩니다. 테이블의 첫 번째 복사본이 삭제되면 두 번째 복사본이 사용됩니다.

FAT는 디스크 액세스 중에 매우 집중적으로 사용되기 때문에 일반적으로 RAM(I/O 버퍼 또는 캐시)에 로드되어 가능한 한 오랫동안 유지됩니다.

FAT의 가장 큰 단점은 파일 처리 속도가 느리다는 것입니다. 파일을 생성할 때 첫 번째 무료 클러스터가 할당된다는 규칙이 있습니다. 이로 인해 디스크 조각화가 발생하고 파일 체인이 복잡해집니다. 이로 인해 파일 작업 속도가 느려집니다.

FAT 테이블을 보고 편집하려면 다음을 사용할 수 있습니다. 공익사업디스크편집자.

파일 자체에 대한 자세한 정보는 루트 디렉터리라는 다른 구조에 저장됩니다. 각 논리 드라이브에는 자체 루트 디렉터리(ROOT)가 있습니다.

루트 디렉토리 파일 및 기타 디렉터리에 대해 설명합니다. 디렉터리 요소는 파일 설명자입니다.

각 파일 및 디렉터리 설명자에는 이를 포함합니다.

· 이름

· 확대

생성 날짜 또는 마지막 수정 날짜

· 생성 시간 또는 마지막 수정 시간

속성(아카이브, 디렉터리 속성, 볼륨 속성, 시스템, 숨김, 읽기 전용)

· 파일 길이(디렉토리의 경우 - 0)

· 사용되지 않는 예약된 필드

· 파일이나 디렉토리에 할당된 클러스터 체인의 첫 번째 클러스터 번호; 이 번호를 받은 운영 체제는 FAT 테이블을 참조하여 파일의 다른 모든 클러스터 번호를 찾습니다.

따라서 사용자는 실행을 위해 파일을 시작합니다. 운영 체제는 현재 디렉터리에 있는 파일 설명을 보고 원하는 이름을 가진 파일을 찾습니다. 현재 디렉터리에서 필요한 요소가 발견되면 운영 체제는 첫 번째 클러스터의 번호를 읽습니다. 이 파일, 그런 다음 FAT 테이블을 사용하여 나머지 클러스터 번호를 결정합니다. 이 클러스터의 데이터를 읽어옵니다. , 하나의 연속 섹션으로 결합합니다. 운영 체제는 제어권을 파일로 전송하고 프로그램이 실행되기 시작합니다.

루트 디렉터리 ROOT를 보고 편집하려면 다음을 사용할 수도 있습니다. 공익사업디스크편집자.

파일 시스템 VFAT

VFAT(가상 FAT) 파일 시스템은 Windows for Workgroups 3.11에 처음 등장했으며 보호 모드 파일 I/O용으로 설계되었습니다.

이 파일 시스템은 Windows 95에서 사용됩니다.

Windows NT 4에서도 지원됩니다.

VFAT는 Windows 95의 기본 32비트 파일 시스템입니다. VFAT .VXD 드라이버에 의해 제어됩니다.

VFAT는 모든 파일 작업에 32비트 코드를 사용하며 32비트 보호 모드 드라이버를 사용할 수 있습니다.

그러나 파일 할당 테이블 항목은 12비트 또는 16비트로 유지되므로 디스크는 동일한 데이터 구조(FAT)를 사용합니다. 저것들. 에프 테이블 형식VFAT도 마찬가지다, FAT 형식과 같습니다.

"8.3" 이름과 함께 VFAT 긴 파일 이름을 지원합니다. (VFAT는 종종 긴 이름을 지원하는 FAT라고 합니다.)

VFAT의 주요 단점은 논리 디스크 크기가 크고 논리 디스크 자체 크기에 대한 제한으로 인해 클러스터링 손실이 크다는 것입니다.

파일 시스템 지방 32

이는 FAT 테이블을 사용하는 아이디어를 새롭게 구현한 것입니다.

FAT 32는 완전히 독립적인 32비트 파일 시스템입니다.

Windows OSR 2(OEM 서비스 릴리스 2)에서 처음 사용되었습니다.

현재 Windows 98 및 Windows ME에서는 FAT 32가 사용됩니다.

이전 FAT 구현에 비해 많은 개선 사항과 추가 사항이 포함되어 있습니다.

1. 더 작은 클러스터(4KB)를 사용하므로 디스크 공간을 훨씬 더 효율적으로 사용합니다. 최대 15%까지 절약되는 것으로 추정됩니다.

2. 중요한 데이터 구조의 복사본을 생성할 수 있는 확장된 부트 레코드가 있습니다. Þ 디스크 구조 손상에 대한 디스크의 저항력을 증가시킵니다.

3. 표준 백업 대신 FAT 백업을 사용할 수 있습니다.

4. 루트 디렉터리를 이동할 수 있습니다. 즉, 루트 디렉터리는 어느 위치에나 있을 수 있습니다. Þ 루트 디렉터리 크기에 대한 제한을 제거합니다(ROOT는 하나의 클러스터를 차지해야 하므로 요소 512개).

5. 루트 디렉터리 구조 개선

생성 시간, 생성 날짜, 마지막 액세스 날짜, 체크섬과 같은 추가 필드가 나타납니다.

긴 파일 이름에 대한 핸들은 여전히 ​​여러 개 있습니다.

파일 시스템 HPFS

HPFS(고성능 파일 시스템)는 고성능 파일 시스템입니다.

HPFS는 OS/2 1.2와 LAN Manager에 처음 등장했습니다.

나열해보자 HPFS의 주요 기능.

· 가장 큰 차이점은 디스크에 파일을 저장하는 기본 원칙과 파일 위치에 대한 정보를 저장하는 원칙입니다. 이러한 원칙 덕분에 HPFS는 고성능 및 내결함성, 신뢰성파일 시스템.

· HPFS의 디스크 공간은 클러스터(FAT처럼)에 할당되지 않지만 블록.최신 구현에서는 블록 크기가 한 섹터와 동일하게 간주되지만 원칙적으로 크기가 다를 수 있습니다. (실제로 블록은 클러스터이며 클러스터만이 항상 하나의 섹터와 동일합니다.) 이렇게 작은 블록에 파일을 배치하면 디스크 공간을 보다 효율적으로 사용, 여유 공간의 오버헤드는 평균적으로 파일당 256바이트(섹터의 절반)에 불과하기 때문입니다. 클러스터 크기가 클수록 더 많은 디스크 공간이 낭비된다는 점을 기억하십시오.

· HPFS 시스템은 파일을 인접한 블록으로 배열하려고 노력하며, 이것이 불가능할 경우 다음과 같은 방식으로 디스크에 배치합니다. 범위(조각) 파일은 물리적으로 가능한 한 서로 가깝습니다. 이 접근 방식은 필수적입니다. 쓰기/읽기 헤드 위치 지정 시간 감소하드 드라이브 및 대기 시간(원하는 트랙에 읽기/쓰기 헤드를 설치하는 사이의 지연). FAT 파일에서는 첫 번째 무료 클러스터가 단순히 할당된다는 점을 기억해 보겠습니다.

범위(ext) - 디스크의 인접한 섹터에 위치한 파일 조각입니다. 파일이 조각화되지 않은 경우 파일에는 하나 이상의 범위가 있고, 그렇지 않은 경우에는 여러 범위가 있습니다.

·사용된 방법파일 위치에 대한 정보를 저장하고 검색하기 위한 균형 잡힌 이진 트리(디렉터리는 디스크 중앙에 저장되며 디렉토리 자동 정렬 기능도 제공됨)가 필수적입니다. 생산성을 높인다 HPFS(FAT 대비).

· HPFS는 다음을 허용하는 특수 확장 파일 속성을 제공합니다. 파일 및 디렉터리에 대한 액세스 제어.

확장된 속성 (확장 속성, EA ) 파일에 대한 추가 정보를 저장할 수 있습니다. 예를 들어, 각 파일은 고유한 그래픽(아이콘), 파일 설명, 설명, 파일 소유자 정보 등과 연관될 수 있습니다.

C HPFS 파티션 구조


HPFS가 설치된 파티션의 시작 부분에는 세 개의 파티션이 있습니다. 블록 제어:

부트 블록

· 추가 블록(슈퍼 블록) 및

· 예비(백업) 블록(예비 블록).

그들은 18개 섹터를 차지합니다.

HPFS에 남아 있는 모든 디스크 공간은 인접한 섹터의 여러 부분으로 나뉩니다. (밴드-스트립, 테이프). 각 스트립은 8MB의 디스크 공간을 차지합니다.

각 스트립에는 고유한 특성이 있습니다. 섹터 할당 비트맵.비트맵은 주어진 대역의 어느 섹터가 점유되어 있고 어느 섹터가 비어 있는지 보여줍니다. 데이터 스트립의 각 섹터는 비트맵의 1비트에 해당합니다. 비트 = 1이면 해당 섹터가 사용 중이고, 0이면 비어 있는 것입니다.

두 레인의 비트맵은 레인 자체와 마찬가지로 디스크에 나란히 위치합니다. 즉, 줄무늬와 카드의 순서는 그림 1과 같습니다.

비교지방. 전체 디스크(FAT 테이블)에 대해 하나의 "비트 맵"만 있습니다. 그리고 이를 사용하려면 평균적으로 디스크의 절반에 걸쳐 읽기/쓰기 헤드를 이동해야 합니다.

HPFS에서 디스크를 스트라이프로 분할하는 것은 하드디스크의 읽기/쓰기 헤드 위치 지정 시간을 줄이기 위한 것입니다.

고려해 봅시다 제어 블록.

부트 블록(신병차단하다)

볼륨 이름, 일련 번호, BIOS 매개변수 블록 및 프로그램이 포함되어 있습니다. 부트스트랩.

부트스트랩 프로그램이 파일을 찾습니다. OS 2 LDR , 이를 메모리로 읽고 제어권을 이 ​​OS 부팅 프로그램으로 전달합니다. 그러면 OS/2 커널이 디스크에서 메모리로 로드됩니다. OS 2 KRNL. 그리고 이미 OS 2 KRIML 파일의 정보를 사용하여구성 시스템 필요한 다른 모든 것을 메모리에 로드합니다. 소프트웨어 모듈그리고 데이터 블록.

부트 블록은 섹터 0~15에 위치합니다.

감독자차단하다(슈퍼 블록)

포함

· 비트맵 목록(비트맵 블록 목록)에 대한 포인터입니다. 이 목록에는 여유 섹터를 검색하는 데 사용되는 비트맵이 포함된 디스크의 모든 블록이 나열됩니다.

· 결함이 있는 블록 목록(불량 블록 목록)에 대한 포인터입니다. 시스템이 손상된 블록을 감지하면 이 목록에 추가되며 더 이상 정보를 저장하는 데 사용되지 않습니다.

· 디렉토리 밴드에 대한 포인터

· 루트 디렉토리의 파일 노드(F -node)에 대한 포인터,

· CHKDSK에 의한 파티션의 마지막 스캔 날짜;

· 스트라이프 크기에 대한 정보(현재 HPFS 구현에서는 - 8MB).

슈퍼블록은 16섹터에 위치합니다.

여분의차단하다(예비 블록)

포함

· 긴급 교체 맵(핫픽스 맵 또는 핫픽스 -영역)에 대한 포인터;

· 여유 예비 블록 목록에 대한 포인터(디렉토리 비상 여유 블록 목록);

· 다수의 시스템 플래그 및 설명자.

이 블록은 디스크의 섹터 17에 있습니다.

백업 블록은 HPFS 파일 시스템에 높은 내결함성을 제공하고 디스크에서 손상된 데이터를 복구할 수 있도록 해줍니다.

파일 배치 원리

범위(ext) - 디스크의 인접한 섹터에 위치한 파일 조각입니다. 파일이 조각화되지 않은 경우 파일에는 하나 이상의 범위가 있고, 그렇지 않은 경우에는 여러 범위가 있습니다.

하드 디스크의 읽기/쓰기 헤드 위치를 지정하는 데 걸리는 시간을 줄이기 위해 HPFS 시스템은 다음과 같이 노력합니다.

1) 파일을 인접한 블록에 배치합니다.

2) 이것이 가능하지 않은 경우 조각난 파일의 범위를 가능한 한 서로 가깝게 배치하십시오.

이를 위해 HPFS는 통계를 사용하고 증가하는 파일 끝에 최소 4KB의 공간을 조건부로 예약하려고 시도합니다.

파일 위치 정보 저장 원칙

디스크의 각 파일과 디렉터리에는 고유한 속성이 있습니다. 파일 노드 F-노드. 이는 파일의 위치와 확장된 속성에 대한 정보를 포함하는 구조입니다.

각 F-노드는 점유합니다. 한 부문항상 해당 파일이나 디렉터리 가까이에 위치합니다(보통 파일이나 디렉터리 바로 앞). F-노드 개체에는 다음이 포함됩니다.

· 길이,

· 파일 이름의 처음 15자,

· 특별한 서비스 안내,

· 파일 액세스에 대한 통계,

· 확장된 파일 속성,

· 액세스 권한 목록(또는 매우 큰 경우 이 목록의 일부) 확장된 속성이 파일 노드에 비해 너무 크면 해당 속성에 대한 포인터가 기록됩니다.

· 파일의 위치 및 종속 등에 관한 연관 정보

파일이 연속되어 있는 경우 디스크에서의 해당 위치는 두 개의 32비트 숫자로 설명됩니다. 첫 번째 숫자는 파일의 첫 번째 블록에 대한 포인터이고 두 번째 숫자는 확장 길이(파일에 속하는 연속 블록의 수)입니다.

파일이 단편화된 경우 해당 확장 영역의 위치는 추가 32비트 숫자 쌍으로 파일 노드에 설명됩니다.

파일 노드에는 파일의 최대 8개 범위에 대한 정보가 포함될 수 있습니다. 파일에 더 많은 범위가 있는 경우 할당 블록에 대한 포인터가 해당 파일 노드에 기록됩니다. 여기에는 범위에 대한 최대 40개의 포인터 또는 디렉터리 트리 블록과 유사하게 다른 할당 블록에 대한 포인터가 포함될 수 있습니다.

디렉토리 구조 및 배치

디렉토리를 저장하는 데 사용됩니다. 디스크 중앙에 위치한 스트라이프.

이 스트립은 예배 규칙서밴드.

완전히 가득 차면 HPFS는 파일 디렉터리를 다른 스트라이프에 배치하기 시작합니다.

이 정보 구조를 디스크 중앙에 배치하면 평균 읽기/쓰기 헤드 위치 지정 시간이 크게 줄어듭니다.

그러나 논리 디스크 중간에 디렉터리 밴드를 배치하는 것과 비교하여 HPFS 성능에 훨씬 더 큰 기여를 합니다. 방법파일 위치에 대한 정보를 저장하고 검색하기 위한 균형 이진 트리.

파일 시스템에서 이를 기억하세요.지방 디렉토리는 특별한 순서가 아닌 선형 구조이므로 파일을 검색할 때는 처음부터 순차적으로 살펴봐야 합니다.

HPFS에서 디렉토리 구조는 다음과 같습니다. 항목이 알파벳 순서로 정렬된 균형 트리입니다.

트리에 포함된 각 항목에는 다음이 포함됩니다.

· 파일 속성,

· 해당 파일 노드에 대한 포인터,

파일 생성 시간 및 날짜, 마지막 업데이트 및 액세스 시간 및 날짜에 대한 정보

확장된 속성을 포함하는 데이터의 길이

· 파일 액세스 카운터,

파일 이름 길이

· 이름 자체,

· 기타 정보.

HPFS 파일 시스템은 디렉터리에서 파일을 검색할 때 이진 트리의 필요한 분기만 살펴봅니다. 이 방법은 FAT 시스템의 경우처럼 디렉터리의 모든 항목을 순차적으로 읽는 것보다 몇 배 더 효율적입니다.

현재 HPFS 구현에서 할당되는 디렉토리 측면에서 각 블록의 크기는 2KB입니다. 파일을 설명하는 항목의 크기는 파일 이름의 크기에 따라 다릅니다. 이름이 13바이트(8.3 형식)인 경우 2KB 블록은 최대 40개의 파일 설명자를 보유할 수 있습니다. 블록은 목록을 통해 서로 연결됩니다.

문제

파일 이름을 바꿀 때 소위 트리 재조정이 발생할 수 있습니다. 파일을 생성하거나 이름을 바꾸거나 지우면 다음과 같은 결과가 발생할 수 있습니다. 계단식 디렉토리 블록. 실제로 파일 자체의 크기가 커지지 않았더라도 디스크 공간 부족으로 인해 이름 바꾸기가 실패할 수 있습니다. 이러한 재난을 방지하기 위해 HPFS는 재난 발생 시 사용할 수 있는 작은 여유 블록 풀을 유지 관리합니다. 이 작업을 수행하려면 전체 디스크에 추가 블록을 할당해야 할 수도 있습니다. 이 여유 블록 풀에 대한 포인터는 SpareBlock에 저장됩니다.

디스크에 파일과 디렉토리를 배치하는 원칙HPFS:

· 파일 위치에 대한 정보는 디스크 전체에 분산되어 있으며, 각 특정 파일에 대한 기록은 (가능한 경우) 인접한 섹터에 있고 해당 위치에 대한 데이터와 가깝습니다.

· 디렉토리는 디스크 공간의 중앙에 위치합니다.

· 디렉토리는 항목이 알파벳 순서로 정렬된 이진 균형 트리로 저장됩니다.

HPFS의 데이터 저장 안정성

모든 파일 시스템에는 디스크에 정보를 쓸 때 발생하는 오류를 수정하는 수단이 있어야 합니다. HPFS 시스템은 이를 위해 사용됩니다. 비상 교체 메커니즘 ( 핫픽스).

HPFS 파일 시스템에서 디스크에 데이터를 쓰는 동안 문제가 발생하면 오류 메시지가 표시됩니다. 그런 다음 HPFS는 이러한 상황을 대비하여 미리 예약된 예비 섹터 중 하나에 결함이 있는 섹터에 기록되어야 하는 정보를 저장합니다. 사용 가능한 예비 블록 목록은 HPFS 예비 블록에 저장됩니다. 일반 블록에 데이터를 쓰는 동안 오류가 감지되면 HPFS는 여유 여유 블록 중 하나를 선택하고 거기에 데이터를 저장합니다. 그런 다음 파일 시스템이 업데이트됩니다. 예비 유닛의 비상 교체 카드.

이 맵은 단순히 더블 워드 쌍으로, 각각은 32비트 섹터 번호입니다.

첫 번째 숫자는 결함이 있는 섹터를 나타내고 두 번째 숫자는 교체하기 위해 선택된 사용 가능한 예비 섹터 중 섹터를 나타냅니다.

결함이 있는 섹터를 예비 섹터로 교체한 후 긴급 교체 맵이 디스크에 기록되고, 디스크 쓰기 오류가 발생했음을 알리는 팝업 창이 화면에 나타납니다. 시스템은 디스크 섹터를 쓰거나 읽을 때마다 복구 맵을 확인하고 모든 불량 섹터 번호를 해당 데이터의 예비 섹터 번호로 바꿉니다.

이 숫자 변환은 디스크 캐시에서 데이터를 읽을 때가 아니라 디스크에 물리적으로 액세스할 때만 수행되므로 시스템 성능에 큰 영향을 미치지 않습니다.

파일 시스템 NTFS

파일 시스템 NTFS(신기술 파일 시스템)에는 다른 파일 시스템과 크게 구별되는 여러 가지 중요한 개선 사항 및 변경 사항이 포함되어 있습니다.

드문 경우를 제외하고는 NTFS 파티션은 다음에서만 직접 작업할 수 있습니다.윈도우N.T.여러 OS에 대해 NTFS 볼륨에서 파일을 읽기 위한 파일 관리 시스템의 해당 구현이 있지만.

그러나 Windows NT 외부에서 NTFS 작업을 위한 완전한 구현은 없습니다.

NTFS는 널리 사용되는 Windows 98 및 Windows Millennium Edition 운영 체제에서는 지원되지 않습니다.

주요 특징들NT FS

· 대용량 디스크에서의 작업은 효율적으로 수행됩니다(FAT보다 훨씬 효율적).

· 파일 및 디렉토리에 대한 액세스를 제한하는 도구가 있습니다 Þ NTFS 파티션은 다음을 제공합니다. 로컬 보안파일과 디렉토리 모두;

· 거래 메커니즘이 도입되었습니다. 벌채 반출파일 작업 Þ 신뢰성이 크게 향상되었습니다.

· 최대 디스크 섹터 및/또는 클러스터 수에 대한 많은 제한 사항이 제거되었습니다.

· FAT 및 HPFS 파일 시스템과 달리 NTFS의 파일 이름에는 전체 세트를 포함한 모든 문자가 포함될 수 있습니다. 국가 알파벳, 데이터가 유니코드(65535개의 서로 다른 문자를 제공하는 16비트 표현)로 표현되기 때문입니다. NTFS의 파일 이름 최대 길이는 255자입니다.

· NTFS에는 개별 파일, 전체 디렉터리, 심지어 볼륨에도 적용할 수 있는 압축 기능이 내장되어 있습니다(원하는 대로 실행 취소하거나 할당할 수도 있습니다).

NTFS 파일 시스템의 볼륨 구조

NTFS 파티션을 볼륨(볼륨)이라고 합니다. 가능한 최대 볼륨 크기(및 파일 크기)는 16EB(엑사바이트 2**64)입니다.

다른 시스템과 마찬가지로 NTFS는 볼륨의 디스크 공간을 데이터 단위로 주소가 지정되는 데이터 블록인 클러스터로 나눕니다. NTFS는 512바이트에서 64KB까지의 클러스터 크기를 지원합니다. 표준은 크기가 2KB 또는 4KB인 클러스터입니다.

NTFS의 모든 디스크 공간은 두 개의 서로 다른 부분으로 나뉩니다.


디스크의 처음 12%는 소위 MFT 영역(메인 서비스가 차지할 수 있는 공간)에 할당됩니다. 메타파일 MFT.

이 영역에는 데이터를 쓸 수 없습니다. MFT 영역은 항상 비어 있는 상태로 유지됩니다. 이는 가능한 경우 MFT 파일이 커질 때 조각화되지 않도록 하기 위한 것입니다.

볼륨의 나머지 88%는 일반 파일 저장 공간입니다.

MFT(주인파일테이블 -일반 파일 테이블)은 본질적으로 자신을 포함하여 디스크에 있는 다른 모든 파일의 디렉터리입니다. 파일 위치를 결정하도록 설계되었습니다.

MFT는 고정된 크기의 레코드로 구성됩니다. MFT 레코드 크기(최소 1KB~최대 4KB)는 볼륨을 포맷할 때 결정됩니다.

각 항목은 파일에 해당합니다.

처음 16개 항목은 서비스 성격을 가지며 운영 체제에서 사용할 수 없습니다. 메타파일,첫 번째 메타파일은 MFT 자체입니다.

처음 16개의 MFT 요소는 위치가 엄격하게 고정된 디스크의 유일한 부분입니다. 신뢰성을 위해 동일한 16개 항목의 복사본이 볼륨 중간에 보관됩니다.

MFT 파일의 나머지 부분은 다른 파일과 마찬가지로 디스크의 임의 위치에 위치할 수 있습니다.

메타파일은 서비스 성격을 띠고 있습니다. 각 메타파일은 시스템 작동의 일부 측면을 담당합니다. 메타파일은 NTFS 볼륨의 루트 디렉터리에 있습니다. 표준 수단을 사용하여 이에 대한 정보를 얻는 것은 어렵지만 모두 이름 기호 "$"로 시작합니다. 테이블에 주요 메타파일과 그 목적이 제공됩니다.

메타파일 이름

메타파일의 목적

$MFT

마스터 파일 테이블 자체

$MFTmirr

볼륨 중앙에 배치된 처음 16개 MFT 항목의 복사본

$로그파일

로깅 지원 파일

$볼륨

서비스 정보 - 볼륨 라벨, 파일 시스템 버전 등

$AttrDef

볼륨의 표준 파일 속성 목록

루트 디렉토리

$Bitmap

볼륨이 없는 공간 지도

$부팅

부팅 섹터(파티션이 부팅 가능한 경우)

$Quota

디스크 공간을 사용할 수 있는 사용자 권한을 기록하는 파일(이 파일은 NTFS 5.0이 설치된 Windows 2000)

$Upcase

파일 - 파일 이름의 대문자와 소문자 간의 대응표입니다. NTFS에서는 파일 이름이 다음 형식으로 기록됩니다.유니코드 (65,000개의 서로 다른 문자) 다음에서 크고 작은 해당 문자를 찾습니다. 이 경우- 사소하지 않은 작업

해당 MFT 레코드는 파일에 대한 모든 정보를 저장합니다.

· 파일 이름,

· 크기;

· 파일 속성;

· 개별 조각 등의 디스크 위치

하나의 MFT 레코드가 정보에 충분하지 않은 경우 여러 레코드가 사용되며 반드시 연속적인 레코드는 아닙니다.

파일이 그다지 크지 않으면 파일 데이터는 하나의 MFT 레코드 내 기본 데이터에서 남은 공간인 MFT에 직접 저장됩니다.

NTFS 볼륨의 파일은 소위 말하는 것으로 식별됩니다. 파일 링크(파일 참조)는 64비트 숫자로 표시됩니다.

· MFT의 레코드 번호에 해당하는 파일 번호,

· 및 시퀀스 번호. 이 숫자는 MFT의 지정된 숫자가 재사용될 때마다 증가하여 NTFS 파일 시스템이 내부 무결성 검사를 수행할 수 있도록 합니다.

NTFS의 각 파일은 다음과 같이 표시됩니다. 스트림(스트림) 즉, "단순한 데이터"가 있는 것이 아니라 스트림이 있습니다.

스트림 중 하나는 파일 데이터입니다.

대부분의 파일 속성도 스트림입니다.

따라서 파일에는 MFT의 숫자와 해당 스트림을 포함한 다른 모든 항목이라는 하나의 기본 엔터티만 있는 것으로 나타났습니다.

이 접근 방식은 효과적으로 사용될 수 있습니다. 예를 들어 파일에 데이터를 작성하여 다른 스트림을 파일에 "연결"할 수 있습니다.

NTFS 볼륨의 파일 및 디렉터리에 대한 표준 특성에는 고정된 이름과 유형 코드가 있습니다.

목록 NTFS에서는 다른 파일 및 디렉터리에 대한 링크를 저장하는 특수 파일입니다.

카탈로그 파일은 블록으로 나누어지며, 각 블록에는 다음이 포함됩니다.

· 파일 이름,

기본 속성과

디스크의 루트 디렉터리는 MFT 메타파일 시작 부분의 특수 링크를 제외하고 일반 디렉터리와 다르지 않습니다.

내부 디렉토리 구조는 HPFS와 유사한 이진 트리입니다.

루트 및 루트가 아닌 디렉터리의 파일 수는 제한되지 않습니다.

NTFS 파일 시스템은 NT 보안 개체 모델을 지원합니다. NTFS는 디렉터리와 파일을 고유한 개체 유형으로 처리하고 각 유형에 대해 별도의(겹치기는 하지만) 권한 목록을 유지 관리합니다.

NTFS는 파일 수준 보안을 제공합니다. 이는 볼륨, 디렉터리 및 파일에 대한 액세스 권한이 사용자 계정과 사용자가 속한 그룹에 따라 달라질 수 있음을 의미합니다. 사용자가 파일 시스템 객체에 액세스할 때마다 해당 객체의 권한 목록을 기준으로 사용자의 액세스 권한이 확인됩니다. 사용자에게 충분한 권리가 있는 경우 해당 요청이 승인됩니다. 그렇지 않으면 요청이 거부됩니다. 이 보안 모델은 NT 컴퓨터의 로컬 사용자 등록과 원격 네트워크 요청 모두에 적용됩니다.

NTFS 시스템에는 특정 자가 복구 기능도 있습니다. NTFS는 특수 시스템 로그에 대해 파일 쓰기 작업을 재생할 수 있는 트랜잭션 로깅을 포함하여 시스템 무결성을 확인하기 위한 다양한 메커니즘을 지원합니다.

~에 벌채 반출파일 작업에서 파일 관리 시스템은 특수 서비스 파일에서 발생하는 변경 사항을 기록합니다. 파일 구조 변경과 관련된 작업이 시작될 때 해당 메모가 작성됩니다. 파일 작업 중 오류가 발생하면 해당 작업 시작 표시가 불완전으로 표시됩니다. 머신을 재부팅한 후 파일 시스템 무결성 검사를 수행하면 보류 중인 작업이 취소되고 파일이 원래 상태로 복원됩니다. 파일의 데이터를 변경하는 작업이 정상적으로 완료되면 바로 이 서비스 로깅 지원 파일에 작업이 완료되었다고 표시됩니다.

파일 시스템의 주요 단점NTFS- 서비스 데이터는 많은 공간을 차지합니다(예: 각 디렉터리 요소는 2KB를 차지합니다). - 작은 파티션의 경우 서비스 데이터는 미디어 볼륨의 최대 25%를 차지할 수 있습니다.

Þ NTFS는 플로피 디스크를 포맷하는 데 사용할 수 없습니다. 100MB보다 작은 파티션을 포맷하는 데 사용하면 안 됩니다.

OS 파일 시스템유닉스

UNIX 세계에는 고유한 구조를 가진 여러 가지 유형의 파일 시스템이 있습니다. 외부 메모리. 가장 잘 알려진 것은 전통적인 UNIX System V(s5) 파일 시스템과 UNIX BSD 계열 파일 시스템(ufs)입니다.

5를 고려해보세요.

UNIX 시스템의 파일은 임의 액세스 문자 모음입니다.

파일에는 사용자가 지정한 구조가 있습니다.

Unix 파일 시스템은 계층적 다중 사용자 파일 시스템입니다.

파일 시스템은 트리 구조를 가지고 있습니다. 트리의 정점(중간 노드)은 다른 디렉터리나 파일에 대한 링크가 있는 디렉터리입니다. 트리의 잎은 파일이나 빈 디렉터리에 해당합니다.

논평.실제로 Unix 파일 시스템은 트리 기반이 아닙니다. 사실 시스템은 연결이 가능하기 때문에 트리 형태의 계층 구조를 위반할 가능성이 있습니다. 동일한 파일 내용을 가진 여러 이름.

디스크 구조

디스크는 블록으로 나누어져 있습니다. 데이터 블록 크기는 mkfs 명령으로 파일 시스템을 포맷할 때 결정되며 512, 1024, 2048, 4096 또는 8192바이트로 설정할 수 있습니다.

512바이트(섹터 크기)로 계산됩니다.

디스크 공간은 다음 영역으로 구분됩니다(그림 참조).

· 로딩 블록;

· 슈퍼블록을 제어합니다.

· i-노드 배열;

· 파일의 내용(데이터)을 저장하는 영역;

· 자유 블록 세트(목록에 연결됨);

부트 블록

슈퍼블록

나는 - 노드

. . .

나는 - 노드

논평. UFS 파일 시스템의 경우 - 이 모든 것이 실린더 그룹에 대해 반복됩니다(부트 블록 제외). + 실린더 그룹을 설명하기 위해 특수 영역이 할당됩니다.

부트 블록

해당 블록은 블록 번호 0에 위치해 있습니다. (이 블록을 블록 0에 배치한다는 것을 기억하십시오. 시스템 장치하드웨어 부트로더는 항상 시스템 장치의 블록 0에 액세스하기 때문에 하드웨어에 의해 결정됩니다. 이는 하드웨어에 종속되는 파일 시스템의 마지막 구성 요소입니다.)

부트 블록에는 UNIX OS를 처음 시작하는 데 사용되는 승격 프로그램이 포함되어 있습니다. S 5 파일 시스템에서는 루트 파일 시스템의 부팅 블록만 실제로 사용됩니다. 추가 파일 시스템에는 이 영역이 있지만 사용되지는 않습니다.

슈퍼블록

여기에는 파일 시스템 상태에 대한 작동 정보와 파일 시스템 설정에 대한 데이터가 포함되어 있습니다.

특히 슈퍼블록에는 다음과 같은 정보가 포함됩니다.

· i-노드 수(색인 설명자);

· 파티션 크기???;

· 무료 블록 목록;

· 무료 i-노드 목록;

· 및 기타.

주목하자! 디스크의 여유 공간은 사용 가능한 블록의 연결 목록. 이 목록은 슈퍼블록에 저장됩니다.

목록 요소는 50개 요소의 배열입니다(블록 = 512바이트인 경우 요소 = 16비트).

· 배열 요소 번호 1-48에는 2에서 49까지의 파일 블록 공간의 사용 가능한 블록 수가 포함됩니다.

· 요소 #0에는 목록의 연속에 대한 포인터가 포함되어 있습니다.

· 마지막 요소(49번)에는 배열의 자유 요소에 대한 포인터가 포함되어 있습니다.

어떤 프로세스가 파일을 확장하기 위해 여유 블록이 필요한 경우 시스템은 포인터(자유 요소에 대한)를 사용하여 배열 요소를 선택하고 이 요소에 저장된 번호가 있는 블록을 파일에 제공합니다. 파일이 줄어들면 해제된 숫자가 사용 가능한 블록 배열에 추가되고 사용 가능한 요소에 대한 포인터가 조정됩니다.

배열 크기가 50개 요소이므로 두 가지 중요한 상황이 발생할 수 있습니다.

1. 파일 블록을 해제했지만 이 배열에 맞지 않는 경우. 이 경우 파일 시스템에서 하나의 빈 블록이 선택되고 완전히 채워진 빈 블록 배열이 이 블록에 복사된 후 빈 요소에 대한 포인터 값이 재설정됩니다. 슈퍼블록에 위치한 배열의 0 요소에는 시스템이 배열의 내용을 복사하기 위해 선택한 블록의 번호가 포함됩니다.. 이 순간, 사용 가능한 블록 목록의 새 요소가 생성됩니다(각각 50개의 요소 포함).

2. 여유 블록 배열의 요소 내용이 모두 소진된 경우(이 경우 배열의 0 요소는 0입니다.) 이 요소가 0과 같지 않으면 이는 다음이 계속됨을 의미합니다. 배열. 이 연속은 RAM의 슈퍼블록 복사본으로 읽혀집니다.

무료 목록i-노드. 이것은 100개의 요소로 구성된 버퍼입니다. 현재 무료로 제공되는 100개의 i-node에 대한 정보가 포함되어 있습니다.

슈퍼블록은 항상 RAM에 있습니다.

Þ 모든 작업(블록 및 i-노드 해제 및 점유는 RAM에서 발생함) Þ 디스크 교환을 최소화합니다.

하지만!슈퍼 블록의 내용이 디스크에 기록되지 않고 전원이 꺼지면 문제가 발생합니다(파일 시스템의 실제 상태와 슈퍼 블록의 내용이 일치하지 않음). 그러나 이는 이미 시스템 장비의 신뢰성에 대한 요구 사항입니다.

논평. UFS 파일 시스템은 안정성을 향상시키기 위해 수퍼블록의 여러 복사본(실린더 그룹당 하나의 복사본)을 지원합니다.

아이노드 영역

이는 다음과 같은 파일 설명 배열입니다. i -노드(나-마디).(64바이트?)

파일의 각 인덱스 설명자(i-노드)에는 다음이 포함됩니다.

· 파일 형식(파일/디렉터리/특수 파일/fifo/소켓)

· 속성(접근권한) - 10

파일 소유자 ID

· 파일 소유자의 그룹 ID

· 파일 생성 시간

파일 수정 시간

· 파일에 마지막으로 접근한 시간

· 파일 길이

· 다양한 디렉토리에서 특정 i-노드에 대한 링크 수

파일 블록 주소

!메모. 여기에는 파일 이름이 없습니다.

어떻게 구성되어 있는지 자세히 살펴볼까요? 블록 주소 지정, 파일이 있는 위치입니다. 따라서 주소 필드에는 파일의 처음 10개 블록의 번호가 있습니다.

파일이 10개의 블록을 초과하면 다음 메커니즘이 작동하기 시작합니다. 필드의 11번째 요소에는 이 파일의 블록에 대한 128(256)개의 링크가 포함된 블록 번호가 포함됩니다. 파일이 더 큰 경우 필드의 12번째 요소가 사용됩니다. 여기에는 128(256)개의 블록 번호가 포함된 블록 번호가 포함되며, 각 블록에는 128(256)개의 파일 시스템 블록 번호가 포함됩니다. 파일이 더 크면 13번째 요소가 사용됩니다. 즉, 목록의 중첩 깊이가 다른 요소만큼 증가합니다.

이 방법으로 (10+128+128 2 +128 3)*512 크기의 파일을 얻을 수 있습니다.

이는 다음과 같이 표현될 수 있습니다:

파일의 첫 번째 블록 주소

파일의 두 번째 블록 주소

파일의 10번째 블록 주소

간접 주소 지정 블록 주소(256개 블록 주소가 있는 블록)

두 번째 간접 주소 지정 블록의 주소(주소가 있는 256개의 주소 블록이 있는 블록)

세 번째 간접 주소 지정 블록의 주소(주소가 있는 블록의 주소가 있는 블록의 주소가 있는 블록)

파일 보호

이제 소유자 및 그룹 ID와 보안 비트를 살펴보겠습니다.

Unix OS에서는 다음과 같이 사용됩니다. 3단계 사용자 계층 구조:

첫 번째 수준은 모든 사용자입니다.

두 번째 수준은 사용자 그룹입니다. (모든 사용자는 그룹으로 나누어져 있습니다.

세 번째 수준은 특정 사용자입니다(그룹은 실제 사용자로 구성됨). 이러한 세 가지 수준의 사용자 구성으로 인해 각 파일에는 세 가지 속성이 있습니다.

1) 파일의 소유자. 이 속성은 시스템에서 자동으로 파일 소유자로 할당되는 특정 사용자 한 명과 연결됩니다. 파일을 생성하여 기본 소유자가 될 수 있으며, 파일의 소유자를 변경할 수 있는 명령도 있습니다.

2) 파일 접근 보호. 각 파일에 대한 액세스는 다음 세 가지 범주로 제한됩니다.

· 소유자 권한(일반적으로 소유자가 이 파일로 수행할 수 있는 작업 - 반드시 모든 것은 아님)

· 파일 소유자가 속한 그룹의 권한입니다. 소유자는 여기에 포함되지 않습니다. 예를 들어 파일은 소유자에 대해 읽기 잠금이 가능하지만 다른 모든 그룹 구성원은 파일에서 자유롭게 읽을 수 있습니다.

· 시스템의 다른 모든 사용자;

이 세 가지 범주에 대해 세 가지 작업, 즉 파일 읽기, 파일 쓰기 및 파일 실행(각각 R, W, X 시스템의 니모닉)이 규제됩니다. 이 세 가지 범주의 각 파일은 읽을 수 있는 사용자, 쓸 수 있는 사용자 및 프로세스로 실행할 수 있는 사용자를 정의합니다.

디렉토리 구성

OS 관점에서 디렉토리는 해당 디렉토리에 속한 모든 파일에 대한 데이터를 포함하는 일반 파일입니다.

디렉터리 요소는 다음 두 가지 필드로 구성됩니다.

1) i-노드 번호(i-노드 배열의 서수) 및

2)파일 이름:

각 디렉토리에는 두 개의 특별한 이름이 있습니다: '.' - 디렉토리 자체; '..' - 상위 디렉토리.

(루트 디렉터리의 경우 상위 디렉터리는 동일한 디렉터리를 참조합니다.)

일반적으로 디렉토리에는 동일한 i-노드를 참조하는 여러 항목이 포함될 수 있지만 동일한 이름을 가진 항목은 포함될 수 없습니다. 즉, 임의의 수의 이름이 파일 내용과 연결될 수 있습니다. 그것은이라고 매는. 단일 파일을 참조하는 디렉토리 항목을 호출합니다. 의사소통.

파일은 디렉토리 항목과 독립적으로 존재하며 디렉토리 링크는 실제로 실제 파일을 가리킵니다. 파일을 가리키는 마지막 링크가 삭제되면 파일이 "사라집니다".

따라서 이름으로 파일에 액세스하려면운영 체제

1. 파일이 포함된 디렉토리에서 이 이름을 찾습니다.

2. 파일의 i-노드 번호를 가져옵니다.

3. 숫자로 i-node 영역에서 i-node를 찾고,

4. i-노드로부터 파일 데이터가 위치한 블록의 주소를 수신하고,

5. 블록 주소를 사용하여 데이터 영역에서 블록을 읽습니다.

디스크 파티션 구조 내선2 FS

전체 파티션 공간은 블록으로 나누어집니다. 블록의 크기는 1, 2, 4킬로바이트일 수 있습니다. 블록은 주소 지정이 가능한 디스크 공간 단위입니다.

해당 영역의 블록은 블록 그룹으로 결합됩니다. 파일 시스템의 블록 그룹과 그룹 내의 블록은 1부터 시작하여 순차적으로 번호가 지정됩니다. 디스크의 첫 번째 블록은 번호가 1로 지정되고 그룹 번호 1에 속합니다. 총 수디스크의 블록(디스크 파티션)은 섹터로 표현되는 디스크 공간의 제수입니다. 그리고 블록 그룹 수는 마지막 블록 그룹이 완전하지 않을 수 있으므로 블록 수를 나눌 필요가 없습니다. 각 블록 그룹의 시작 부분에는 ((그룹 번호 - 1)*(그룹의 블록 수))로 얻을 수 있는 주소가 있습니다.

각 블록 그룹은 동일한 구조를 갖습니다. 그 구조는 표에 나와 있습니다.

이 구조의 첫 번째 요소(수퍼블록)는 모든 그룹에 대해 동일하며 나머지는 모두 각 그룹에 대해 개별적입니다. 슈퍼블록은 각 블록 그룹의 첫 번째 블록에 저장됩니다(첫 번째 블록에 부트 레코드가 있는 그룹 1 제외). 슈퍼블록파일 시스템의 시작점입니다. 크기는 1024바이트이며 항상 파일 시스템 시작 부분에서 1024바이트 오프셋에 위치합니다. 슈퍼블록의 여러 사본이 존재하는 이유는 파일 시스템의 이 요소가 매우 중요하기 때문입니다. 슈퍼블록 복제는 장애 발생 후 파일 시스템을 복구할 때 사용됩니다.

슈퍼블록에 저장된 정보는 디스크의 나머지 데이터에 대한 액세스를 구성하는 데 사용됩니다. 슈퍼블록은 파일 시스템 크기, 파티션의 최대 파일 수, 여유 공간 크기를 결정하고 할당되지 않은 영역을 찾을 위치에 대한 정보를 포함합니다. OS가 시작되면 슈퍼블록이 메모리로 읽히고 파일 시스템의 모든 변경 사항은 먼저 OS에 있는 슈퍼블록의 복사본에 반영되며 주기적으로만 디스크에 기록됩니다. 이렇게 하면 많은 사용자와 프로세스가 지속적으로 파일을 업데이트하므로 시스템 성능이 향상됩니다. 반면, 시스템이 꺼지면 슈퍼블록을 디스크에 기록해야 하는데, 이는 단순히 전원을 끄는 것만으로는 컴퓨터를 끌 수 없다. 그렇지 않으면 다음에 부팅할 때 슈퍼 블록에 기록된 정보가 파일 시스템의 실제 상태와 일치하지 않게 됩니다.

슈퍼블록 다음에는 블록 그룹(그룹 설명자)에 대한 설명이 있습니다. 이 설명에는 다음이 포함됩니다.

이 그룹의 블록 비트맵을 포함하는 블록의 주소입니다.

이 그룹의 inode 비트맵을 포함하는 블록의 주소입니다.

이 그룹의 inode 테이블을 포함하는 블록의 주소입니다.

이 그룹의 사용 가능한 블록 수 카운터입니다.

이 그룹의 사용 가능한 inode 수입니다.

디렉토리인 특정 그룹의 inode 수

및 기타 데이터.

그룹 설명에 저장된 정보는 블록 및 inode 비트맵은 물론 inode 테이블을 찾는 데 사용됩니다.

파일 시스템내선 2의 특징은 다음과 같습니다.

  • 계층 구조,
  • 처리에 동의함 데이터 세트,
  • 동적 파일 확장자,
  • 파일 내 정보 보호,
  • 주변 장치(예: 터미널 및 테이프 장치)를 파일로 처리합니다.

내부 파일 표현

Ext 2 시스템의 각 파일에는 고유한 인덱스가 있습니다. 색인에는 파일에 액세스하는 모든 프로세스에 필요한 정보가 포함되어 있습니다. 잘 정의된 시스템 호출 세트를 사용하고 정규화된 파일 이름 역할을 하는 문자열로 파일을 식별하여 액세스 파일을 처리합니다. 각 복합 이름은 파일을 고유하게 식별하므로 시스템 커널은 이 이름을 파일 인덱스로 변환합니다. 인덱스에는 디스크에 파일 정보가 있는 주소 테이블이 포함됩니다. 디스크의 각 블록은 고유한 번호로 주소가 지정되므로 이 테이블에는 디스크 블록 번호 모음이 저장됩니다. 유연성을 높이기 위해 커널은 파일에 한 번에 한 블록씩 추가하여 파일 정보가 파일 시스템 전체에 분산되도록 합니다. 그러나 이 레이아웃은 데이터 검색 작업을 복잡하게 만듭니다. 주소 테이블에는 파일에 속한 정보가 포함된 블록 번호 목록이 포함되어 있습니다.

파일 아이노드

디스크의 각 파일은 다음과 같습니다. 아이노드일련 번호(파일 인덱스)로 식별되는 파일입니다. 즉, 파일 시스템에서 생성할 수 있는 파일 수는 파일 시스템이 생성될 때 명시적으로 지정되거나 디스크 파티션의 물리적 크기를 기반으로 계산되는 inode 수에 의해 제한됩니다. Inode는 정적 형태로 디스크에 존재하며 커널은 작업하기 전에 이를 메모리로 읽어 들입니다.

파일 inode에는 다음 정보가 포함됩니다.

- 이 파일에 대한 유형 및 액세스 권한입니다.

파일 소유자 식별자(소유자 Uid)입니다.

파일 크기(바이트)입니다.

파일에 마지막으로 액세스한 시간(액세스 시간)입니다.

파일 생성 시간.

파일이 마지막으로 수정된 시간입니다.

파일 삭제 시간.

그룹 ID(GID).

링크 개수.

파일이 차지하는 블록 수입니다.

파일 플래그

OS용으로 예약됨

파일 데이터가 기록되는 블록에 대한 포인터(그림 1의 직접 및 간접 주소 지정의 예)

파일 버전(NFS용)

ACL 파일

디렉터리 ACL

조각 주소

조각 번호

조각 크기

카탈로그

디렉터리는 파일입니다.

커널은 인덱스 구조와 직접 및 간접 주소 지정 수준의 블록을 사용하여 일반 파일 형식에서와 마찬가지로 디렉터리에 데이터를 저장합니다. 프로세스는 일반 파일을 읽는 것과 같은 방식으로 디렉터리에서 데이터를 읽을 수 있지만 디렉터리에 대한 독점 쓰기 액세스는 커널에 의해 예약되어 디렉터리 구조가 올바른지 확인합니다.)

프로세스가 파일 경로를 사용하면 커널은 해당 inode 번호를 찾기 위해 디렉터리를 찾습니다. 파일 이름이 inode 번호로 변환된 후 inode는 메모리에 배치된 다음 후속 요청에 사용됩니다.

EXT2의 추가 기능 FS

표준 Unix 기능 외에도 EXT2fs는 Unix 파일 시스템에서 일반적으로 지원하지 않는 몇 가지 추가 기능을 제공합니다.

파일 속성을 사용하면 파일 세트로 작업할 때 커널이 반응하는 방식을 변경할 수 있습니다. 파일이나 디렉터리에 속성을 설정할 수 있습니다. 두 번째 경우에는 이 디렉터리에 생성된 파일이 이러한 특성을 상속합니다.

시스템 마운트 중에 파일 속성과 관련된 일부 기능이 설정될 수 있습니다. 마운트 옵션을 사용하면 관리자가 파일 생성 방법을 선택할 수 있습니다. BSD 관련 파일 시스템에서는 상위 디렉터리와 동일한 그룹 ID를 사용하여 파일이 생성됩니다. System V의 기능은 다소 복잡합니다. 디렉토리에 setgid 비트가 설정된 경우 생성된 파일해당 디렉터리의 그룹 ID를 상속하고 하위 디렉터리는 그룹 ID와 setgid 비트를 상속합니다. 그렇지 않으면 호출 프로세스의 기본 그룹 ID를 사용하여 파일과 디렉터리가 생성됩니다.

EXT2fs 시스템은 다음과 유사한 동기식 데이터 수정을 사용할 수 있습니다. BSD 시스템. 마운트 옵션을 사용하면 관리자는 모든 데이터(inode, 비트 블록, 간접 블록 및 디렉터리 블록)가 수정될 때 디스크에 동기적으로 기록되도록 지정할 수 있습니다. 이는 높은 데이터 기록 용량을 달성하는 데 사용될 수 있지만 성능이 저하되기도 합니다. 실제로 이 기능은 성능 저하 외에도 파일 시스템 검사 시 플래그가 지정되지 않은 사용자 데이터의 손실을 초래할 수 있기 때문에 일반적으로 사용되지 않습니다.

EXT2fs를 사용하면 파일 시스템을 생성할 때 논리 블록 크기를 선택할 수 있습니다. 크기는 1024, 2048 또는 4096바이트일 수 있습니다. 더 큰 블록을 사용하면 I/O 작업이 더 빨라지고(디스크 요청 수가 줄어들기 때문에) 헤드 이동도 줄어듭니다. 반면에 큰 블록을 사용하면 디스크 공간이 낭비됩니다. 일반적으로 파일의 마지막 블록은 정보 저장에 완전히 사용되지 않으므로 블록 크기가 커질수록 낭비되는 디스크 공간도 늘어납니다.

EXT2fs를 사용하면 가속화된 심볼릭 링크를 사용할 수 있습니다. 이러한 링크를 사용할 때 파일 시스템 데이터 블록은 사용되지 않습니다. 대상 파일 이름은 데이터 블록에 저장되지 않고 inode 자체에 저장됩니다. 이 구조를 사용하면 디스크 공간을 절약하고 심볼릭 링크 처리 속도를 높일 수 있습니다. 물론 핸들을 위해 예약된 공간은 제한되어 있으므로 모든 링크가 가속 링크로 표현될 수는 없습니다. 가속 링크의 파일 이름 최대 길이는 60자입니다. 가까운 장래에 이 방식을 작은 파일에도 확장할 계획입니다.

EXT2fs는 파일 시스템의 상태를 모니터링합니다. 커널은 슈퍼블록의 별도 필드를 사용하여 파일 시스템 상태를 나타냅니다. 파일 시스템이 읽기/쓰기 모드로 마운트된 경우 해당 상태는 "Not Clean"으로 설정됩니다. 읽기 전용 모드로 분해하거나 다시 마운트하면 상태가 "Clean"으로 설정됩니다. 시스템 부팅 및 파일 시스템 상태 확인 중에 이 정보는 파일 시스템 확인이 필요한지 여부를 결정하는 데 사용됩니다. 커널은 또한 이 필드에 몇 가지 오류를 배치합니다. 커널이 불일치를 감지하면 파일 시스템이 "Erroneous"로 표시됩니다. 파일 시스템 검사기는 상태가 실제로 Clean인 경우에도 시스템을 확인하기 위해 이 정보를 테스트합니다.

오랫동안 파일 시스템 테스트를 무시하면 때로는 어려움이 발생할 수 있으므로 EXT2fs에는 시스템을 정기적으로 확인하는 두 가지 방법이 포함되어 있습니다. 수퍼블록에는 시스템 마운트 카운터가 포함되어 있습니다. 이 카운터는 시스템이 읽기/쓰기 모드로 마운트될 때마다 증가합니다. 해당 값이 최대값에 도달하면(슈퍼블록에도 저장됨) 상태가 "Clean"인 경우에도 파일 시스템 테스트 프로그램이 이를 검사하기 시작합니다. 마지막 확인 시간과 확인 사이의 최대 간격도 슈퍼블록에 저장됩니다. 검사 간 최대 간격에 도달하면 파일 시스템 상태가 무시되고 해당 검사가 시작됩니다.

성능 최적화

EXT2fs 시스템에는 성능을 최적화하는 많은 기능이 포함되어 있어 파일을 읽고 쓸 때 정보 교환 속도가 향상됩니다.

EXT2fs는 디스크 버퍼를 적극적으로 사용합니다. 블록을 읽어야 할 때 커널은 여러 인접 블록에 I/O 작업 요청을 보냅니다. 따라서 커널은 읽을 다음 블록이 이미 디스크 버퍼에 로드되었는지 확인하려고 합니다. 이러한 작업은 일반적으로 파일을 순차적으로 읽을 때 수행됩니다.

EXT2fs 시스템에는 다음도 포함됩니다. 많은 수의정보 배치 최적화. 블록 그룹은 해당 inode와 데이터 블록을 함께 그룹화하는 데 사용됩니다. 커널은 항상 한 파일의 데이터 블록과 해당 설명자를 동일한 그룹에 배치하려고 시도합니다. 이는 설명자 및 해당 데이터 블록을 읽을 때 드라이브 헤드의 움직임을 줄이기 위한 것입니다.

파일에 데이터를 쓸 때 EXT2fs는 새 블록을 할당할 때 최대 8개의 연속 블록을 미리 할당합니다. 이 방법을 사용하면 시스템 부하가 심한 경우에도 높은 성능을 얻을 수 있습니다. 또한 파일을 인접한 블록에 배치할 수 있으므로 후속 읽기 속도가 빨라집니다.

소개

현재 가장 일반적인 개인용 컴퓨터(PC)는 펜티엄 프로세서를 기반으로 합니다. 이러한 PC의 대부분은 Windows 95 또는 Windows 98(Windows 9x 또는 단순히 Windows) 운영 체제(OS)를 실행합니다. Windows는 32비트 개인용 컴퓨터의 사실상 표준입니다. 현재까지 여러 버전의 시스템이 이미 개발되었습니다.

운영 체제(OS)는 컴퓨터 하드웨어를 제어하고 리소스의 효율적인 사용을 계획하며 사용자 작업에 따라 문제를 해결하는 프로그램 세트입니다. 컴퓨터를 켜면 OS가 컴퓨터에 로드됩니다.

Windows 9x를 포함한 최신 운영 체제의 특징은 다음과 같습니다.

개발된 사용자 인터페이스, 즉 사용자와의 상호 작용 수단 및 방법

멀티태스킹 - 여러 프로그램을 "동시에" 실행할 수 있는 기능입니다.

최신 마이크로프로세서가 제공하는 모든 기능을 사용합니다.

작업 안정성과 보안.

Windows 9x는 Windows 3.1x와 MS-DOS라는 두 시스템이 합병된 후속 제품이자 결과입니다. 개발자는 이러한 시스템과의 호환성을 보장하기 위해 여러 가지 타협을 해야 했습니다.

Windows 9x는 리얼 모드에서 작동을 시작한 다음 보호 모드로 들어갑니다.

Windows 9x는 업데이트된 MS-DOS를 기반으로 합니다.

Windows 9x에는 충분한 수의 16비트 구성 요소(모듈 및 장치 드라이버)가 있습니다.

Windows 9x는 객체 지향 접근 방식을 기반으로 합니다. 개체에는 문서, 응용 프로그램, 폴더, 파일, 바로 가기, 드라이브 등이 포함됩니다. 개체 열기– 시스템의 주요 개념 중 하나입니다. 수행되는 작업은 개체 유형에 따라 다릅니다.

- 문서 열기적절한 응용 프로그램을 실행하고 문서 로드 중이 응용프로그램에 로그인하여 보고, 편집하고, 인쇄할 수 있습니다. 문서를 열고 로드하는 대신 문서와 함께 파일을 열고 로드하는 것에 대해 이야기할 수 있습니다. 모든 문서는 파일에 저장되기 때문입니다.

- 응용 프로그램 열기- 이를 실행에 옮기는 것

- 폴더 열기내용을 화면에 표시하는 것으로 구성되며, 이를 통해 그 안에 있는 개체로 모든 작업을 수행할 수 있습니다.

- 입출력 장치 열기이 장치를 제어하는 ​​디스패처의 환경에 들어갈 수 있습니다.

- 바로가기 열기대부분의 경우 이는 해당 개체가 생성된 개체를 여는 것과 같습니다.

문서를 처리할 때 절차적 접근 방식과 객체 지향 접근 방식을 모두 사용할 수 있습니다. 첫 번째 경우에는 어떤 애플리케이션이 문서를 처리해야 하는지 알아야 합니다. 또 다른 경우에는 문서나 해당 문서에 대해 생성된 바로가기를 두 번 클릭하면 해당 문서와 관련된 응용 프로그램이 실행됩니다. Windows가 어떤 응용 프로그램이 특정 문서를 처리해야 하는지 알지 못하는 경우 해당 문서를 특정 응용 프로그램과 연결하도록 제안합니다.


파일 시스템 구성 요소

PC에서의 작업은 다양한 유형의 데이터로 발생합니다. 데이터는 저장 대상인 모든 것(원본 또는 프로그램의 프로그램)을 의미합니다. 기계어 코드, 작업 데이터, 텍스트 문서 및 숫자 데이터, 코드화된 표, 그래픽 및 기타 정보).

파일에 대한 동종 정보의 명명된 집합입니다. 외부 미디어(예를 들어 자기 디스크에서).

안에 파일 이름(Windows 9x OS) 인쇄 가능한 거의 모든 문자를 사용할 수 있지만 다음과 같은 몇 가지 제한 사항이 있습니다.

파일 이름의 시작이나 끝 부분에는 공백이 있을 수 없습니다. 공백을 지정할 수는 있지만 무시됩니다.

파일 이름은 점으로 시작하거나 끝날 수 없습니다.

파일 이름에 다음 문자를 사용할 수 없습니다: /, \, :, ?, '',<, >, |, 다른 목적으로 예약되어 있으므로;

파일 이름 길이는 일반적으로 255자를 초과할 수 없습니다.

그런 이름들이 불린다. 긴.예를 들어, 운영 체제 분야의 실험실 작업 1위입니다.

각각 윈도우 파일 9x 자동 생성 짧은 MS-DOS 운영 체제의 요구 사항을 기반으로 형성되고 운영 체제의 호환성을 보장하는 데 사용되는 이름입니다. 8자를 초과할 수 없습니다. 긴 이름에 금지된 문자 외에;, +, [, ], =, "점", "쉼표", "공백" 기호를 사용할 수 없습니다. 짧은 이름은 긴 이름처럼 시작하고 그 뒤에 ~ 기호와 일련 번호(총 8자 이하)가 옵니다. 이 경우 금지문자는 생략되며, 소문자대문자로 변환됩니다. 예를 들어 PRIMER~1은 다음과 일치할 수 있습니다. 긴 이름 Primer라는 문자로 시작하는 파일입니다. 그러한 파일이 또 있는 경우 해당 파일의 짧은 이름은 PRIMER~2입니다.

I/O 장치에 예약된 이름은 금지됩니다. PRN(프린터), CON(콘솔, 즉 키보드 및 모니터), NUL(더미 장치), LPT1 -LPT3(첫 번째 - 세 번째) 병렬 포트), COM1 – COM3(첫 번째 – 세 번째 직렬 포트). 라틴 문자 A:, B:, C:, D: 등 외부 저장 장치라고 합니다.

파일 이름에 마침표가 하나 이상 있으면 저장된 정보의 특성에 따라 확장자가 있는 것으로 간주됩니다. 파일 이름 확장자이름에 지정된 마지막 마침표 뒤에 있는 문자 시퀀스입니다. 점은 이름 및 확장명 구분 기호로 처리됩니다. 확장자는 사용자 자신이나 파일을 생성하는 프로그램에 의해 지정됩니다. 파일 유형이 명확해지면 표준 1-3 문자 확장자를 사용하는 것이 더 좋습니다. 예:

명령 파일에 대한 BAT;

다양한 문서가 편집기 형식으로 포함된 파일용 DOC 마이크로 소프트 워드;

PASCAL 언어로 작성된 프로그램을 위한 PAS; -

래스터 이미지 파일용 PCX 그래픽 편집기출판사 페인트브러시;

다음이 포함된 파일의 경우 VAK 이전 버전문서(백업 파일);

즉시 실행 가능한 프로그램이 포함된 파일용 EXE

MS-DOS 환경에서만 실행될 수 있는 프로그램을 갖춘 파일용 COM입니다.

현재 운영 체제의 제어 하에 실행될 준비가 된 프로그램의 경우 이 용어가 사용됩니다. 애플리케이션(응용 프로그램)(예: Windows - 응용 프로그램)

예제 파일: COMMAND.COM, COMMAND - 파일 이름, COM - 확장자.

긴 이름과 짧은 이름 외에도 여러 속성이 각 파일과 연결되어 있습니다. 번호까지 파일 속성말하다:

파일 속성;

생성 날짜 및 시간

파일 수정 날짜 및 시간

파일에 마지막으로 액세스한 날짜(읽기 또는 쓰기)

길이 또는 파일 크기(바이트)입니다.

파일 속성사용 방법과 액세스 권한을 결정합니다. Windows 9x에서는 속성이 더 빠르게 재생됩니다. 정보 역할, MS-DOS 환경에서와 같이 보호적인 것보다. 파일에는 다음 속성의 조합이 할당될 수 있습니다.

읽기 전용 [R] (읽기 전용) - 파일 쓰기 방지를 설정합니다. 특별한 조치 없이는 파일을 삭제, 이동 또는 수정할 수 없습니다.

아카이브 [A](아카이브) - 파일의 아카이브 상태를 설정하고, 파일을 생성하거나 수정할 때 자동으로 설정되며, 아카이브 또는 백업 도구를 통해 제거할 수 있습니다.

숨김[H](숨김) – 특별한 조치를 취하지 않는 한 숨겨진 파일은 폴더에 표시되지 않습니다.

시스템 [S] (시스템) – 시스템 파일에 제공되는 속성입니다.

Windows 9x의 각 파일은 파일 형식에 해당하는 아이콘과 연결되어 있습니다. 픽토그램연관된 개체를 빠르게 식별하는 데 도움이 되는 작은 그림입니다.

종종 파일 이름 패턴은 여러 파일을 한 번에 지정하거나 파일 이름을 줄이는 데 사용됩니다. 주형 name은 사용되는 이름입니다. 기호 - 대체물"*" 그리고 "?". "?" 기호가 나타나는 위치입니다. , 모든 문자를 포함할 수 있습니다. "*"는 "*"가 나타나는 위치와 그 이후의 모든 위치가 임의의 기호로 채워질 수 있음을 의미합니다.

*.TXT - TXT 유형의 모든 파일입니다.

A?.* - 이름이 문자 A로 시작하고 하나 또는 두 개의 문자로 구성된 모든 파일입니다.

1.2. 폴더(디렉토리)

작업이 증가함에 따라 디스크의 파일 수가 크게 늘어나고 파일 이름을 능숙하게 선택하더라도 디스크의 순서를 추적하고 파일을 탐색하는 것이 어려워집니다. 특정 기준에 따라 결합된 하나의 매체에 있는 파일 그룹을 다음 위치에 저장할 수 있습니다. 폴더(폴더). MS-DOS는 이 개념을 사용했습니다. 목록또는 디렉토리(예배 규칙서). 폴더와 디렉터리 간의 비유는 완전하지 않습니다. 각 디렉터리는 폴더로 간주될 수 있지만 모든 폴더가 디스크의 디렉터리에 해당하는 것은 아니며, 만약 그렇다면 파일 구조에서 완전히 다른 위치에 있을 수 있습니다. 파일 이름이 폴더(디렉토리)에 저장되어 있으면 파일이 해당 디렉토리에 있다고 합니다. Windows 9x의 각 폴더에는 파일과 마찬가지로 아이콘과 이름이 있습니다(그러나 일반적으로 확장자는 없습니다).

(모든) 폴더는 다른 폴더에 등록할 수 있습니다. 따라서 디스크의 파일 구조는 계층적 다중 레벨 또는 트리형이며 그 루트는 다음과 같습니다. 메인 폴더, 또는 루트 디렉토리(ROOT DIRECTORY) 각 디스크에는 "\" 기호로 표시되는 폴더가 하나씩 있습니다. 루트 디렉터리는 디스크를 포맷할 때 생성되며 이름을 바꾸거나 삭제할 수 없습니다. 플로피 자기 디스크에 폴더를 만드는 것은 관례가 아닙니다.

한 폴더가 다른 폴더 내에 직접 포함되어 있는 경우 첫 번째 폴더는 하위(하위 디렉터리)라고 하고 두 번째 폴더는 첫 번째 폴더의 상위(상위 디렉터리)라고 합니다. MS-DOS는 ".." 문자를 사용하여 상위 디렉터리를 나타냅니다.

MS-DOS는 다음 개념을 지원합니다. 현재 드라이브그리고 현재 카탈로그. 처음에 현재 드라이브는 시스템이 부팅된 드라이브이고 그에 따른 디렉터리입니다. 사용자가 현재 작업 중인 디렉터리를 현재 디렉터리라고 합니다. 현재 드라이브도 같은 방식으로 결정됩니다. 현재 드라이브의 현재 디렉터리를 호출합니다. 노동자. Windows도 이 개념을 지원하지만 약간 다른 방식으로 예를 들어 응용 프로그램의 작업 폴더 변경은 문서를 열고 저장할 때 암시적으로 발생합니다.

디스크의 파일 구조 조각의 예가 그림 1에 나와 있습니다. 1.


쌀. 1

그림 1에서 Documents 디렉터리는 My 폴더 디렉터리에 등록되어 있으므로 Documents는 My 폴더의 하위 디렉터리이고 My 폴더는 Documents의 상위 디렉터리 또는 상위 디렉터리라고 합니다.

파일과 마찬가지로 각 폴더(기본 폴더 제외)에는 여러 가지 속성이 연결되어 있습니다. 폴더에는 파일과 구별되는 디렉토리(D) 속성 세트가 있으며 생성 날짜 및 시간과도 연관되어 있습니다.

디스크에 분기된 파일 구조가 있는 경우 파일을 찾기 위해 파일 이름만 지정하는 것만으로는 충분하지 않습니다(고급 Windows 도구를 사용하지 않는 경우). 파일에 대한 경로(경로)를 지정해야 합니다. 노선디스크의 루트(전체 경로) 또는 현재 디렉터리에서 디스크가 위치한 디렉터리까지의 경로를 지정하는 "\" 문자로 구분된 일련의 디렉터리 이름입니다. 필수 파일. 따라서, 전체 파일 이름, 또는 파일 사양다음과 같은 형식을 갖습니다:

[드라이브:][full_route\]이름.유형.

사각형 따옴표는 선택적 매개변수를 나타냅니다.

전체 이름이 짧은 이름에 허용되지 않는 문자를 사용하는 경우(MS-DOS 환경에서) 사양을 따옴표로 묶어야 합니다.

전체 파일 이름의 예: A:\PROGRAM\PASCAL\LAB.PAS.

예를 들어 PROGRAM 하위 디렉터리에 있는 DEMO.EXE 파일에 액세스할 수 있습니다.

DEMO.EXE(현재 디렉터리가 PROGRAM인 경우);

PROGRAM\DEMO.EXE(현재 디렉터리가 루트 디렉터리인 경우)

-..\demo.exe 현재 디렉토리가 PASCAL인 경우.

1.3. 단축키

윈도우 도구 9x는 디스크에 또 다른 파일 시스템 구성요소(바로가기) 생성을 제공합니다. 상표(바로가기)는 리소스 트리의 일부 개체(다른 파일, 폴더 또는 주변 장치)에 대한 포인터(링크)를 포함하는 파일입니다. (사용 가능한 모든 디스크와 일부 입출력 장치의 파일 구조는 자원 트리.) 하나의 개체는 다음 위치에 있는 여러 레이블에 해당할 수 있습니다. 다른 폴더. 바로가기를 삭제하면 개체에 대한 참조만 삭제되며 어떤 방식으로도 변경되지 않습니다. 문서의 바로가기를 두 번 클릭하면 해당 문서와 관련된 응용 프로그램이 암시적으로 실행되고 처리를 위해 문서가 해당 응용 프로그램에 로드됩니다. 대부분의 경우 지속적으로 사용되는 개체에 대한 액세스를 용이하게 하기 위해 바로 가기가 바탕 화면에 배치됩니다. 바로가기 이름은 파일과 동일한 규칙에 따라 지정되지만 표준 확장자 LNK(LiNK - 연결에서)가 할당됩니다. 바로가기 아이콘은 바로가기가 생성된 개체의 아이콘과 일치하지만 왼쪽 하단에 곡선 화살표가 있습니다.

MS-DOS 응용 프로그램이나 배치 파일에 대한 바로 가기가 생성되면 바로 가기 대신 PIF 확장자를 가진 파일이 생성됩니다. Windows 95에서 이 파일은 MS-DOS 환경용 실행 파일을 참조하는 특별한 종류의 바로 가기로 간주될 수 있습니다.

1.4. 데스크탑

Windows 9x 시스템을 로드한 후 모니터 화면에 다음이 표시됩니다. 데스크탑(데스크톱), (아마도) 가장 큰 폴더입니다. 데스크탑 자체는 시스템 개체이지만 그 위에 있는 개체와는 달리 이동하거나 복사할 수 없습니다. 리소스 트리의 모든 개체는 바탕 화면에 배치할 수 있으며 일반적으로 여기에는 가장 자주 액세스하는 개체에 대한 표준(시스템) 폴더와 바로 가기만 포함됩니다.

표준(시스템) 폴더 Windows 자체에서 생성하고 유지 관리하는 폴더입니다. 바탕 화면에 있는 표준 폴더 중 일부는 다음과 같습니다.

내 컴퓨터 폴더는 컴퓨터의 이미지이며 이를 통해 해당 리소스에 액세스할 수 있습니다. 개체에 대한 액세스 권한을 얻은 후에는 해당 개체에 대해 필요한 작업을 수행하거나 해당 속성을 변경할 수 있습니다.

폴더 휴지통. 삭제된 파일과 바로가기는 필요한 경우 복원할 수 있도록 이 폴더에 저장됩니다. 바구니의 크기는 조절 가능합니다.

이 두 폴더는 필수이며 나머지는 필요하지 않습니다. 표준 폴더의 특징은 대부분의 경우 폴더 삭제, 이름 바꾸기, 특수 속성 보유, 상황에 맞는 메뉴에 특정 명령 사용이 불가능하다는 것입니다. Windows 입장에서는 바탕화면도 표준(시스템) 폴더입니다.

제어 질문:

1. 파일, 파일명, 확장자, 템플릿이란 무엇인가요?

2. 실행 파일이라고 불리는 파일은 무엇입니까?

3. 폴더(디렉토리), 하위 디렉토리, 루트 및 상위 디렉토리란 무엇입니까?

4. 어떤 폴더가 표준인가요?

5. 사양 또는 전체 파일 이름을 정의합니다.

6. 지름길이란 무엇입니까?


MS-DOS 명령

명령은 작업 초대를 받은 후 명령줄이나 배치 파일에서 실행됩니다. OS를 사용할 준비가 되면 프롬프트가 발행됩니다.

MS-DOS 명령 형식:

명령 [옵션] .

명령의 매개변수는 공백으로 구분됩니다. 사용자가 명령에 매개변수나 스위치를 포함하지 않으면 시스템은 기본값을 제공합니다. 열쇠 /? 명령에 대한 도움말을 발행합니다. 키를 눌러 명령이나 프로그램의 실행을 중단할 수 있습니다. ; 화면에 정보 표시를 일시 중지합니다. - , 아무 키나 눌러 계속하십시오.

MS-DOS 명령에는 내장(내부) 명령과 로드 가능(외부) 명령의 두 가지 유형이 있습니다. 내장명령은 가장 간단하고 가장 자주 사용되며 command.com 명령 프로세서의 필수 부분이며 카탈로그에 표시되지 않습니다. (예: DIR, COPY, DEL 등) 다운로드 가능명령에는 디스크의 파일에 영구적으로 저장되는 다른 명령이 포함됩니다(예: FORMAT). 이러한 명령을 실행하기 전에 해당 명령이 디스크에 있는지 확인해야 합니다. 몇 가지 MS-DOS 명령을 살펴보겠습니다.

3.1 현재 드라이브를 변경하려면 현재 드라이브가 될 드라이브의 이름을 입력한 다음 ":" 기호를 입력해야 합니다.

예를 들어,

명령은 A: 드라이브에서 C: 드라이브로 이동합니다.

3.2 현재 디렉토리 변경

CD(CHDIR) [디스크 드라이브:] 경로

예를 들어,

CD PROGRAM - PROGRAM 하위 디렉터리로 전환합니다.

CD.. - 상위 디렉토리로 이동합니다.

3.3 파일을 화면에 출력합니다.

유형 [드라이브:][경로\]이름.유형.

예를 들어,

유형 \PROGRAM\PASCAL\lab.txt ;

AUTOEXEC.BAT를 입력하세요.

2.4 파일 또는 파일 그룹 삭제

DEL [드라이브:][경로\]이름.유형.

이 명령을 사용하면 와일드카드를 사용할 수 있습니다.

예를 들어,

DEL*.* - 현재 디렉터리의 모든 파일을 삭제합니다.

2.5 카탈로그 찾아보기

DIR [드라이브:][경로\][이름.유형] .

각 파일에 대해 명령은 파일의 이름, 유형, 파일 크기(바이트), 생성 날짜 및 파일이 생성되거나 마지막으로 업데이트된 시간을 보고합니다. 마지막에는 여유 공간의 양이 보고됩니다. ""/P "" 키는 화면이 가득 차면 디렉토리 내용 입력을 중지합니다. 계속 입력하려면 아무 키나 누르십시오. "/W" 키를 사용하면 파일 이름(및 확장자)만 한 줄에 5개씩 화면에 표시됩니다.

2.6 하위 디렉터리 생성

MD(MKDIR) [드라이브:] 경로

2.7 하위 디렉터리 제거

RD(RMDIR) [드라이브:] 경로

이 명령을 사용하면 모든 하위 디렉터리를 삭제할 수 있지만 실수로 인한 삭제로 인한 파일 손실을 방지하기 위해 파일이나 다른 하위 디렉터리가 포함되어서는 안 됩니다. 당연히 현재 하위 디렉터리와 기본 디렉터리는 삭제될 수 없습니다.

2.8 파일 이름 바꾸기

REN[드라이브:][경로\]이전_이름 새_이름.

이 명령을 사용하면 내용을 변경하지 않고도 해당 파일의 이름을 변경할 수 있습니다. 이 명령을 사용하면 템플릿을 사용할 수 있습니다.

2.9 화면 청소

2.10 운영 체제 버전 표시

이 명령을 입력하면 버전이 생성된 연도에 따라 운영 체제 버전 번호가 화면에 나타납니다. 도구는 해마다 확장되고 있으며 이후 버전용으로 작성된 명령과 프로그램은 전혀 작동하지 않거나 다르게 실행되므로 버전을 아는 것이 필요합니다.

2.11 현재 시간 설정

시간 [hh:mm:cc:dd]

이 명령은 MS-DOS를 로드할 때 또는 시스템에서 작업하는 동안 다른 시간에 현재 시간을 설정합니다. 매개 변수 없이 명령을 실행하면 현재 시간이 표시되고 키를 누르면 새 시간이 요청됩니다. , 현재 시간에 동의할 수 있습니다.

2.12 현재 날짜 설정

날짜 [월:일:년]

이 명령은 현재 시간을 설정하는 TIME 명령과 동일한 방식으로 현재 날짜를 설정합니다.

2.13 하위 디렉터리 트리 보기

이 명령은 활성 디스크에 있는 모든 하위 디렉터리의 논리적 목록을 표시합니다. F 키를 추가하면 이러한 하위 디렉터리에 포함된 파일 목록을 얻을 수도 있습니다.

2.14 복사 별도의 파일

COPY 명령을 사용하면 디스크에서 디스크로 파일을 복사하고, 주변 장치 간에 데이터를 교환하고, 복사 프로세스 중에 데이터를 병합할 수 있습니다.

COPY [드라이브:][경로\]isf[드라이브:][경로\][inf] ,

여기서 isf는 확장자를 가진 이전 파일의 이름이고, inf는 확장자를 가진 새 파일의 이름입니다. /V 키를 사용하면 복사본의 정확성을 확인하면서 복사본을 만들 수 있습니다. 이 명령을 사용하면 와일드카드를 사용할 수 있습니다.

COPY 명령을 사용하여 주변 장치 간에 정보를 교환하는 경우 파일 이름 대신 다음과 같은 의미를 갖는 특수 이름 CON, PRN, NIL 등을 명령으로 대체합니다.

CON - 콘솔: 데이터 입력을 위한 키보드, 결과 표시 및 대화 제어를 위한 비디오 디스플레이;

PRN은 시스템과 연결된 기본 프린터입니다.

NUL - 프로그램 테스트를 위한 의사 장치(존재하지 않음)입니다.

COPY 명령을 사용하면 "+" 기호를 사용하여 여러 파일을 하나로 결합할 수 있습니다. 이 조합(연결)을 사용하면 소스 파일이 변경되지 않으며 현재 시간과 날짜가 새 파일에 기록됩니다.

1) PASCAL\*.PAS B: , 복사

PAS 유형의 모든 파일은 PASCAL 하위 디렉터리에서 B 드라이브로 복사됩니다.

2) FILE.EXT PRN 복사,

FILE.EXT 파일을 인쇄하는 중입니다.

3) FILE.EXT 복사,

키보드의 데이터를 FILE.EXT 파일에 입력합니다. 파일의 끝은 키 조합으로 생성됩니다. (MS-DOS에서 파일 생성).

4) FILE1.EXT+FILE2.EXT+FILE3.EXT BOOK.EXT 복사,

여러 파일을 하나의 BOOK.EXT로 결합합니다.

2.15 파일 쓰기 방지

ATTRIB [+R ¦ -R] [+A ¦-A] [ 드라이브:][경로\]파일 이름.

R - 파일 쓰기 방지를 설정합니다.

R - 파일 쓰기 금지를 취소합니다.

A - 파일을 보관 상태로 설정합니다.

A - 파일의 보관 상태를 취소합니다.

ATTRIB +R FILE.EXT - 이 파일에 정보를 쓸 수 없습니다.

ATTRIB FILE.EXT - FILE.EXT에 데이터를 쓰는 기능에 대한 요청이 이루어졌습니다. 운영 체제 응답:

R_A:\FILE.EXT , 즉 파일에 쓸 수 없습니다.

2.16. 데이터 전달:

> - 출력 데이터를 리디렉션합니다. 화면에 항상 표시되는 데이터는 주변 장치나 디스크 파일로 리디렉션됩니다. 후자의 경우 필요한 경우 파일이 생성됩니다. 파일이 존재하면 이전 데이터가 새 데이터로 대체됩니다.

유형 FILE.TXT > PRN

내일 ECHO 그룹 회의 > PRN

>> - 출력도 리디렉션되지만 파일이 이미 존재하는 경우 데이터가 이전 데이터에 추가됩니다.

< - переадресовать входные данные. Данные будут приниматься не с клавиатуры, а с периферийного устройства или из дискового файла.

프로그램< FILE.TXT

참고: 실행을 리디렉션하려는 프로그램은 표준 I/O 기능을 사용해야 합니다.

2.17. 컨베이어 조직.

첫 번째 화면 출력이 다음 A1|A2|A3의 키보드 입력으로 사용되도록 명령이나 프로그램을 연결할 수 있습니다.

에코 | DEL *.* >NUL - 모든 디렉터리 항목을 삭제할 때 "계속하시겠습니까..." 프롬프트에 자동으로 Y(예)로 응답합니다.

(컨베이어)을 따라 발생 | 한 프로그램에서 다른 프로그램으로 데이터를 전송합니다. 훨씬 더 효과적인 사용 | (파이프라인) 필터 및 전달 명령을 사용합니다.

2.18.FIND, MORE, SORT 필터.

a) 디스크 파일에서 지정된 데이터(전화번호, 주소, 문구)를 검색합니다.

"구문" [경로\] 파일 이름 찾기,

여기서 /C는 감지 카운터입니다. 즉, 문구가 몇 번 감지되었으나 줄 자체는 표시되지 않습니다.

/N – 줄 번호도 표시됩니다(줄 자체 제외).

/V – 이 문구를 포함하지 않는 모든 줄을 표시합니다.

FIND "group" FILE.TXT – "group"이라는 단어가 포함된 파일의 행을 표시합니다.

디렉토리 | FIND /V “COM” – COM 확장자를 가진 파일을 제외한 모든 파일을 표시합니다.

“자동차” AB.DAT, B.DAT, C.DAT 찾기 – 자동차 비용.

b) 페이지별 표시

더< FILE.TXT

유형 파일.EXT | 더

c) 데이터 정렬.

SORT(기본적으로 1문자씩 알파벳 오름차순 정렬),

여기서 /R - 내림차순으로 정렬합니다.

/+n – n 열부터 시작하여 행이 정렬됩니다.

키보드에서 정보 입력, Ù Z – 입력된 정보의 끝을 나타내는 기호입니다.

이것을 파일에 쓰는 것이 좋습니다. 종류< CON >파일.TXT.

디렉토리 | SORT – 디렉터리 요소가 파일(디렉터리) 이름을 기준으로 정렬됩니다.

디렉토리 | 정렬 /+10 > FILE.EXT -

파일 목록은 확장자(WINDOWS 9X)별로 정렬됩니다.

파일 시스템조직을 구성하는 것을 목적으로 하는 운영 체제의 일부입니다. 효과적인 작업외부 메모리에 저장된 데이터를 사용자에게 제공 사용자 친화적 인 인터페이스그러한 데이터로 작업할 때. 자기 디스크에 정보 저장을 구성하는 것은 쉽지 않습니다. 예를 들어, 이를 위해서는 디스크 컨트롤러 설계 및 해당 레지스터 작업 기능에 대한 충분한 지식이 필요합니다. 디스크와의 직접적인 상호 작용은 디스크 드라이버라고 하는 OS 입출력 시스템 구성 요소의 특권입니다. 컴퓨터 사용자를 하드웨어와 상호 작용하는 복잡성으로부터 해방시키기 위해 명확하고 추상적인 파일 시스템 모델이 발명되었습니다. 파일 쓰기 또는 읽기 작업은 개념적으로 하위 수준 장치 작업보다 간단합니다.

나열해보자 주요 기능파일 시스템.

1. 파일 식별. 파일 이름을 파일 이름에 할당된 외부 메모리 공간과 연결합니다.

2. 파일 간 외부 메모리 배포. 특정 파일을 작업하기 위해 사용자는 외부 저장 매체에서 해당 파일의 위치에 대한 정보를 가질 필요가 없습니다. 예를 들어, 하드 드라이브에서 편집기로 문서를 로드하기 위해 문서가 어느 자기 디스크의 어느 면, 어느 실린더 및 어느 섹터에 있는지 알 필요가 없습니다.

3. 신뢰성과 내결함성을 보장합니다. 정보 비용은 컴퓨터 비용보다 몇 배나 높을 수 있습니다.

4. 무단 접근으로부터 보호를 보장합니다.

5. 사용자가 액세스 동기화를 보장하기 위해 특별한 노력을 기울일 필요가 없도록 파일에 대한 공유 액세스를 제공합니다.

6. 고성능을 보장합니다.

파일은 때때로 보조 메모리에 기록된 관련 정보의 명명된 모음이라고 합니다. 대부분의 사용자에게 파일 시스템은 OS에서 가장 눈에 띄는 부분입니다. 이는 시스템의 모든 사용자에게 데이터와 프로그램 모두에 대한 온라인 저장 및 액세스를 위한 메커니즘을 제공합니다. 사용자의 관점에서 파일은 외부 메모리의 단위입니다. 즉, 디스크에 기록된 데이터는 일부 파일의 일부여야 합니다.

37. 가장 간단한 목차와 그 요소

파일 시스템에는 다음이 포함됩니다. 목차그리고 데이터 영역 -번호/주소로 식별되는 디스크의 블록 모음입니다. 가장 간단한(추상적) 목차, 다양한 운영 체제에서 서로 다른 이름을 갖는 볼륨(디스크, 디스크 패키지)의 목차 예 - VTOC - 볼륨 목차, FAT - 파일 할당 테이블, FDT - 파일 정의 테이블 등은 그림 1에 나와 있습니다. 1.

쌀. 1. 가장 간단한 볼륨 목차

이는 세 가지 영역으로 구성됩니다.

· 파일 영역.이것은 일반적으로 제한적인 테이블입니다(예제에서는 N=6) 줄 수 N(예를 들어 MS-DOS에서는 N=500, 즉 파일 수는 500개 이하). 열 수 (예제에서 남= 5) 일반적으로 사용자가 생성한 파일의 85~95%가 다음을 포함하지 않도록 선택됩니다. 블록은 블록의 크기와 사용자 유형, 정보 개발의 일반적인 수준에 따라 달라집니다. 소프트웨어. 각 행의 첫 번째 테이블 열 (타이틀 레코드)파일에 대한 정보가 들어 있습니다. 이 예에서는- 파일 이름;

· 오버플로 영역- 특히 긴 파일의 블록 번호가 기록되는 유사한 구조의 추가 테이블(예: File_l) 파일 영역과 오버플로 영역의 형태로 할당 테이블을 구성하면 파일의 예상 길이를 제한하지 않고 테이블 전체의 크기를 줄일 수 있습니다.

· 무료 블록 목록- 필요한 정보생성되거나 확장된 파일을 배치하는 데 사용됩니다. 목록은 초기화 중에 생성되며 손상된 블록을 제외한 모든 블록을 포함하며 파일이 생성, 삭제 또는 수정될 때 조정됩니다.

· 불량 블록 목록.이는 볼륨(디스크)의 초기화(파티셔닝) 중에 생성되고 진단 프로그램(예: 사용자에게 잘 알려진 NDD - Norton Disk Doctor)에 의해 보충되며 자기 매체의 손상된 영역이 분산되는 것을 방지합니다. 데이터 파일.

그림 1에 기록된 상황의 특징을 나열해 보겠습니다. 가장 단순한(인공) 파일 시스템에서.

File_l은 6개의 블록을 차지하며 이 숫자는 최대값보다 크므로 블록 번호 6(23)의 주소가 오버플로 테이블에 배치됩니다.

File_2는 한도보다 적은 2개의 블록을 차지하므로 모든 정보가 파일 영역에 집중됩니다.

다음과 같은 충돌 상황이 있습니다.

· File_3에는 단일 블록이 포함되어 있지 않습니다(따라서 파일은 삭제되었지만 헤더 레코드는 보존되었습니다).

· File_4 및 File_l은 블록 #3을 참조합니다. 각 블록이 단일 파일에 할당되어야 하기 때문에 이는 오류입니다.

· 사용 가능한 블록 목록에는 블록 번호 12번(불량으로 표시됨)과 13번(File_1에 할당됨)이 포함되어 있습니다.

38. IBM 및 MS 호환 파일 시스템의 예를 사용한 디스크 파티션의 논리적 구조


논리 드라이브 D 및 E

기본 파티션의 최대 수는 4개입니다. 활성 파티션은 시스템 부트 로더가 있는 곳입니다.

MBR- 운영 체제의 후속 로딩에 필요한 코드 및 데이터는 하드 드라이브 또는 기타 정보 저장 장치의 첫 번째 물리적 섹터(대부분 첫 번째 섹터)에 위치합니다.

확장 섹션 항목이 호출됩니다. SMBR(보조 마스터 부트 레코드)). 이 항목과의 차이점은 부트로더가 없으며 파티션 테이블이 기본 파티션과 확장 파티션이라는 두 가지 항목으로 구성된다는 것입니다.

39. FAT 파일 시스템. FAT 볼륨 구조

40. NTFS 파일 시스템. NTFS 볼륨 구조

41. 윈도우 OS 레지스트리

42. Windows NT 제품군의 운영 체제

43. Windows NT의 일부 아키텍처 모듈

44. 경영 하드 드라이브윈도우 NT에서

45. 투영 운영 체제, 그 원리, 장점, 단점

46. ​​​​절차적 운영 체제, 그 원리, 장점, 단점

47. 유닉스 OS 개발의 역사와 이념

48. 유닉스 OS 구조

49. 사용자 인터페이스유닉스

50. Unix에서 프로세스(작업) 디스패치

51. 리눅스 OS와 그 주요 장점

52. Linux OS에서 그래픽 모드 구현

53. Linux OS 작업의 기본 원칙

54. 기본 Linux OS 구성 파일

55. 함께 일하기 디스크 드라이브리눅스 OS에서

56. 리눅스 OS용 애플리케이션

파일 시스템에 대한 일반 정보

Windows 8 운영 체제는 여러 파일 시스템을 지원합니다. NTFS, FAT 및 FAT32. 하지만 그것은 단지 작동할 수 있습니다 NTFS즉, 특정 파일 시스템으로 포맷된 하드 드라이브 파티션에만 설치할 수 있습니다. 이는 다음에서 제공되는 기능 및 보안 도구 때문입니다. NTFS, 그러나 파일 시스템에는 없습니다. 이전 윈도우세대: FAT16그리고 FAT32. 다음으로, Windows용 파일 시스템의 전체 라인을 살펴보고 시스템 운영에서 이들이 어떤 역할을 하는지, 그리고 Windows에서 Windows 8까지 개발하는 동안 어떻게 개발되었는지 이해하겠습니다.

장점 NTFS디스크에 있는 데이터(파일) 작업의 성능, 안정성 및 효율성 등 거의 모든 것과 관련됩니다. 따라서 창설의 주요 목표 중 하나는 NTFS파일에 대한 작업(복사, 읽기, 삭제, 쓰기)의 고속 실행을 보장하고 데이터 압축, 대용량 디스크의 손상된 시스템 파일 복구 등의 추가 기능을 제공하는 것이 었습니다.

또 다른 주요 창작 목적 NTFS파일 시스템 이후 보안 요구 사항이 강화되었습니다. 지방, FAT32이 점에서 그들은 전혀 좋지 않았습니다. 정확히 시간 NTFS모든 파일이나 폴더에 대한 액세스를 허용하거나 거부할 수 있습니다(액세스 권한 제한).


먼저, 파일 시스템의 비교 특징을 살펴본 후, 각각에 대해 좀 더 자세히 살펴보겠습니다. 더 명확하게 하기 위해 비교를 표 형식으로 표시합니다.

파일 시스템 지방제한된 기능으로 인해 최신 하드 드라이브에는 적합하지 않습니다. 에 관하여 FAT32, 여전히 사용할 수 있지만 약간의 여유가 있습니다. 1000GB 하드 드라이브를 구입하는 경우 이를 최소한 여러 개의 파티션으로 분할해야 합니다. 그리고 영상 편집을 하게 된다면, 굉장히 어려울 것입니다. 가능한 최대 파일 크기는 4GB로 제한됩니다..

파일 시스템에는 이러한 모든 단점이 없습니다. NTFS. 그래서 자세히 설명하지 않고도 특별한 능력파일 시스템 NTFS, 당신은 그것에 유리한 선택을 할 수 있습니다.

파일
체계
옵션
볼륨 치수 최대 크기파일
지방 1.44MB에서 4GB까지 2GB
FAT32 이론적으로는 512MB에서 2TB까지의 볼륨 크기가 가능합니다. 파일 시스템 수준에서는 압축이 지원되지 않습니다. 4GB
NTFS 최소 권장 크기는 1.44MB이고 최대 크기는 2TB입니다. 파일, 디렉터리 및 볼륨에 대한 파일 시스템 수준 압축을 지원합니다. 최대 크기는 볼륨 크기에 의해서만 제한됩니다. (이론적으로 - 264바이트 - 1KB. 실제 - 244바이트 - 64KB)

일반 용도 FAT32컴퓨터에 여러 운영 체제가 설치되어 있고 그 중 하나가 지원하지 않는 경우에만 정당화될 수 있습니다. NTFS. 그러나 오늘날에는 그러한 사람들이 거의 없습니다. Windows 98과 같은 골동품을 설치하려는 경우가 아니면.

파일 시스템 FAT

파일 시스템 지방(보통 이 말은 지방 16)은 꽤 오래 전에 개발되었으며 작은 디스크 및 파일 볼륨과 간단한 디렉토리 구조에서 작동하도록 고안되었습니다. 약어 지방약자 파일 할당 테이블(영어 파일 배치 표에서). 이 테이블은 볼륨의 시작 부분에 배치되며 안정성을 높이기 위해 두 개의 복사본이 보관됩니다.
이 테이블은 운영 체제에서 파일을 찾고 하드 드라이브에서의 물리적 위치를 결정하는 데 사용됩니다. 테이블(및 해당 복사본)이 손상되면 운영 체제에서 파일을 읽을 수 없습니다. 단순히 어떤 파일이 어느 파일인지, 어디에서 시작되고 어디에서 끝나는지 확인할 수 없습니다. 이러한 경우 파일 시스템이 "충돌"했다고 합니다.
파일 시스템 지방원래 플로피 디스크용으로 Microsoft에서 개발했습니다. 그제서야 그들은 그것을 사용하기 시작했습니다. 하드 드라이브. 처음에는 그랬어요 FAT12(플로피 디스크 및 최대 16MB의 하드 드라이브의 경우) FAT16, MS-DOS 3.0 운영 체제에서 작동되었습니다.

파일 시스템 FAT32

Windows 95 OSR2 이후, 마이크로소프트 회사운영 체제에서 적극적으로 사용하기 시작합니다. FAT32- 32비트 버전 지방. 해야 할 일, 기술 진보가 멈추지 않고 기회 지방 16분명히 충분하지 않았습니다.
그녀와 비교하면 FAT32디스크에 대한 보다 최적의 액세스를 제공하기 시작했습니다. 고속 I/O 작업을 수행하고 대용량 파일 볼륨(디스크 용량 최대 2TB)을 지원합니다.
안에 FAT32더 작은 클러스터 사용을 통해 디스크 공간을 보다 효율적으로 사용하도록 구현되었습니다. 비교한 이익 FAT16약 10~15%입니다. 즉, 사용할 때 FAT32 FAT16을 사용할 때보다 동일한 디스크에 10~15% 더 많은 정보를 쓸 수 있습니다.
또한, 다음 사항에 유의해야 합니다. FAT32더 높은 운영 안정성과 더 빠른 프로그램 실행 속도를 제공합니다.
이는 두 가지 중요한 혁신 덕분입니다.
루트 디렉터리를 이동하는 기능과 백업 복사본 지방(본본이 손상된 경우)

시스템 데이터의 백업 복사본을 저장하는 기능.

파일 시스템 NTFS

일반 정보
두 FAT 버전 모두 허용 가능한 수준의 보안을 제공하지 않습니다. 이는 추가 파일 메커니즘(압축, 암호화)의 필요성과 함께 근본적으로 새로운 파일 시스템을 생성해야 하는 필요성으로 이어졌습니다. 그리고 그것은 파일 시스템이 되었습니다. NT (NTFS)
NTFS- 영어로부터 신기술 파일 시스템 - 신기술 파일 시스템
이미 언급했듯이 주요 장점은 보안입니다. 파일 및 폴더의 경우 NTFS액세스 권한을 할당할 수 있습니다(읽기, 쓰기 등). 덕분에 데이터 보안과 시스템 안정성이 크게 향상됐다. 액세스 권한을 할당하면 모든 사용자와 프로그램이 파일에 대한 작업을 수행하는 것을 금지/허용할 수 있습니다. 예를 들어, 충분한 권한이 없으면 권한이 없는 사용자가 파일을 변경할 수 없습니다. 또는 충분한 권한이 없으면 바이러스가 파일을 손상시킬 수 없습니다.
게다가, NTFS위에서 언급한 것처럼 더 나은 성능과 작업 능력을 제공합니다. 대용량데이터.

Windows 2000부터 사용되는 버전은 NTFS 5.0, 표준 기능 외에도 다음 기능을 구현할 수 있습니다.

데이터 암호화- 이 기능은 특수 NTFS 추가 기능에 의해 구현됩니다. 파일 시스템 암호화(EFS)- 파일 시스템을 암호화합니다. 이 메커니즘 덕분에 암호화된 데이터는 암호화가 발생한 컴퓨터에서만 읽을 수 있습니다.
디스크 할당량- 이제 사용자가 사용할 수 있는 특정(제한된) 디스크 크기를 할당할 수 있습니다.
희소 파일의 효율적인 저장. 다수의 연속된 빈 바이트가 포함된 파일이 있습니다. NTFS 파일 시스템을 사용하면 스토리지를 최적화할 수 있습니다.

변경 로그 사용- 파일 및 볼륨에 대한 모든 액세스 작업을 기록할 수 있습니다.

그리고 NTFS의 또 하나의 혁신 - 마운트 포인트. 마운트 지점을 사용하면 관련되지 않은 다양한 폴더는 물론 시스템의 드라이브까지 단일 드라이브나 폴더로 정의할 수 있습니다. 이는 시스템에 존재하는 이질적인 정보를 한곳에 모으는 데 매우 중요합니다.

■ 마지막으로, NTFS에서 파일에 대해 특정 권한을 설정한 다음 해당 파일을 FAT 파티션에 복사하면 해당 파일의 모든 액세스 권한과 NTFS에 내재된 기타 고유 특성이 손실된다는 점을 명심하십시오. 그러니 조심해.

NTFS 장치. MFT 파일의 기본 테이블입니다.
다른 파일 시스템과 마찬가지로 NTFS는 사용 가능한 모든 공간을 다음과 같이 나눕니다. 클러스터 - 최소 블록파일이 분할되는 데이터입니다. NTFS는 512바이트에서 64KB까지 거의 모든 클러스터 크기를 지원합니다. 그러나 일반적으로 허용되는 표준은 4KB 클러스터입니다. 기본적으로 사용되는 것입니다. 클러스터의 존재 원리는 다음 예를 통해 설명할 수 있습니다.
클러스터 크기가 4KB(가능성이 높음)이고 5KB 크기의 파일을 저장해야 하는 경우 하나의 클러스터에 맞지 않고 디스크 공간이 부족하므로 실제로 8KB가 할당됩니다. 클러스터에 의해서만 파일에 할당됩니다.
각 NTFS 디스크에는 특수 파일이 있습니다. MFT(마스터 할당 테이블 - 기본 파일 테이블). 이 파일에는 디스크에 있는 모든 파일의 중앙 집중식 디렉터리가 포함되어 있습니다. 파일이 생성되면 NTFS는 파일을 생성하고 채웁니다. MFT파일 속성, 파일 내용, 파일 이름 등에 대한 정보가 포함된 해당 레코드입니다.

게다가 MFT, 운영 체제에서 액세스할 수 없고 호출되는 15개의 특수 파일(MFT - 16 포함)이 더 있습니다. 메타파일. 모든 사람의 이름 메타파일상징으로 시작하다 $ , 그러나 표준 운영 체제 도구를 사용하여 전혀 볼 수 없습니다. 다음은 기본 메타파일의 예입니다.

SMFT- MFT 자체.
$MFTmirr- 디스크 중앙에 배치된 처음 16개 MFT 레코드의 복사본(미러)
$로그파일- 로깅 지원 파일.
$볼륨- 서비스 정보: 볼륨 라벨, 파일 시스템 버전 등
$AttrDef- 볼륨에 있는 파일의 표준 속성 목록입니다.
$. - 루트 디렉토리.
$Bitmap- 볼륨이 없는 공간 지도.
$부팅 - 부트 섹터(파티션이 부팅 가능한 경우)
$Quota- 디스크 공간을 사용할 수 있는 사용자 권한을 기록한 파일입니다.
$Upcase- 현재 볼륨에 있는 파일 이름의 대문자와 소문자 대응에 대한 파일 테이블입니다.
주로 NTFS 파일 이름이 인코딩으로 작성되기 때문에 필요합니다. 유니코드, 이는 65,000개의 서로 다른 기호로 구성되어 있으며 크고 작은 등가물을 검색하는 것은 매우 사소하지 않습니다.
NTFS 디스크에 데이터를 구성하는 원리는 일반적으로 두 부분으로 나뉩니다. 디스크의 처음 12%는 소위 말하는 용도로 할당됩니다. MFT 존- MFT 메타파일이 커지는 공간입니다.
이 영역에는 사용자 데이터를 쓸 수 없습니다. MFT 영역은 항상 비어 있습니다. 이는 가장 중요한 서비스 파일(MFT)이 커짐에 따라 조각화되지 않도록 하기 위해 수행됩니다. 디스크의 나머지 88%는 일반 파일 저장 공간입니다.
다만, 디스크 공간이 부족할 경우 MFT 존 자체가 줄어들 수 있으므로(가능한 경우) 불편함을 느끼지 못할 것입니다. 이 경우 새 데이터는 이전 MFT 영역에 이미 기록됩니다.
나중에 디스크 공간이 해제되면 MFT 영역이 다시 증가하지만 조각 모음 형식으로(즉, 단일 블록이 아니라 디스크의 여러 부분으로) 증가합니다. 여기에는 아무런 문제가 없습니다. 단순히 다음과 같은 경우 시스템이 더 안정적이라고 간주됩니다. MFT 파일조각 모음되지 않았습니다. 또한 MFT 파일의 조각 모음이 수행되지 않으면 전체 파일 시스템이 더 빠르게 실행됩니다. 따라서 MFT 파일의 조각 모음이 많을수록 파일 시스템 작동 속도가 느려집니다.

MFT 파일의 크기는 대략 1000개 파일당 1MB를 기준으로 계산됩니다.

데이터 손실 없이 FAT32 파티션을 NTFS로 변환합니다. 변환 유틸리티

기존 FAT32 파티션을 NTFS로 쉽게 변환할 수 있습니다. 이를 위해 Windows 8, Windows 8.1에서는 명령줄 유틸리티를 제공합니다. 전환하다

작동 매개변수는 스크린샷에 표시되어 있습니다.

그래서 변환하려면 NTFS 디스크 D:, 에 명령줄다음 명령을 입력해야 합니다:

그런 다음 볼륨 레이블을 입력하라는 메시지가 표시됩니다(볼륨 레이블은 창의 드라이브 이름 옆에 표시됨). 내 컴퓨터. 디스크를 더 자세히 식별하는 데 사용되며 사용되거나 사용되지 않을 수 있습니다. 예를 들어 다음과 같을 수 있습니다. 파일 저장 (디:).
플래시 드라이브를 변환하려면 명령은 다음과 같습니다.

e 변환 : /fs:ntfs /nosecurity /x

파일 시스템을 사용하면 프로그램과 데이터를 구성하고 이러한 개체를 순차적으로 관리할 수 있습니다.

Unix OS의 기반이 되는 파일 시스템의 개념은 개인용 컴퓨터 운영 체제에 깊은 흔적을 남겼습니다. Unix에서 I/O 하위 시스템은 파일과 주변 장치에 액세스하는 방식을 통합합니다. 파일은 디스크, 터미널 또는 기타 장치에 있는 데이터 세트로 이해됩니다.

파일 시스템 파일에 대한 작업을 수행하는 운영 체제의 기능적 부분입니다. 파일 시스템을 사용하면 내용, 크기, 유형 등에 관계없이 파일 및 디렉터리(디렉터리)로 작업할 수 있습니다.

파일 시스템 데이터 관리 시스템입니다.

데이터 관리 시스템은 사용자가 대부분의 물리적 파일 조작에서 벗어나 주로 데이터의 논리적 속성에 집중할 수 있는 시스템입니다.

OS 파일 시스템은 사용자에게 외부 저장 장치의 가상 표현을 생성하여 낮은 수준의 물리적 장치 제어 명령이 아니라 높은 레벨집합과 데이터 구조.

파일 시스템(목적):

  • 외부 메모리에 있는 정보의 실제 위치에 대한 그림을 숨깁니다.
  • 컴퓨터의 특정 구성(파일 작업의 논리적 수준)으로부터 프로그램의 독립성을 보장합니다.
  • 데이터 교환 중에 발생하는 오류에 대한 표준 응답을 제공합니다.

파일 구조

디스크에 있는 전체 파일 모음과 파일 간의 관계를 파일 구조라고 합니다. 개발된 운영 체제는 트리 형태로 구성된 계층적 다중 레벨 파일 구조를 가지고 있습니다.

트리 디렉토리 구조가 사용됩니다. 디렉토리 트리. 유닉스에서 빌려왔습니다. 계층적 구조 – 시스템의 구조, 그 부분(구성 요소)은 포함 또는 종속 관계로 연결됩니다.

계층 구조는 정점이 구성 요소에 해당하고 호가 연결에 해당하는 방향 트리로 표현됩니다.

G 드라이브 디렉토리 트리

방향성 트리는 선택된 정점(루트)이 있는 그래프로, 루트와 모든 정점 사이에 고유한 경로가 있습니다. 이 경우 두 가지 방향 옵션이 가능합니다. 모든 경로의 방향은 루트에서 리프 방향이거나 모든 경로의 방향은 리프에서 루트 방향입니다.

트리는 계층 구조를 설명하고 설계하는 데 사용됩니다.

루트는 시작 위치이고 잎은 최종 위치입니다.

섹션

포맷 과정에서 하드 디스크나 광자기 디스크는 여러 부분으로 나누어 별도(독립) 디스크로 취급될 수 있습니다. 이런 부분을 이라고 합니다. 섹션또는 논리 드라이브. 운영 체제가 특정 크기보다 큰 디스크를 처리할 수 없기 때문에 디스크를 여러 논리 드라이브로 분할해야 할 수도 있습니다. 데이터와 사용자 프로그램을 별도로 저장하는 것이 매우 편리합니다. 시스템 프로그램(OS), OS가 "컴퓨터에서 날아갈" 수 있기 때문입니다.

– 디스크 영역. 아래에 논리 디스크(파티션)컴퓨터에서는 운영 체제가 하나의 전체 개체로 작동하는 모든 저장 매체를 의미합니다.

드라이브 이름– 논리 드라이브 지정; 루트 디렉터리에 항목을 입력합니다.

논리 드라이브(파티션)가 지정됩니다. 라틴 문자로 에이 비 씨 디이, ... (A부터 Z까지 32자).

문자 A, B는 플로피용으로 예약되어 있습니다.

C는 일반적으로 OS가 로드되는 하드 드라이브입니다.

나머지 문자는 논리 드라이브, CD 등입니다. 최대 금액 Windows OS용 논리 드라이브 - 끝이 없습니다.

안에 파티션 테이블 이 섹션의 시작과 끝 위치와 이 섹션의 섹터 수(위치 및 크기)가 표시됩니다.

논리 드라이브의 파일 구조

파일에 포함된 디스크의 정보에 접근하려면 첫 번째 섹터의 물리적 주소(표면 번호 + 트랙 번호 + 섹터 번호), 이 파일이 차지하는 총 클러스터 수, 다음 클러스터의 주소를 알아야 합니다. 파일 크기가 한 클러스터의 크기보다 큽니다.

파일 구조 요소:

    시작 섹터 (초기 부팅, 부팅 섹터);

    테이블 놓기파일 (FAT – 파일 할당 테이블);

    루트 디렉토리 (루트 디렉토리);

    데이터 영역 (남은 여유 디스크 공간).

신병-부문

신병-부문 – 디스크의 첫 번째(초기) 섹터. 0측, 0트랙에 위치합니다.

부트 섹터에는 서비스 정보가 포함되어 있습니다.

    디스크 클러스터 크기(클러스터는 FAT 테이블의 크기를 줄이기 위해 여러 섹터를 하나의 그룹으로 결합하는 블록입니다)

    FAT 테이블의 위치(부트 섹터에는 FAT 테이블이 있는 위치에 대한 포인터가 있음)

    FAT 테이블 크기;

    FAT 테이블 수(FAT를 파괴하면 정보가 손실되고 복구하기 어렵기 때문에 신뢰성과 보안을 보장하기 위해 항상 최소 2개의 테이블 복사본이 있습니다)

    루트 디렉터리의 시작 주소와 최대 크기.

부트 섹터에는 부트 블록(부트로더), 즉 부트 레코드가 포함되어 있습니다.

로더는 실행 가능한 프로그램을 RAM에 배치하고 실행할 수 있도록 준비하는 서비스 프로그램입니다.

FAT(파일 할당 테이블)

FAT(파일 할당 테이블) – 파일 할당 테이블입니다. 각 파일에 속하는 디스크 영역을 정의하며, 디스크의 데이터 영역은 번호가 매겨진 일련의 클러스터로 OS에 표시됩니다.

지방디스크 데이터 영역의 클러스터를 주소 지정하는 요소 배열입니다. 각 데이터 영역 클러스터는 하나의 FAT 요소에 해당합니다. FAT 요소는 데이터 영역의 파일 클러스터에 대한 참조 체인 역할을 합니다.

파일 할당 테이블 구조:

FAT는 16/32/64비트 요소로 구성됩니다. 전체적으로 테이블에는 최대 65520개의 요소가 포함될 수 있으며, 각 요소(처음 두 개 제외)는 디스크 클러스터에 해당합니다. 클러스터는 디스크의 데이터 영역에 파일과 디렉터리를 위한 공간을 할당하는 단위입니다. 처음 두 테이블 요소(번호 0과 1)는 예약되어 있으며 나머지 각 테이블 요소는 동일한 번호로 디스크 클러스터의 상태를 설명합니다. 요소는 클러스터가 사용 가능함, 클러스터에 결함이 있음, 클러스터가 파일에 속하고 파일의 마지막 클러스터임을 나타낼 수 있습니다. 클러스터가 파일에 속하지만 마지막 클러스터가 아닌 경우 테이블 요소에는 이 파일의 다음 클러스터 번호가 포함됩니다.

지방– 파일 구조의 매우 중요한 요소입니다. FAT를 위반하면 전체 정보가 완전히 또는 부분적으로 손실될 수 있습니다. 논리 드라이브. 이것이 바로 두 개의 FAT 복사본이 디스크에 저장되는 이유입니다. FAT 상태를 모니터링하고 위반 사항을 수정하는 특별 프로그램이 있습니다.

OS마다 다른 버전의 FAT가 필요합니다.

윈도우 95 FAT 16, FAT 32

윈도우 NT(XP) NTFS

노벨 넷웨어 TurboFAT

UNIX NFS,ReiserFS

저장매체의 논리적 구조