■ 운영체제가 관리하는 자원은 물리적인 자원과 추상적인 자원으로 분류된다.

- 물리적인 자원 : 하드디스크, 메인 메모리, CPU 등의 하드웨어
- 추상적인 자원 : 물리적인 자원을 관리하기 위한 추상적인 개념의 자원

하드디스크는 파일시스템을 통해 관리되고, 메모리는 프로세스를 제어함으로써 관리되고, CPU는 스케줄링을 통해 관리된다.


(1)  파일 시스템
: 물리적인 디스크 영역에 있는 파일 또는 디렉토리의 집합. (일반 데이터 파일 / 바이너리 
파일 / 디바이스 파일 / 디렉토리 파일 등)

○ 디바이스 파일
: 물리적인 입출력장치들을 참조하는 파일. (/dev)

- 블록 디바이스 : 입력과 출력시 커널 내의 특정 버퍼를 이용 (하드디스크, CD-ROM 등)
- 문자 디바이스 : 버퍼를 사용하지 않고 문자 단위로 처리 (모니터, 키보드 등)

=> 운영체제는 /dev 디렉토리에 생성된 블록 디바이스 파일을 이용하여 하드디스크에 접근한다. ( /dev/hd, /dev/sd 등)

○ 파일 시스템의 구조
: 하드디스크는 관리자의 필요에 따라 복수의 논리적인 영역(Partition)으로 분할된다.
  이때 문할된 파티션마다 파일 시스템이 하나씩 생성된다.

- 파일 시스템은 부트 블록 / 수퍼 블록 / inode 리스트 / 데이터 블록의 네 가지 영역으로 분리된 자료구조를 갖는다.

    BOOT Block         SUPER Block       I-NODE List                             DATA  Block                        ]

- 파일 시스템은 이들 네 가지 영역으로 구성된 자료구조를 제어한다.
- UNIX 시스템이 디바이스 파일을 통하여 파일 시스템에 접근하려면 파일 시스템이 생성되어 있는 하드디스크와 루트 파일 시스템을 서로 연결하여야 한다. ( 연결 - mount / 해제 - umount )
- 파일 시스템의 주요 기능은 데이터 저장 공간을 파일에게 할당하고 이를 다시 회수하는 일이다.

○ Data Block
:  디스크 블록의 집합. (블록은 데이터를 저장하는 최소 단위이다.)

○ i-node 리스트 
:  파일 관리에 필요한 정보를 저장하고 있는 inode의 집합.

- inode 는 파일에 대한 정보와 이 파일에 할당된 디스크 플록의 주소를 저장하는 필드들로 구성.
- inode번호 는 파일을 식별하는데 필요한 인덱스 값.
- inode의 구성 :  디스크 블록의 위치를 저장하는 13개의 인덱스 필드와 파일의 소유자, 크기, 접근 권한, 접근 시간 등
- inode 는 파일 생성 시 할당받고, 파일 삭제 시 반납해야 한다.
- 디렉토리는 사용자에게 익숙한 파일명과 파일을 관리하는 inode를 연결하는 특수한 파일로 inode번호와 파일명으로 구성.

○ 수퍼 블록
: 파일 시스템의 정보를 유지하는 자료구조로 파일 시스템의 유형, 디스크 블록의 크기, 파일 시스템이 있는 디바이스 파일의 이름등의 정보를 관리.

- 파일시스템의 요약 정보와 함께 사용하지 않고 있는 inode와 디스크 블록의 위치 정보도 함께 관리한다.

○ 부트 블록
: UNIX 시스템의 부팅 과정에서 필요한 운영체제의 실행 파일 정보를 저장.


※ UNIX 시스템은 추상적인 자원과 파일 시스템의 제어를 통하여 하드디스크를 관리한다. 파일 시스템은 수퍼 블록, inode 리스트, 데이터 블록이라는 자료구조로 구성되어 있다. 데이터 블록은 파일 내용이 저장되는 디스크 블록의 집합을 의미하고, inode 리스트는 파일을 관리하는데 필요한 부가정보를 저장하는 inode 집합이다. 응용 프로그램이 특정 파일에 접근하기 위해서는 해당 파일의 정보가 저장된 inode를 참조한다.



by 민트앤라떼 2013. 1. 9. 22:53