kernel(커널) : 하드웨어와 어플리케이션 사이를 이어줌

 파일시스템으로 추상화하여 사용

 

Boot loader(부트로더) : 파워를 줘서 부팅을 시켜줌 - 임베디드에서는 U-Boot사용

 

Distribution

배포판이 많이 생김

 

Service(서비스)

ex) httpd(웹서버), ftpd(FTP서버) 등

 

Filesystem(파일시스템) : 디스크에 저장할 수 있도록 추상화 하는 것

ex) ext3,ext4 등 리눅스에서 사용(Ubuntu)

 

리눅스 파일시스템의 구성

 

/root/ : 디렉토리

/usr/ : 라이브러리 파일 등

/bin/ : 바이너리 - 여러가지 시스템에서 사용되는 명령어 존재

/boot/ : 부팅에 관련된 설정파일

/etc/ : 시스템 설정에 관련된 파일

/home/ : 디폴트 디렉토리들이 저장됨

/lib/ : 라이브러리들 저장

/media/ : 저장장치 인식 후 마운트되어 나타남

 

X windows systems(엑스 윈도우) : 환경을 다양하게 설정가능

ex) gnome, KDE 등

 

Linux Boot Process

하드웨어 초기화 -> MBR실행 -> 부트로더(커널을 램으로) ->(커널의 권한을 넘겨줌) init프로그램 실행(시간,네트워크,웹서버) -> 이름,패스워드 입력 

 

1. power on : Rom에 탑재된 BIOS가 키보드/스크린 등의 부팅에 필요한 하드웨어 초기화

 

2. Master Boot Record(MBR) : 하드디스크 MBR에서 부트로더를 로드해서 실행 

 

3. 부트로더는 커널과 initial RAM Disk를 메모리에 로드

 

 

4. init RAM Disk는 메모리상의 가상의 디스크로 initramfs를 가지고 이는 커널이 초기에 동작하기 위한 기본 드라이버 프로그램들을 가지고 있음

 

 

5. 커널의 초기화가 끝나면, /sbin/init 프로그램이 동작하여 기본 서비스(시간, 네트워크 등등)를 동작시킴

 

6. getty라는 로그인 프로그램이 수행, 쉘(bash)이 동작하여 사용자 명령어를 기다림

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'임베디드SW공학' 카테고리의 다른 글

[6주차]Linux/Unix System Programming  (0) 2018.11.01
[5주차]git  (0) 2018.10.16
[4주차]make  (0) 2018.10.07
[3주차]GCC&library  (0) 2018.10.07
[2주차]Shell Script Programming  (0) 2018.09.26

+ Recent posts