운영 체제 원칙 10장 파일 시스템

학부생을 위한 운영 체제 원칙 학습 기록
학습 기록 가족 양동이

10.1 파일 개념

파일: 파일 이름이 있는 관련 정보 모음

파일 이름: 독특하고 기억하기 쉬운

파일 구조: 프로그램이 파일의 내용을 이해하기 쉽습니다.

  • 비정형: 텍스트 스트림, 바이트 스트림
  • 간단한 레코드 구조: 선형, 고정 길이, 가변 길이, HTML 문서
  • 복잡한 구조: 형식화된 문서, 멀티미디어 파일

파일 유형: 일반적으로 확장자에 의해 결정됩니다(파일 확장자라고도 하며 "."로 구분됨).

10.2 파일 작업

파일을 여는 작업이 있는 이유는 무엇입니까?

데이터 구조가 필요합니다.

  • 열린 파일 테이블: 열린 파일 추적
  • 파일 포인터: 마지막 읽기 및 쓰기 위치를 가리킴

10.3 파일 구조

논리 파일

사용자에게 제공되는 파일의 구성 구조

파일 논리 구조라고도 함

논리 파일은 파일 액세스 방법을 결정합니다.

파일 액세스 방법:

  • 순차 액세스: 차례로 액세스, 일반적인 대표: 테이프의 파일
  • 직접 액세스: 파일 경로를 지정할 수 있습니다. 일반적인 장치: 디스크
논리 파일 저장 데이터에 액세스
시퀀스 파일 ~40MB ~400K
직접 파일 ~100MB 100B
인덱스 파일 ~44MB 44비

10.4 파일 디렉토리

파일 제어 블록 FCB: 파일 작업에 필요한 다양한 속성 저장

i 노드(더 낮은 ds)

인덱스 노드: 디렉토리 항목은 파일 이름과 포인터(파일 위치를 포함하여 파일 이름 이외의 정보를 저장하는 i 노드를 가리킴)의 두 가지만 보유합니다.

단일 레벨 디렉토리

2단계 디렉토리

트리 디렉토리

방향성 비순환 그래프: 파일 공유

하드 링크와 소프트 링크

특정 용도를 보려면 아래 링크를 클릭하십시오.

하드 링크와 심볼릭 링크의 차이점 - Brief Book(jianshu.com)

하드 링크 기능:

하드 링크의 역할은 사용자가 중요한 파일에 대한 하드 링크를 설정하여 "우발적인 삭제" 기능을 방지할 수 있도록 파일이 여러 개의 유효한 경로 이름을 가질 수 있도록 하는 것입니다. 하나의 연결만 삭제해도 노드 자체와 다른 연결에는 영향을 미치지 않으며 마지막 연결이 삭제되어야 파일과 디렉터리의 데이터 블록 연결이 해제됩니다. 즉, 파일이 진정으로 삭제되기 위한 조건은 해당 파일과 관련된 모든 하드링크된 파일이 삭제되는 것입니다.

또한 링크 이름을 .로 시작하는 숨김 파일로 생성하면 사생활도 아주 잘 숨길 수 있습니다.

소프트 링크 기능:

소프트 링크는 심볼릭 링크(Symbolic Link)라고도 합니다. 소프트 링크 파일은 Windows 바로 가기와 유사합니다. 실제로는 특수 파일입니다. 심볼릭 링크에서 파일은 실제로 다른 파일의 위치에 대한 정보를 포함하는 텍스트 파일입니다.

장점과 단점:

소프트 링크는 하드 링크의 단점을 극복한 것으로 파일 시스템의 제한이 없으며 모든 사용자가 디렉토리를 가리키는 심볼릭 링크를 만들 수 있습니다. 따라서 현재 더 널리 사용되고 있으며 유연성이 더 뛰어나며 서로 다른 시스템과 서로 다른 네트워크 간에 파일을 연결할 수도 있습니다.

물론 소프트링크도 하드링크가 가지고 있지 않은 단점을 가지고 있는데, 그 이유는 링크 파일이 원본 파일의 경로 정보를 담고 있기 때문에 원본 파일이 한 디렉터리에서 다른 디렉터리로 이동한 후 링크 파일에 접근할 때, 시스템은 이를 찾지 못하고 하드링크는 이 결함 없이 원하는 대로 이동할 수 있으며 시스템에서 추가 공간을 할당하여 새 인덱스 노드를 생성하고 원본 파일의 경로를 저장해야 합니다.

