본문 바로가기
Tech Interview/Operating System

[운영체제] 파일 시스템 & 디스크 관리

by ggyongi 2021. 11. 8.
반응형

Q) 파일 보호는 왜 필요하며 어떻게 이루어지나요?
A) 프로세스의 경우 제각각의 메모리를 갖고 있고 자기 자신만이 접근이 가능하기 때문에 read/write에 관한 접근 명령만 관리했습니다. 그러나 파일의 경우 여러 사용자가 사용할 수 있기 때문에 각 파일에 대해 누구에게 어떤 권한을 허용할 것인가가 필요합니다. Access control Matrix는 각 파일마다 사용자별로 어떤 접근 권한을 갖고 있는지 표시해놓은 행렬입니다. 하지만 공간적인 낭비를 이유로 선호되지 않는 방법입니다. Grouping 방법은 전체 사용자를 owner, group, other로 구분한 뒤 각 파일에 대해 세 그룹의 접근 권한(read, write, execution)을 3비트씩 표시합니다.


Q) 디스크에 파일을 저장하는 방법은 무엇이 있나요?
A) 방법에는 continuous allocation, linked allocation, indexed allocation이 있습니다.
연속할당은 동일 파일의 내용을 연속된 섹터에 저장하는 방법입니다. 외부 조각의 문제가 발생할 수 있고 file grow가 어렵다는 단점을 갖고 있습니다. 하지만 빠른 I/O는 장점입니다.
Linked allocation은 디렉토리에는 시작과 끝 섹터 정보만 저장되어있고 그 섹터에 가서 다음 섹터의 위치를 알아내는 방법입니다. 직접 접근이 아닌 순차 접근으로 데이터에 접근해야하고 하나의 섹터가 불량이면 그 뒤 섹터는 모조리 사용이 불가해진다는 단점이 있습니다. 외부조각은 발생하지 않습니다.
Indexed allocation은 디렉토리에 특정 섹터 인덱스를 가리키게 하고 해당 섹터에는 데이터가 저장된 위치들을 모아 저장해놓습니다. 이 경우 직접 접근이 가능해집니다.
+) 실제로는 FAT File System 같은 방법을 사용합니다. FAT에는 파일의 메타 데이터를 저장합니다. 대부분 위치정보입니다. FAT 배열에는 이어지는 블록에 대한 위치 정보가 저장되어있습니다. FAT 테이블을 메모리에 올려놓고 탐색하는 건 실제 블록에 접근하는 것이 아니기 때문에 이 경우 직접 전근이라 할 수 있습니다. FAT은 중요 정보이기 때문에 여러개의 복사본을 만들어 놓습니다.


Q) 디스크 스케줄링 기법에 대해 설명해 보세요.
A) 디스크 접근은 다음과 같이 구성되어있습니다. Seek time은 헤더가 해당 실린더까지 움직이는 시간, Rotational latency는 헤더가 원하는 섹터까지 걸리는 회전 시간, Transfer time은 데이터의 전송시간입니다. 이때 Seek time의 시간을 최소화하는 것이 디스크 스케줄링의 핵심입니다.
FCFS는 들어온 순서대로 처리합니다.
SSTF는 현재 헤드에서 가장 가까운 요청을 먼저 처리합니다. 이때는 starvation 문제가 생길 수 있습니다.
SCAN은 디스크 한쪽 끝에서 한쪽 끝으로 이동하며 모든 요청을 처리하는 방법입니다.
C-SCAN은 한쪽 끝에 도달 후, 아무 처리 없이 다른 쪽 끝에 돌아오는 방법입니다. SCAN보다 대기시간이 균일합니다.
LOOK은 끝까지 가지 않고 최대, 최소까지만 이동하는 방법입니다.
C-LOOK은 마찬가지로 한쪽 끝에 도달 후, 아무 처리 없이 돌아오는 방법입니다.

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글