본문 바로가기
728x90
반응형

디스크2

pintOS | Project 4 | Subdirectories and Soft Links 기본적인 파일 시스템에서 모든 파일들은 하나의 디렉토리에 있다. 디렉토리 엔트리가 파일이나 다른 디렉토리를 가르키도록 수정해야 한다. 즉 root 디렉토리 내 파일과 디렉토리를 생성할 수 있도록 계층구조를 구현해야 한다. 전 포스팅에서 현대 파일 시스템은 초기 사이즈가 0으로 생성되고 파일 끝 부분에 write될 때 확장된다고 했다. 디렉토리 역시 원래 크기 이상으로 확장될 수 있도록 하자. 기본 파일 시스템은 파일 이름이 14 character 제한이 있다. 개별적으로 파일 이름 구성요소에 대한 제한을 유지하거나 확정하거나 등 원하는대로 확장할 수 있다. 각 프로세스에 대해 별도의 현재 디렉토리를 유지하라. 시작 시 루트(root)를 초기화한 프로세스의 현재 디렉토리로 설정해라. 하나의 프로세스가 fo.. 2021. 10. 30.
pintOS | Project 4 | Indexed and Extensible Files 기본 파일 시스템은 외부 단편화에 취약한 single extent로 파일을 할당한다. 즉 n-block 파일은 n개의 블록이 할당 가능 상태일지라도 할당되지 않는다(외부 단편화 얘기). on-disk inode 구조체를 수정하여 이 문제를 제거해라. on-disk inode 구조체가 뭘까. 확인해봐야겠지? 이 구조체는 filesys/inode.c 에 있다. /* On-disk inode. * Must be exactly DISK_SECTOR_SIZE bytes long. */ struct inode_disk { disk_sector_t start; /* First data sector. */ off_t length; /* File size in bytes. */ unsigned magic; /* Magi.. 2021. 10. 29.
728x90
반응형