## File Structure

크게 3가지의 종류가 있다.

-None : 단어들의 나열이 보통 이런 형식. like ".txt" 파일

-Simple record structure  : 

  *Lines >> 파일 안을 보면 매 라인들을 레코드라고 할 수 있습니다. 10줄을 record structure라고 할 수 있음

  *Fixed length record >>  (고정된 길이의 레코드)

  *Variable length record 등이 있다. 

-Complex Structures

 * Formated document (ex ; html )

 * Reloctable load file (ex; object file )


##Access Methods
-> 파일에 접근하는 방식이 2가지가 있다.
 1] Sequential Access
 2] Direct Access
** 리눅스에서는 다양한 파일시스템들이 커널안에 들어가있습니다.


## Directory Structure
 
My document >> foo.txt >> 이것의 물리적인 주소값을, FCB에서 포인팅할 수 있도록 해요.
My document >> data.txt >>  동일.


## tree structured 16p
path name 윈도우는 역슬래시, 리눅스는 조금 다른 시스템.
absolute // relative 루트디렉토리부터 시작하냐, 지금있는 디렉토리부터 시작하냐에 따라 달라짐.
Ex] 
/workspace/proj/proj1/ver1/hello.c
/workspace/proj/proj1/ver2/hello.c
/workspace/proj/proj1/ver3/hello.c

/workspace/proj/proj1/vi/workspace/proj/proj1 … 와 같은 것은 절대경로라고 할 수 있고
./proj … 이런식으로 나간다면 상대경로이다.

## Acyclic-Graph Directories
-바로가기에 사용되는 기능이다. 내 파일이 다른 디렉토리에서 포인터를 둠으로써, 다른 곳에서 실행을 할 수 있도록 한다.
-문제가 생길 여지 : 본래 파일을 없애버리면, dangling pointer가 발생할 수도 있다.
-Soft/hard line 생략

## General Graph Directory (18p)
-부모디렉토리가 자식 디렉토리를 가리키는 경우에는 끝나지 않는 경우가 생길 수도 있다. (Self-reference)


반응형
Posted by JoeSung
,