이번 단원은 내가 컴퓨터를 다루는데 가장 많은 궁금증이 있었고 가장 어렵다고만 느꼈었던 파일에 대해 다룬다.
그 동안 C 드라이브는 뭐고 파일의 속성, 등등 알고는 있었지만 자세히 알려고 하지 않았던 기능을 알게 되어 나름 되게 뿌듯했다.
앞에 나왔던 내용이 생각보다 많이 나와 공부하는데 어렵다거나 이해가 되지 않는 부분은 없었고 신기하다는 생각을 많이 하며 공부했던 단원인 것 같다.
1. 파일과 파일 시스템
1-1 파일 시스템의 개요
컴퓨터는 사용자가 직접 컴퓨터에 저장하지 않고 운영체제에 맞겨 데이터를 저장한다.
그 이유는 앞서 많이 설명했듯이 사용자가 직접 저장을 하게되면 다른 사용자의 파일을 훼손하거나 저장장치의 내부를 어지럽힐 수 있기 때문이다.
이 때에 운영체제가 파일 관리자를 두어 파일을 저장하고 보관하는 일을 맡긴다. 이를 파일 시스템이라고 부른다.
1. 파일 시스템의 기능
기능 | 설명 |
파일 구성 | 사용자의 요구에 따라 파일과 디렉터리를 만든다 |
파일 관리 | 파일 생성, 수정, 삭제 등의 관리를 하고 수시로 조각모음을 하여 사용자가 파일에 빨리 접근할 수 있도록 한다. |
접근 권한 관리 | 다른 사용자로부터 파일을 보호하기 위해 접근 권한을 관리한다. |
접근 방법 제공 | 파일을 읽고 쓰고 실행할 수 있도록 사용자에게 접근방법을 제공한다. |
무결성 보장 | 파일의 내용이 손상되지 않도록 무결성을 보장한다. |
백업과 복구 | 사고로분터 파일을 보호하기 위해 백업과 복구작업을 한다. |
암호화 | 파일을 암호화하여 악의적인 접근으로부터 파일을 보호한다. |
2. 블록과 파일 테이블
저장장치에서 데이터를 저장하는 가장 작은 단위는 섹터이지만 메모리에서 섹터단위로 주소를 정해준다면 아주 많은 주소를 만들어야한다.
→ 따라서 운영체제와 저장장치의 데이터 전송의 가장 작은 크기는 블록이다.
※ 블록의 크기를 줄이면 단편화가 줄어 공간을 많이 사용할 수 있지만 속도가 느려지고 블록의 크기를 늘리면 큰 파일을 사용할 때에 속도가 빨라진다.
1-2 파일 분류와 확장자
- 실행파일 : 운영체제가 메모리로 가져와 CPU를 이용하여 작업을 하는 파일 ex) PPT 프로그램, .exe 프로그램
- 데이터 파일 : 실행파일이 작업하는데 필요한 데이터를 모아놓은 파일 ex) PPT 프로그램 중 한 단원(?)
확장자 : 같은 이름을 가진 파일이 존재할 때 서로를 구분하기 위해 붙힌다. ('파일이름'.확장자)
1-3 파일 속성
파일 속성은 파일 헤더에 기록되며, 운영체제는 이러한 파일 헤더를 파일 테이블에서 관리한다.
- 파일 헤더 : 파일 테이블에서 관리하며 이름, 크기, 접근 권한 등 일반적인 내용이 담겨있음
- 고유 헤더 : 파일의 버전 번호, 크기, 특수 정보 등 응용프로그램이 필요로 하는 정보가 담겨있음 → 복구할 때 유용
1-4 파일 작업의 유형
파일 작업 : 파일을 변경하는 것
1. 파일 자체를 변경하는 작업
작업 | 설명 | 작업 | 설명 |
open | 파일을 연다 | copy | 파일을 복사한다 |
close | 파일을 닫는다 | rename | 파일의 이름을 변경한다 |
craete | 파일을 만든다 | list | 파일을 나열한다 |
remove | 파일을 이동한다 | search | 파일을 찾는다 |
- * : 모든 문자를 대체 ex) abc를 찾고싶을 때 → a*
- ? : 글자 수를 대체 ex) abc를 찾고싶을 때 → ab?
→ 따라서 파일 이름에 *나 ?가 들어갈 수 없다.
2. 파일 내용을 변경하는 작업
작업 | 설명 | 작업 | 설명 |
open( ) | 파일을 연다 | write( ) | 파일에 내용을 쓴다 |
create( ) | 파일을 만든다 | update( ) | 파일 중 일부를 변경한다 |
close( ) | 파일을 닫는다 | insert( ) | 파일에 내용을 추가한다 |
read( ) | 파일을 읽는다 | delete( ) | 파일 내용중 일부를 지운다 |
1-5 파일 구조
1. 순차 파일 구조
: 처음부터 마지막까지 순서대로 흐른다. 데이터를 저장할 때에도 순서대로 찾을 때에도 0번부터 찾는다.
장점 : 낭비되는 메모리가 없다
단점 : 데이터를 찾을 때 0번부터 찾기 때문에 속도가 매우 느리다
2. 직접 파일 구조
: 해시 함수를 이용하여 데이터를 원하는 공간에 저장할 수 있다.
장점 : 해시함수를 이용하기 때문에 속도가 매우 빠르다
단점 : 해시함수를 잘못 선정하면 저장공간이 낭비될 수 있다.
3. 인덱스 파일 구조
: 인덱스를 이용하여 저장공간의 위치를 특정할 수 있다.
장점 : 원하는 데이터를 빨리 찾을 수 있고 순차접근과 직접 접근 두가지 모두 가능하다.
2. 디렉터리의 구조
1. 디렉터리의 개념
: 관련있는 파일을 하나로 모아놓은 곳. 최상위 디렉터리를 루트 디렉터리라고 부른다.
2. 디렉터리 파일
: 디렉터리도 파일이기 때문에 헤더를 가진다. 디렉터리 헤더에는 디렉터리 정보가 시작되는 위치를 가리킨다.
→ . 한개는 자기 자신을 가리키고 .. 은 바로 상위 디렉터리를 가리킨다.
3. 경로
: 파일의 경로는 절대경로, 상대경로 두가지로 나눌 수 있다.
- 절대 경로 : 파일의 절대위치. 가장 최상위 디렉터리부터 해당 파일 까지의 경로를 나타낸다.
- 상대 경로 : 현재 내가 있는 위치로부터 찾고자 하는 파일의 위치까지를 나타낸다. /.은 현재 디렉터리를 나타낸다.
4. 디렉터리 구조
: 초기 파일 시스템에는 1단계 구현만 가능했지만 현재는 트리구조로 여러 갈래로 뻗어 나갈 수 있다.
5. 마운트
: 여러 파티션을 하나로 통합하는 명령어
'OS > 쉽게 배우는 운영체제' 카테고리의 다른 글
네트워크와 분산 시스템 (0) | 2022.04.17 |
---|---|
파일 시스템 (2) (0) | 2022.04.16 |
저장장치 관리 (2) (0) | 2022.04.10 |
저장장치 관리 (1) (0) | 2022.04.04 |
가상 메모리 관리 (2) (0) | 2022.04.03 |
댓글