교재: "국가공인" 리눅스마스터 1급 ((주)수퍼유저, 저자 박성수, 강기봉, 정우영)
Part1. 리눅스 실무의 이해
Chapter 02. 리눅스 시스템의 이해
2.2 리눅스의 구조
2.2.1 부트 매니저
2.2.2 디렉토리 구조 및 디렉토리별 기능
2.2.3 부팅과 셧다운
2.2.4 파일시스템 이해
방대한 책범위와 시험기간이 얼마 안남은 관계로 전략변경
- 빠른 시일내에 책 훑기
- 문제를 풀면서 내용 정리
- 업데이트 할 목록
-> 부팅 과정(GRUB포함), 파일시스템, ext내용 정리 및 특징
- 업데이트: 15-08-18
- 리눅스 시스템 전체 부팅과정(리눅스 종류에 따라 파일 위치는 다를 수 있음)
예)최신 ubuntu에서의 inittab의 부재
1단계: 전원스위치 ON
- 시스템 전원공급
- 메인보드의 ROM-BIOS에 있는 BIOS프로그램 자동 실행
2단계: BIOS프로그램들의 실행 내용들
- 자체진단기능(POST, Power On Self Test): CMOS검사, CPU, MEMORY, 그래픽카드, 키보드, 마우스등 각종 장치들의 이상유무 를 검사하고 이들 장치(하드웨어들)을 초기화
- 부팅매체검색과 부트로더 실행: POST과정이 이상없이 진행완료되면 검색된 부팅매체(하드디스크, CD-ROM, 플로피 디스크등)에서 부트로더(예:GRUB, LILO)를 불러들임, 부트로더(GRUB)가 메모리에 적재되면 BIOS는 종료되고, 시스템제어권은 부트로더 (GRUB)이 갖게됨
3단계: 부트로더(GRUB)의 실행
- GRUB은 실행과 함께 /boot/grub/grub.conf파일을 읽어서 어떤 부팅메뉴(커널)로 부 팅을 할 것인가를 결정하게 됨
- GRUB은 커널(kernel)이미지를 불러들임. 그리고 시스템 제어권을 커널에게 넘김
4단계: 커널의 로딩
- 커널은 swapper프로세스(PID 0번)를 호출
- swapper는 커널이 사용할 각 장치드라이브들을 초기화하고 init프로세스(PID 1번)를 실행
- init프로세스가 실행되면서 /etc/inittab파일을 읽어들여서 그 내용들을 차례대로 실행
5단계: init프로세스의 실행
각 부팅 레벨로 실행될 경우 /etc/rc.d/rcx.d의 파일들이 순차대로 실행됨(최근 우분투의 경우 etc/rcx.d)
- 시스템 부팅 레벨
0- halt
1- 단일 유저 모드
2- 멀티유저, 단 네트워크를 지원하지 않음
3- 멀티유저모드(default)
4- 사용되지 않음
5- X window 모드
6- reboot //6으로 하면 부팅될 때 무한 리부팅이 되려나..
- 파일시스템
http://egaoneko.github.io/os/2015/05/24/linux-starter-guide-4.html 참고
- 파일시스템(file system)은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체계를 지칭
- 확장 파일 시스템(extended file system)
1. ext: 리눅스 초기에 사용되던 파일 시스템, 호환성 없음
2. ext2: ext3이 개발되기 이전 많이 사용되었음. 하지만 fsck(file system checker)하는 데 있어 오랜 시간 소요
[EXT2 아이노드]
[EXT2 슈퍼블록]
3. ext3: ext2의 단점을 보완하기 위해 저널링(Journaling)을 지원하도록 확장된 파일 시스템.
[자세히]
[저널링 기술]
4. ext4: ext3 파일시스템을 확장한 파일시스템으로 Extent라는 기능을 제공하여, 파일에 디스크 할당 시 물리적으로 연속적인 블록을 할당할 수 있도록 하여, 파일 접근 속도 향상 및 단편화5를 줄이도록 설계된 파일시스템
- 파일시스템 구조
http://egaoneko.github.io/os/2015/05/24/linux-starter-guide-4.html 만큼 잘 쓸 자신이 없어서 해당 링크가 더 이해하는 데 도움이 될 듯...
- 리눅스 주요 파일시스템 디렉토리 설명
- 리눅스 파일 시스템은 크게 네 가지로 구분
부트 블록 (Boot Block) |
슈퍼 블록 (Super Block) |
아이노드 블록 (Inode Block) |
데이터 블록 (Data Block) |
1. 부트 블록: 운영체제를 부팅시키기 위한 코드 저장됨
2. 슈퍼 블록: 파일시스템과 관련된 정보 저장
3. 아이노드 블록: 파일에 대한 정보를 저장하고, 모든 파일은 반드시 아이노드 블록을 하나 가지고 있음
4. 데이터 블록: 파일이 보관해야 하는 데이터를 저장
있
*아이노드 블록에는 파일 유형, 접근권한, 하드링크 수, 소유주 이름, 그룹 이름, 파일 크기, 생성 날짜가 저장 되어 있고, 파일 이름은 디렉토리 파일의 데이터 블록에 저장됨!
- 리눅스 파일 시스템 종류
- 리눅스는 다양한 파일 시스템을 지원
(ext2, ext3, minix, xiats, umsdos, hpfs OS/2, isofs, CD-ROM, msdos, nfs, sysv 등)
'기타 > 리눅스 마스터' 카테고리의 다른 글
리눅스마스터1급(2.4 쉘) (0) | 2015.08.16 |
---|---|
리눅스마스터1급(2.3 X 윈도우) (0) | 2015.08.16 |
리눅스마스터1급(2.1 리눅스와 하드웨어) (0) | 2015.08.16 |
리눅스마스터1급(1.2운영체제의 개요) (0) | 2015.08.12 |
리눅스마스터1급(1.1운영체제의 개요) (0) | 2015.08.12 |