MOOC 유닛 작업

1. 파일 시스템의 각 디렉토리 파일은 최대 40개의 하위 파일(디렉토리 파일 또는 일반 파일)을 저장할 수 있으며 각 물리적 블록은 10개의 디렉토리 항목을 저장할 수 있습니다. 하위 파일이 디렉터리 파일이면 상위 디렉터리는 디렉터리 파일의 첫 번째 블록을 가리키고, 그렇지 않으면 일반 파일의 파일 제어 블록을 가리킨다. 내 질문은 다음과 같습니다.
1) 단일 수준 디렉토리를 사용하는 경우 파일을 찾기 위해 최대 몇 개의 물리적 블록을 읽어야 합니까?
2) 보조 디렉토리가 사용되는 경우 파일을 찾기 위해 읽어야 하는 물리적 블록의 최대 및 최소 수는 얼마입니까?

단일 레벨 디렉터리: 최대 5개의 물리적 블록, 최소 2개의 물리적 블록, FCB에서 읽기도 한 번 물리적 블록에서 읽기로 계산됩니다.

보조 디렉터리: 최대 9개의 물리적 블록, 최소 3개의 물리적 블록

2. Unix 시스템의 파일 시스템에 i-node를 도입한 목적은 무엇입니까? 예를 들어주세요.

‍디렉토리 항목의 크기를 줄이면 읽기 블록 수도 줄어듭니다.

예:

물리적 블록 크기가 4KB이고 특정 디렉토리에 10,000개의 파일이 있다고 가정합니다.

각 파일의 FCB(디렉토리 항목) 크기는 2KB이며,

카탈로그 파일 크기: 20000KB

디렉터리 파일에 필요한 물리적 블록 수: 5000 블록

파일을 검색하기 위해 액세스해야 하는 물리적 블록의 평균 수: (5000+1)/2=2500.5

아이노드 사용 후 아이노드의 크기는 64B

디렉토리 파일 크기: 640000B=625KB

디렉터리 파일에 필요한 물리적 블록 수: 157 블록

파일을 검색하기 위해 액세스해야 하는 물리적 블록의 평균 수: (157+1)/2=79

3. Windows에서 사용되는 심볼릭 링크의 장단점에 대해 말씀해 주십시오.

장점:

소프트 링크는 하드 링크의 단점을 극복한 것으로 파일 시스템의 제한이 없으며 모든 사용자가 디렉토리를 가리키는 심볼릭 링크를 만들 수 있습니다. 따라서 현재 더 널리 사용되고 있으며 유연성이 더 뛰어나며 서로 다른 시스템과 서로 다른 네트워크 간에 파일을 연결할 수도 있습니다.

결점:

링크 파일에는 원본 파일의 경로 정보가 포함되어 있기 때문에 원본 파일이 한 디렉터리에서 다른 디렉터리로 이동한 후 해당 링크 파일에 액세스하면 시스템에서 해당 파일을 찾을 수 없습니다.

새 inode를 생성하고 원본 파일의 경로를 저장하기 위해 시스템에서 추가 공간을 할당해야 합니다.

4. 어떤 파일이 순차 파일을 사용하는 것이 좋은지, 어떤 파일이 다이렉트 파일을 사용하는 것이 좋은지 예시를 들어 설명해주세요. 왜?

‌파일 정보는 순서대로 저장되며, 순차 파일은 레코드 단위로 접근할 때 사용하는데, 이러한 파일은 순차적으로만 접근할 수 있기 때문에 저장은 순차 파일을 사용하는 것이 좋다.

파일의 특정 레코드를 직접 찾아 접근하고자 하는 파일은 다이렉트 파일을 사용하는데, 특정 위치에 직접 접근하고자 하는 사람들에게는 다이렉트 파일 접근이 효율적이고 빠르게 찾을 수 있기 때문이다.

5. 트리 디렉토리에서 더 많은 디렉토리 레벨을 갖는 것이 더 좋습니까? 왜? 예를 들어주세요

디렉토리 수준이 높을수록 좋은 것은 아닙니다. 트리 디렉토리에서 파일을 검색하려면 경로 이름에 따라 중간 노드를 단계별로 방문해야 하므로 디스크 액세스 수가 증가하고 의심할 여지없이 영향을 미칩니다. 쿼리 속도. 디렉터리 수준이 많으면 디스크 액세스 시간이 많을 수 있습니다.

추천

출처blog.csdn.net/weixin_45788387/article/details/122365638