computer science Archives - Global Processing Services | GPS


내용 요약>

- 파일 관리기

 

- 물리 저장 매체의 분류

- 저장 장치 계층

- 자기 디스크 - (자기) 디스크의 성능, 성능 개선 방법: RAID

- 광 디스크

- 자기 테이프

 

- 저장 장치 액세스

- 버퍼 매니저 - 버퍼 대치전략

 

- 파일 구성

- 고정 길이 레코드 - 자유 리스트

- 가변 길이 레코드 - 바이트 스트링 표현법, 슬롯 페이지 구조, 공간예약, 포인터 방법

 

 

 

질문>

Q. 파일 관리기란 무엇인가? (File Manager)

 파일 관련 처리 과정 중에 레코드가 필요하면, 레코드는 디스크로부터 주기억 장치로 반입(Fetch) 된다. 파일 관리기는 레코드가 있는 페이지를 결정하는 역할을 한다. 원하는 레코드를 포함하는 페이지를 빨리 찾아내기 위해 보조적인 자료 구조를 사용할 수 있다. 파일 관리기가 원하는 페이지를 알아내면 버퍼 관리기에게 해당 페이지를 요청하는 방식으로 동작하며, 버퍼 관리기는 요청 페이지를 디스크에서 가져와 버퍼에 적재하고, 파일 관리기에 알린다.

 

Q. 저장 장치에서 블록이란?

 파일은 블록이라는 고정 길이 저장 단위로 분할되어 있다. 블록은 저장 장치 할당과 데이터 전송 단위의 역할을 한다. 데이터베이스는 기본적으로 블록의 크기로 4~8KB만큼을 가진다. 한 블록은 여러 레코드를 포함한다. 시스템은 디스크와 메모리 간의 데이터(파일) 전송에서 최소한의 블록 개수가 전송이 되도록 해야 한다. 가급적 많은 블록을 주 기억 장치, 즉 메인 메모리에 있도록 해야 디스크 액세스 수를 줄일 수 있다.

 

Q. 저장 장치에서 버퍼란?

 디스크 블록의 사본을 저장하는 데 사용되는 메인 메모리 부분이다. 버퍼 매니저는 메인 메모리에 버퍼 공간을 할당하는 서브 시스템으로 작동한다.

 

Q. 버퍼 매니저는 무엇이고, 버퍼 매니저의 동작 원리는 어떠한가? (Buffer Manager)

 프로그램은 디스크에서 블록이 필요할 때 버퍼 매니저를 호출한다. 필요한 블록이 버퍼(버퍼는 메인 메모리의 부분임)내에 이미 존재하면 메인 메모리 내의 블록 주소값을 요청하는 프로그램에게 전달한다. 블록이 버퍼 내에 없으면, 버퍼 매니저는 필요에 따라 새로운 블록을 위한 공간을 마련하기 위해 일부 블록을 내보내에 버퍼내어 공간을 확보하고 할당한다. 내보내진 블록은 디스크에 수록되고 읽혀진 최근 시점 이후 갱신되었을 때만 디스크에 다시 쓰이게 된다. 버퍼에 공간이 할당되면, 버퍼 매니저는 디스크에서 버퍼로 블록을 읽어 들이고 메인 메모리내 블록의 주소를 요청자(요청 프로그램)에게 전달한다.

 

Q. 버퍼 대치 전략에는 무엇이 있는가?

 LRU 버퍼 대치 전략과 MRU 버퍼 대치 전략이 있다.

 

Q. LRU 버퍼 대치 전략은 무엇인가?

 대부분 운영체제는 최근에 사용되지 않은 블록(LRU 블록)을 대치한다. LRU 대치 전략은 미래의 참조 지표로서 과거의 블록 참조 패턴을 사용한다는 특징을 가지고 있다. 질의는 잘 정의된 액세스 패턴(순차 스캔과 같은)을 가지며, 데이터베이스 시스템은 미래의 참조를 예측하는 데 사용자 질의 내의 정보를 사용할 수 있다. LRU는 데이터의 반복 스캔을 포함한 어떤 액세스 패턴에 대해서는 나쁜 전략일 수 있다.

 

Q. MRU 버퍼 대치 전략은 무엇인가?

 MRU 버퍼 대치 전략은 시스템이 현재 처리중인 블록을 고정시키고, 블록의 마지막 레코드가 처리된 후 블록을 해제하는 대치 전략이다. 해제되는 블록은 가장 최근에 사용한 블록이 되며, 그 블록이 점유했던 공간이 해제된다.

 

Q. 파일이란 무엇인가?

 파일은 데이터베이스의 구성 단위이다. 즉, 데이터베이스는 파일의 모임이다. 각 파일은 레코드로 구성되며, 레코드는 필드로 구성된다. 각 레코드가 단일 블록 내에 완전하게 포함되도록 하는 것이 좋다. 하나의 레코드가 여러 블록에 걸쳐 저장되는 것을 제한함으로써 데이터 항목에 대한 접근을 단순화시키고 속도를 향상시킬 수 있다. 파일을 구성하는 가장 단순한 방법은 레코드의 크기를 고정길이로 지정하는 것이다.

 

 

'컴퓨터 프로그래밍' 카테고리의 다른 글

정적 IP와 동적 IP  (0) 2014.06.06
[운영체제] 프로세스 동기화  (0) 2014.04.22
[운영체제] CPU 스케줄러  (2) 2014.04.17
[운영체제] 쓰레드  (0) 2014.04.17
[Pintos Project 2] System call handler  (0) 2014.04.15

+ Recent posts