부트 프로세스
작성자 관리자 작성시간 2003-12-14 00:05:46
 

부트 프로세스

부팅 메시지


부트 프로세스
① 부트 PROM 단계
⒜ PROM이 POST를 실행
⒝ 부트 디바이스를 결정
⒞ 부트 프로그램인 bootblk를 로드
② 부트 프로그램 단계
    ⒟ bootblk는 두 번째 부트 프로그램인 ufsboot를 로드
    ⒠ ufsboot은 커널을 로드(32/64bit) : isainfo -kv
③ 커널 초기화 단계
    ⒡ 커널은 자신을 초기화하고 모듈을 로드
    ⒢ configuration 파일인 /etc/system을 읽는다.
④ init 단계
    ⒣ 커널이 /sbin/init을 실행
      - 커널은 /sbin/init 프로세스를 실행시키고, /sbin/init 프로세스는 /etc/inittab 파일의 등록된 정보를 참고로 하여 rc script 또는 실행 가능한 다른 스크립트들을 차례로 실행 시킨다. Init 단계가 성공적으로 수행되고 나면 시스템 화면에 login 프로프트를 보여준다.
/etc/inittab 파일



• init 프로세스는 inittab 파일을 읽는다.
• init 프로세스는 default run level 3으로 정의된 initdefault entry를 읽는다.
• init 프로세스는 /sbin/autopush와 같은 action entry에서 sysinit를 가진 entry들의 명령이나 스크립트를 수행한다.
• init 프로세스는 rstate entry에서 3을 가진 entry에 대한 스크립트들(/sbin/rc2, /sbin/rc3, /usr/lib/saf/sac, /usr/lib/saf/ttymon 등)을 수행한다. Sac와 ttymon은 console과 tty device의 로그인 서비스를 제공한다.


Run Control 스크립트
Solaris run level
Run level 설    명
Run level 0 PROM monitor level, 부트 PROM의 ok 프롬프트 상태로 시스템을 종료하기 위한 level이다.
Run level s, S Single user 상태로서 마운트된 모든 파일 시스템을 접근할 수 있다.
Run level 1 Single user 관리 상태로서 사용 가능한 모든 파일 시스템을 접근할 수 있다.
Run level 2 Multi user 상태로서 동시에 여러 명의 사용자가 접근 가능한 상태이다. NFS 서버 데몬을 제외한 시스템의 모든 데몬이 수행된다.
Run level 3 NFS 사용이 가능한 multi user 상태로서 동시에 여러명의 사용자가 접근할수 있고, /etc/inittab 파일에 기본 run level로 정의되어 있다.
Run level 4 현재 사용되지 않는다.
Run level 5 Solaris를 정지하고 시스템을 종료하는 상태이다.
Run level 6 시스템을 run level 0 으로 전환했다가 다시 multi user 상태로 재부팅한다.

Run control 스크립트
/sbin 디렉토리
/etc/rc#.d 디렉토리
/etc/init.d 디렉토리
run control 스크립트의 기능
rc 스크립트 기    능
/sbin/rc0 /etc/rc0.d/K*의 스크립트(PROM level로 시스템을 down)• 제공되고 있는 모든 서비스와 데몬을 정지시킨다.• 모든 프로세스가 동작을 멈춘다.• 모든 파일 시스템은 언마운트된다.
/sbin/rc1 /etc/rc1.d의 스크립트(run level 1로 시스템을 down)• 제공되고 있는 모든 서비스와 데몬을 정지시킨다.• 모든 프로세스가 동작을 멈춘다.• 모든 파일 시스템은 언마운트된다.
/sbin/rc2 /etc/rc2.d의 스크립트(run level 2 – 파일 리소스 공유만을 제외한 multi user 상대)• 모든 파일 시스템을 마운트한다.• /tmp 디렉토리 안의 모든 파일을 제거한다.• 시스템 accounting 을 구성한다.• 기본 라우터 구성 및 네트워크 서비스를 시작한다.• NFS 서비스를 제외한 모든 시스템 데몬을 시작한다.
/sbin/rc3 /etc/rc3.d의 스크리트(run level 3 – 파일 리소스를 공유할 수 있는 multi user 상태)• NFS 서버 프로세스를 시작한다.
/sbin/rc5/sbin/rc6 /etc/rc0.d/K* 스크립트• 모든 프로세스가 동작을 멈춘다.• 모든 파일 시스템은 언마운트된다.
/sbin/rcS /ect/rcS.d의 스크립트• 최소한의 네트워크를 구성한다.• 필요에 따라 /usr 파일 시스템을 마운트한다.• 시스템 이름을 설정한다.• /(root)와 /usr 파일 시스템을 점검한다.• pseudo 파일 시스템을 마운트한다.(/proc와 /dev/fd)• reconfiguration 부팅을 위해 device entry들을 rebuild 한다.• single user 모드로 마운트된 다른 파일 시스템을 마운트한다.


Shutdown 프로세스
/sbin/init 명령 : 사용자의 요구에 따라 시스템을 정지, Power-Off 또는 재부팅할 수 있다. 또한, 로그인한 모든 사용자에게 경고 메시지나 대기 시간 없이 rc0 kill 스크립트를 실행한다.(init s, init 0, init 5, init 6)

/usr/sbin/shutdown 명령 : init 명령어를 불러 시스템의 정지, Power-Off 또는 재부팅 상태로 만든다. rc0 kill 스크립트를 실행하며 init과 달리 로그인한 모든 사용자에게 경고 메시지를 보여주며, 기본적으로 60초의 대기 시간을 준다.

※ sync 명령어 : shutdown 명령어를 사용할 때 커널 메모리 데이터를 디스크에 동기화 하는 명령어인 sync 명령어를 2-3번 수행한 후에 종료한다.

/usr/sbin/halt 명령 : 사용자에게 경고 없이 바로 시스템을 정지시킨다.

/usr/sbin/poweroff 명령 : 시스템을 정지시키고 전원을 차단한다.

/usr/sbin/reboot 명령 : 시스템을 정지하고 run level 3에서 시스템을 재부팅한다. rc0 kill 스크립트를 수행하지 않음..


목록 | 입력 | 수정 | 답변 | 삭제