디렉터리는 파일 시스탬 내부에 있는 것으로 효율적인
파일을 사용을 하기 위해 디스크에 존재하는 파일에 대한 여러 정보를 가지고 있는 특수한 형태의 파일이다
디렉터리 구조 종류
- 1단계 디렉터리 : 가장 간단한 파일이다 모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조이며 중복된 파일의 이름은 허용되지 않는다.
- 2단계 디렉터리 : 중앙에 마스터 파일 디렉터리가 존재한다 그 아래 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조이다 마스터 파일 디렉터리는 사용자 파일 디렉터리를 관리하고, 사용자 파일 디렉터리는 사용자별 파일을 관리한다
- 트리 디렉터리 : 하나의 루트 디렉터리와 여러 개의 종속 디렉터리로 구성된 구조이다. DOS, windows, UNIX등의 운영 체제에서 사용이 된다.
- 비순환 그래프 디렉터리 : 하위 파일이나 하위 디렉터리를 공동으로 사용할 수 있는 것으로, 사이클이 허용되지 않는 구조이다 공유된 파일을 삭제할 경우 *고아 포인터(Dangling Pointer)가 발생할 수 있는다
- 그래프 디렉터리 : 트리 구조에 링크를 첨가시켜 순환을 허용하는 그래프 구조이다.
고아 포인터
Dangling Pointer :
포인터가 이미 해제된 메모리를 여전히 가리키고 있는 상태를 얘기한다
유효하지 않은 데이터를 참조하지 않기 때문에 잘못된 메모리 접근으로 이어질 수 있다.
Orphan Pointer :
메모리는 존재하지만, 접근할 포인터가 없어서 해당 메모리를 해제할 수 없는 상태를 얘기한다
프로그램 종료 시까지 메모리가 반환되지 않아 시스템 자원을 낭비한다