교재: "국가공인" 리눅스마스터 1급 ((주)수퍼유저, 저자 박성수, 강기봉, 정우영)


국가공인 리눅스마스터 1급

저자
박성수강기봉 지음
출판사
수퍼유저코리아 | 2014-01-13 출간
카테고리
컴퓨터/IT
책소개
국가공인 리눅스마스터 1급 교재이다. 리눅스마스터 1급 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 등)


+ Recent posts