★운영체제의 로딩 과정
-컴퓨터가 전원을 공급한다.
-부트 로더가 하드디스크의 첫번째 섹터에 해당하는 MBR에 있는 부팅 관련 프로그램을 실행한다.
-부팅관련프로그램은 MBR의 정보를 바탕으로 운영체제의 부트섹터로 제어권을 넘긴다.
-부트 섹터는 운영체제를 메모리로 로드시키기 위해 부트 프로그램을 실행한다.
※MBR(Master Boot Record) 의 정보
>파티션의 시작과 끝을 나타내는 주소 : 파티션의 크기와 위치 정보
>부팅 가능한 파티션인지에 관한 정보
>파티션 타입 : 두자리수 ID로 표현하며, 파티션의 용도를 파악.
★리눅스의 부팅과정
-LILO(Linux Loader) 리눅스 로더, 리로를 사용하고 있다.
> 커널을 메모리에 적재
>커널 이미지의 위치를 알고 있어 스스로 커널 이미지를 찾을 수 있다.
-커널 부팅
>메모리에 로드된 커널을 부팅
>커널 자신에게 포함되어 있는 기능들을 점검하고 설치되어 있는 하드웨어를 점검한다.
>압축된 커널 이미지는 메모리에 적재된 다음 스스로 푼다.
>root파티션을 마운트 하며, 대부분 Read-Only로 마운트 한다.
>디스크 검사를 수행하고 검사를 마치면 Read-Write모드로 Remount한다.
>/sbin/init을 수행한다.
-init
>커널이 제일 먼저 실행시키는 프로세스이며 PID 1번을 갖는다.
※PID 프로세서 아이디
UID 유저 아이디
GID 그룹아이디
>커널은 모든 제어권을 init에게 넘기고 프로그램이 특정 기능을 요청하면 처리한다.
>init Script 작업 진행
init Script 관련 파일 및 해당 위치 || 파일 설명
/etc/inittab init의 설정파일
/etc/rc.d/rc.sysinit init Script에서 제일 먼저 실행되는 파일
/etc/rc.d/rc.local init Script에서 제일 마지막에 실행되는 파일
/etc/rc.d/init.d/* 데몬을 실행시키기 위한 스크립트들
/etc/rc.d/rc[0-6].d/* 각 런레벨(Runlevel)에 정의 된 데몬들을 실행시키기 위한 파일
/etc/rc.d/rc 각 런레벨에 해당되는 스크립트를 실행 시키는 스크립트
/var/lock/subsys/* 현재 실행되고 있는 데몬들의 Lock 파일
/var/run/*.pid 현재 실행되고 있는 데몬들의 PID가 적힌 파일
★ init의 설정을 변경하여 xwindow부팅 모드에서 콘솔 모드 부팅으로 바꾸기
-VMware Workstation 으로 Red Hat Linux9를 실행시킨다.
리눅스가 start 된다.
-Xwindow 모드로 시작되게 되어 있다.
ID : root
Passward : 123456
-새로운 터미널을 한개 연다음 ,vi /etc/inittab
inittab파일을 열어준다. 다음은 init파일의 내용을 일부 수정한다
>Default runlevel, The runlevels used by RHS are: 부분을 살펴보자
런레벨에 대한 설정이 나와있고.
아랫부분에 id:5:initdefault: 라는 부분이 있다. 이 부분을
id:3:initdefault: 라고 고쳐주자.
- 고친 다음reboot라고 명령해 주면 , 다음번 부팅 부터는 콘솔 모드로 부팅된다.
아래에 설명이 다시 한번 있을것이다.
※ 간단하게startx라고 치면 x윈도우 화면으로 들어갈수 있다.
콘솔모드로 되돌아가는것은Ctrl + Alt + backspase
★init과 runlevel
-가정먼저 init은/etc/inittab설정 파일을 읽음
-Runlevel의 종류
Runlevel | 설 명
0 시스템 종료
1 싱글 유저(Single User)부트 : LILO프롬프트에서 linux single이라고 입력하면 런레벨 1에서 리눅스가 시작된다.
이 경우 디폴트인 root로 로그인되며, 대다수의 중요한 데몬들은 실행되지 않게 설정되어 있다.
2 NFS를 지원하지 않는 다중 사용자 모드
3 모든 네트워크 기능을 지원하는 다중 사용자 모드
4 특별한 의미가 정해지지 않았으며 나름대로 정의해서 쓸 수 있는 런레벨이다.
필요에 따라서 실행시키기 원하는 데몬이나 서비스를 /etc/rc.d/rc4.d 디렉토리 밑에 설정하여 각자의 특성을 갖는
고유의 런레벨을 정의 할 수 있다.
5 X-window 모드에서의 로그인
6 시스템의 재부팅
★아래는 콘솔 모드의 런레벨 rc3과 시스템 재부팅의 rc6
★시스템의 shutdown 과정
-init에 의하여 runlevel 0이 실행되고 커널이 동작을 멈추게 됨
-Runlevel 0의 두가지 동작
>실행 중인 모든 프로세스를 죽이게 됨
>작업하던 내용을 종료시킬 수 있도록 TERM, QUIT, KILL 순서로 시그널을 보냄
-현재 작업중인 것을 모두 저장
-모든 프로세스가 종료되었으면 마운트 된 디스크들을 언마운트
-만약 시행중인 프로세스가 있으면 디스크는 언마운트 되지 않는다.
-리눅스 시스템을 종료하는 명령어 shtdown 그자체가 명령어로, 이걸 사용하면 예약 종료도 가능하다
shutdown -h now 지금 바로 종료
shutdown -h 1 1시간 뒤에 자동으로 꺼지게 된다.
★시스템의 시작
-Root 계정
>시스템 관리자에게 부여되는 모든 권한을 가질 수 있다.
>Super User라고 한다.
>시스템 관리 및 사용자 추가 및 삭제, 시스템 내의 모든 작업에 관한 제어 권한
>평소 일반 사용자 계정으로 사용하는 것이 바람직하다.
>프롬프트의 모양이 #
-일반 사용자 계정
>Root가 부여해준 권한으로 시스템을 사용
>프롬프트의 모양이 $
>일반적으로 /home 안에 자신의 계정에 따른 디렉토리를 부여받는다.
★시스템의 종료
-halt
>아직 정해지지 않은 디스크의 운영상태를 완성
>/var/log/wtmp에 로그인과 로그아웃에 관한 내용을 저장하고 안전하게 종료
>Shutdown -h now와 같은 명령이다.
# /sbin/halt
-Ctrl + Alt + Del
>/etc/inittab 파일 가운데
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
>위의 항목을 추가하면 재부팅을 시킬 수 있다.
-shutdown
>멀티유저를 위한 특성에 맞도록 시스템 종료에 대처할 수 있는 시간적 여유와 메시지 전달 기능을 지원
>root 사용자만 수행 가능
# /sbin/shutdown [-krhfc] [-t sec] time [경고 메시지]
옵션 옵 션 내 용
-t sec 다른 런레벨로 바뀌기 전에 경고를 내보내는 프로세스와 kill시그널 사이의 기다리는 시간(단위/초)
-k 시스템에 접속된 모든 사용자들에게 경고 메시지만 전달
-r 셧다운 후 재부팅
-h 셧다운 후 시스템 정지
-f 재부팅 과정에서 fsck를 실행하지 않음
-c 실행중인 셧다운 취소
-init
># init 0 (시스템 종료)
># init 6 (시스템 재 부팅)
-X 윈도우 모드에서 시스템 종료
>일반적으로 로그아웃 메뉴 항목이나 로그아웃 버튼을 이용하여 시스템을 종료
-접속종료
>시스템 사용후 더 이상 사용하지 않고 시스템을 빠져나오는것
>logout 또는 exit 명령 또는 Ctrl + D 키를 동시에 누름으로써 실행
★시스템 부팅시 뜨는 환경 설정 "issue"와 issue의 내용에 따른 부팅 모습
'Linux' 카테고리의 다른 글
Cygwin 설치 및 개발환경 구축 (0) | 2013.04.19 |
---|---|
RPM 패키지 설치 및 삭제방법 (0) | 2012.08.31 |
유니티 각 부분의 명칭 및 키보드 단축키 (0) | 2011.07.20 |
유니티(unity) 초기화 (0) | 2011.07.20 |
How to enable sound in Ubuntu 11.04 While login as root (0) | 2011.07.20 |