솔라리스에서는 논리적 디바이스 이름(logical device name)으로 물리적 디바이스 이름(physical device name)에 링크를 걸어 사용을 한다. 아마도 리눅스의 hda1, sda1 등에 익숙한 사람들은 약간 어색할 것이며, freebsd 사용자의 경우는 그래도 조금 친근할 것이다.

1. Logical device names

Logical device name 은 우리가 알아보기 쉽도록 표시한 것을 말하며, 디스크의 경우 대부분 “c0t0d0s7”처럼 영문과 숫자의 조합으로 표시된다. 그럼 그 영문과 숫자의 의미를 알아보자.

- c0 : controller number가 0번임을 의미한다. 숫자는 OS에서 할당하기 때문에 우리는 그냥 쓰기만 하면 된다.
- t0 : target number가 0번임을 의미한다. IDE 에는 존재하지 않으며, SCSI의 경우는 id 번호가 된다.
- d0 : disk number가 0번이다.
- s7 : slice number가 7번이다. 슬라이스란 일반적으로 우리가 일컫는 파티션을 말하며, 이 숫자까지 와서야 비로소 우리가 정할 수 있다. Format 명령으로 파티션을 조직할 때 1부터 7번까지의 슬라이스 번호를 매길 수 있는데 그 중에 우리가 7번을 사용하고 있는 것이다.

Logical name 은 /dev/dsk(block device names) 와 /dev/rdsk(raw device names) 디렉토리에 존재하며, 실제로는 /devices 디렉토리의 복잡한 디바이스 이름에 링크되어 있다.

2. Physical device names

우리가 부팅을 할 때, kernel은 시스템에 부착된 디스크를 인식하고, /devices 디렉토리에 여러 문자로 이루어진 노드로 표현된다. 노드라 불리는 이 full device pathname 은 속성, 데이터 종류, 디스크 연결 방식에 관한 여러가지 정보를 담고 있다. 그 full device pathname 의 형식은 다음과 같이 이루어진다.


driver-name@unit-address:device arguments
driver-name 은 device name 을 나타낸다.
@unit-address는 device 의 physical address를 나타내는데, 부모 주소 공간 안에서 부여가 된다.
:device arguments 에는 각 device 에 해당하는 소프트웨어를 위한 추가적인 정보가 정의된다.

예를 들어 다음의 device 명을 살펴 보면 SPARC 시스템의 스카시 드라이버의 한 슬라이스를 나타낸다는 것을 알 수 있다.


/sbus@1f,0/esp@0,4000/sd@3,0:a
위의 내용을 보면, 1f,0 의 메인 시스템 버스 주소를 가지고 sbus 에 연결되어 있다. 그리고 esp 장치(scsi bus)에 0번 슬롯, 4000번 옵셋에 부착되어 있으며, SCSI target 번호가 3, 논리적 유닛 번호가 0인 sd 장치(scsi disk)라는 것을 알 수 있다.
2005/07/05 14:38 2005/07/05 14:38

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다