관리 메뉴

클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

파일 시스템 1 - 파일과 디렉터리 본문

알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제

파일 시스템 1 - 파일과 디렉터리

huenuri 2024. 10. 18. 18:00

드디어 마지막 장이다. 언제 이 책을 끝마치나 했는데 계속하다 보면 이런 날이 오는 것 같다. 그것도 5일 만에 말이다. 사실 4일 만에 다 끝내고 싶었으나 그건 무리였다. 5일이라는 시간 동안 컴퓨터 구조와 운영체제에 대해 정말 많은 것들을 배웠다. 이제 2~3개의 포스트만 기록하면 다 마칠 수 있을 것 같다.

 

파일 시스템은 파일과 디렉터리를 관리한다. 파일 시스템에 관해 본격적인 학습에 앞서 파일 시스템이 관리하는 파일과 디레터리에 대해 학습해보겠다.


 

 

이번 절에서는 파일 시스템을 본격적으로 학습하기에 앞서 파일과 디렉터리에 대해 학습해 보겠다.


 

 

 

파일

우리가 일상적으로 컴퓨터를 이용할 때 파일 단위로 이용한다.

 

 

 

파일의 형식, 위치. 크기 등 파일과 관련된 다양한 정보들이 나타난다. 이러한 정보가 바로 파일 속성이다.

 

 

 

파일 속성과 유형

파일 유형은 운영체제가 인식하는 파일의 종류를 나타낸다. 같은 이름의 파일일지라도 텍스트 파일, 실행 파일, 음악 파일 등 유형이 다르면 실행 양상도 달라진다. 그래서 파일을 실행할 운영체제에 파일 유형을 알려주어야 한다. 

 

파일 유형을 알리기 위해 가장 흔히 사용하는 방식은 파일 이름 뒤에 붙은 확장자를 이용하는 것이다. 확장자는 파일 종류가 무엇인지 운영체제에 알려주는 힌트와도 같다. 


 

 

 

파일 연산을 위한 시스템 호출

파일을 다루는 모든 작업은 운영체제에 의해 이뤄진다. 어떤 응용 프로그램도 임의로 파일을 조작할 수 없으며 파일을 다루려면 운영체제에 부탁해야 한다. 이를 위해 운영체제는 이와 같은 파일 연산을 위한 시스템 호출을 제공한다.


 

 

 

 

디렉터리

파일을 일목요연하게 관리하기 위해 디렉터리를 이용할 수 있다.

컴퓨터 용량이 커지다 보니 저장할 수 있는 파일도 많아지고, 1단계 디렉터리로는 많은 파일을 관리하기 어렵다.

 

 

 

 

 

 

 

절대 경로와 상대 경로

 

 

같은 디렉터리에는 동일한 이름의 파일이 존재할 수 없지만, 서로 다른 디렉터리에는 동일한 이름의 파일이 존재할 수 있다. 유닉스, 리눅스, macOS 등의 운영체제에서 슬래시 기호는 루트 디렉터리를 표시할 뿐만 아니라 디렉터리와 디렉터리 사이의 구분자로도 사용한다.


 

 

 

디렉터리 연산을 위한 시스템 호출

운영체제가 파일 연산을 위한 시스템 호출을 제공하는 것처럼 운영체제는 디렉터리 연산을 위한 시스템 호출도 제공한다. 대표적인 종류는 다음과 같다.

 

 

디렉터리와 파일은 크게 다르지 않다. 

 

 

 

 

 

 

 

 

예를 들어보겠다. 다음과 같은 구조의 디렉터리와 파일이 있다고 가정해 보겠다. home 디렉터리에는 minchul 디렉터리와 guest 디렉터리가 있다. 여기서 ..은 상위 디렉터리 .은 현재 디렉터리를 가리킨다.

디렉터리 엔트리를 통해 보조기억장치에 저장된 위치를 알 수 있기 때문에 home 디렉터리에서 minchul 디렉터리가 저장된 곳을 알 수 있고, 그곳으로 이동할 수 있다.

 

 


 

 

 

단원 마무리하기

 

 

 

 

 

 

2번은 좀 어려웠는데 절대경로는 루트 디렉터리에서 시작하니 /home/minchul/c.tar가 된다. 상대경로는 현재 디렉터리부터 시작하니 minchul/c.tar가 된다.


 

 

 

 

 

학습을 마치고

오늘 오후 수업이 끝나기 전까지 파일 시스템 중 한 단원을 마쳤다. 나머지는 집에 가서 공부하면 될 것 같다. 파일과 디렉터리는 별로 어렵지 않은 단원이었다. 하지만 상대경로와 절대경로를 파악하는 건 아직도 잘 이해가 되지 않았다. 다시 한번 확인하며 상기해 봐야겠다.

오늘 하루도 정말 수고가 많았다. 밤에 한숨도 자지 않고 하루를 버티었고, 점심식사 후에 30분 정도 낮잠을 자며 정신도 다시 맑아졌다.