[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 13-3) 파일 보호 방법과 메모리 사상 파일

극꼼 2023. 4. 15. 10:36
반응형


<파일의 보호>

파일 시스템은 사고로 삭제, 파괴될 수 있기 때문에 컴퓨터에 대한 신뢰성은 파일의 복사본에 의해 제공됩니다. 그에 대한 내용은 아래 포스팅에서 자세히 다룹니다.

https://geukggom.tistory.com/283

 

[운영체제(OS)] 11-4) 저장장치 연결, RAID

컴퓨터는 호스트에 연결하는 방식, 네트워크로 연결된 저장장치, 클라우드 저장장치. 이렇게 3가지 방법으로 보조저장장치에 접근합니다. 1. 호스트 연결 저장장치 : 로컬 I/O 포트를 통해 액세스

geukggom.tistory.com

 

파일 접근의 유형에는 읽기, 쓰기, 실행, 추가, 삭제, 리스트(파일의 속성, 이름 등을 출력), 속성 변경 등이 있습니다. 파일에 대한 보호는 이런 기본 연산을 수행할 때 시행됩니다.


<접근 제어>

: 파일 보호의 가장 일반적인 방법은 사용자의 신원에 따라 특정 파일의 접근 허용 여부를 결정하는 것입니다. 

* 접근 제어 리스트(access-control list, ACL) : 어떤 파일을 누가 어떤 연산을 위해 사용할 수 있는지 기술.

 

접근 제어 리스트는 복잡한 접근 방법을 가능하게 하지만, 사용자의 리스트를 미리 알 수 없고 디렉토리 항목이 가변 크기가 되어 공간 관리 문제가 발생합니다. 이런 문제는 접근 리스트를 간소화해서 해결할 수 있습니다. 시스템은 모든 사용자를 파일을 생성한 소유자, 그룹(공유한 사용자들의 집합), 기타 3부류로만 분류합니다.

 

다른 보호 방법으로는 각 파일에 접근할 때 암호를 요구하는 것입니다. 이 방법의 단점으로는 모든 파일이 하나의 암호를 쓰면 보안 문제가 생기고, 파일마다 독자적인 암호를 가지면 기억해야 할 암호의 수가 너무 많아지는 것입니다. 일부 시스템은 이런 문제를 해결하기 위해 파일이 아닌 디렉토리마다 암호를 사용하게 하고 있습니다.

 

여러 단계의 디렉토리를 가지는 구조는 각 subdirectory를 보호하는 directory protection 기능이 있어야 하고, 디렉토리용 연산은 파일 연산과는 다르게 보호되어야 합니다. 또 파일의 존재 여부를 알리고 싶지 않을 때는 디렉토리의 내용을 열거하는 연산을 보호해야 합니다.


<메모리 맵 파일(Memory-Mapped Files. MMF)>

: 메모리 사상 기법은 메모리 맵 파일을 통해 프로세스의 가상 메모리 주소 공간에 파일을 매핑한 뒤 가상 메모리 주소에 직접 접근하는 것으로 파일 읽기/쓰기를 합니다. 다른 프로세스에서 동일한 파일에 메모리 맵 파일을 이용해 접근하면 공유 메모리처럼 사용하는 것도 가능합니다.

 

1) 구조 : 메모리 맵 파일을 사용하면 디스크의 파일 블록들과 프로세스의 페이지가 연결됩니다. 가상 메모리에 매핑만 되어있고, 실제 메모리에 파일을 불러오는 것은 읽기나 쓰기 작업을 시도할 때 입니다. 메모리 맵 파일로 작업중인 데이터가 실제 파일로 바로 반영되지는 않고, 페이지 교체 알고리즘에 따라 해당 페이지가 메모리에서 내려가거나 메모리 맵 파일을 닫을 때 반영됩니다. 때문에 동기화 문제가 발생할 수 있어서 메모리 맵 파일을 사용할 때는 읽기 전용으로 사용하는 것이 좋습니다. 

 

2) 장점 :

  • 직접적인 파일 입출력을 할 필요가 없음
  • 메모리 주소를 이용해서 연산 작업을 할 수 있기 때문에 코드가 깔끔해지고 유지보수가 편해짐
  • 파일에 접근할 때 지연 적재를 이용하기 때문에 대용량 자료를 처리할 때 효율적이고, 버퍼나 파일 처리를 위해 추가적인 자료 구조가 필요하지 않음

3) 단점 : 

  • 파일 입출력 API에서는 간편한 방법으로 파일의 크기를 제공하는데, 메모리 맵 파일은 파일의 크기를 파꿀 수 없고, 메모리 맵 파일을 사용하기 전후로만 바꿀 수 있음
  • 페이지 부재중 데이터 전송 시간이 오버헤드로 작용할 수 있어서 최적의 파일 접근 방식은 아님
  • 크기가 지나치게 큰 파일을 처리하는 데 계산이 복잡해질 수 있음

 

반응형