OS

[OS] 파일 할당의 물리적 관점, 파일 접근 제어 기법

혀내 2022. 5. 8. 17:27
반응형

파일 할당(File Allocation)

  • 파일을 디스크 공간에 어덯게 저장시킬 것인가.
  • 디스크 상 빈 공간들은 어떻게 관리할 것인가.

 

  • 디스크 = 블록들의 나열

  • 파일 = 블록 여러개

 

연속 할당 (Contiguous Allocation)

 디스크 상에서 연속된 다수개의 블록들을 동원해 파일을 저장하는 방법

 

 

< 장 점 >

  • 간단함
  • 순차처리에 좋은 성능을 보임

< 단 점 >

  • 외부 단편화: 디스크 빈 공간 활용에 비효율적 -> 빈 공간의 통합 작업 요구

 

 

체인 할당 (Chained Allocation)

 블록 크기만큼 나누어진 파일의 내용이 체인을 따라 차례로 저장되는 방법

 

< 장 점 >

  • 비연속 할당: 블록들이 연속적일 필요가 없음
  • 외부 단편화 X -> 공간 활용도가 우수함

 

< 단 점 >

  • 흩어져 있는 각 블록에 대해 매번 접근해야 함 -> 시간 지연

 

 

인덱스 할당(Indexed Allocation)

  • 비연속 할당
  • 가장 많이 사용되는 방식

 

 

 

빈 블록을 관리하는 자료구조 종류

비트 벡터 (Bit Vector)

 디스크 블록당 벡터를 두어 각 블록에 대해 1이면 사용중, 0이면 빈 블록으로 판단한다.

 

리스트 (List)

 디스크 상의 빈 블록들을 리스트로 연결하고, 첫 번째 빈 블록에 대한 포인터를 커널이 가지도록 하는 방법이다. 리스트의 각 빈 블록은 다음 빈 블록에 대한 포인터나 블록 번호를 가지도록 한다. 많은 개수의 빈 블록을 할당해 주어야 하는 경우 리스트의 변경에 걸리는 시간이 파일의 생성을 느리게 만드는 약점이 있다.

 

 

 

그룹화 (Grouping)

 각 빈 블록은 n 개의 빈 블록 번호를 가지도록 한다. 이 중 n-1개는 빈 블록의 번호이며, 나머지 하나는 다음번 n 개의 빈 블록 번호를 가지고 있는 블록 번호이다. 연결되는 노드의 수가 1/n으로 줄어들게 된다.

 

 

 

 

인덱싱 (Indexing)

 파일 할당에서 설명한 인덱스 테이블을 사용해 디스크 상의 연속된 빈 블록들 당 하나의 인덱스 항목이 설정되어 관리되는 기법이다. 빈 공간 전체가 하나의 파일로 취급된다고 볼 수 있으며, 파일 할당 방법이 어떤 것이든 효과적으로 사용되는 방법이다. 

 

 

 

 

파일에 대한 접근 제어 기법

  • 파일에 대한 접근 종류: 읽기(R), 쓰기(W), 실행(E), 첨부(A)

 

패스워드

 파일마다 패스워드를 부여하고, 이것을 통과했을 때 접근을 허용하는 방식

→ 패스워드를 모두 기억하고, 접근 방식에 따라 패스워드를 붙여야 해 부담 백배!!

 

접근 행렬 (Access Matrix)

  • 대부분의 시스템에서 채택하고 있는 제어 기법
  • 객체 (Object): 제어가 요구되는 대상 (= 파일)
  • 접근 권한 (Access Rights): 지정된 객체에 대해 가능한 접근 권한
    • <F, RE> = 프로세스가 파일 F에 대해 읽기와 실행 권한을 가짐
  • 도메인 (Domain): 같은 접근 권한을 갖는 프로세스들의 집합

→ 행렬 내에 빈 칸이 많을 수 밖에 없어서 비효율적

 

 

접근 행렬 구현 방법

전역 테이블

 시스템 전체에 대한 도메인, 파일들, 접근 권한을 순서대로 세 개의 쌍으로 표현해 전역 테이블에 저장하고 사용하는 기법

 

→ 테이블의 크기가 커지면 표현하기 어려워짐

 

 

접근 리스트 (Access List)

 각각의 파일에 대해 도메인 별로 접근권한을 리스트 형태로 표현한 것

  • 쉽고 자연스러워 가장 많이 사용됨
  • 특정 도메인에 속한 프로세스들이 접근 가능한 파일을 모두 찾기 위해서 전부 검색해야 함
  • 파일 F1 = { <D1, R>, <D3, RW>}

 

ex) UNIX

(owner) r w x / (group) r w x / (other user) r w x → 총 3 bit로 표현 가능

 

 

 

권한 리스트 (Capability List)

 도메인 별로 도메인에 속한 프로세스들이 접근 가능한 파일들과 접근 권한들을 리스트로 표현한 것

 

ex) 도메인 D1: (F1, R), (F2, W), (F4, WA)

 

 

 

락-키 (Lock-key) 방식

 파일들은 각각 락(Lock) 비트 패턴을, 도메인들은 키(Key) 비트 패턴의 리스트를 가지도록 한 후, 임의의 도메인 D에 속하는 프로세스가 특정 파일 F에 접근할 때 F의 락들 중 하나와 D의 키들 중 하나가 반드시 일치되어야 접근을 허락하는 방식

 

반응형