리눅스 운영체제 운영체제 리눅스 소개 임베디드 리눅스 리눅스 명령어 한빛미디어(주)
운영체제 컴퓨터 시스템의 각종 자원을 효율적으로 관리하고 운영되도록 사용자에게 편리성 제공, 컴퓨터 하드웨어와 사용자간의 인터페이스 역할을 하는 시스템 프로그램 자원 관리자 역할과 응용 소프트웨어에게 컴퓨팅 자원에 대한 서비스 제공자 역할 커널 운영체제를 작동시키는 핵심 프로그램 커널이 관리하는 컴퓨팅 자원 물리적 자원: 프로세서, 메모리, 디스크, 터미널, 네트워크 등과 같은 시스템 구성 요소들과 주변 장치 추상적 자원: 태스크와 쓰레드, 페이지(page)와 세그먼트(segment), 파일 및 inode, 통신 프로토콜 및 패킷 등, 보안 혹은 사용자 계정에 따른 접근 제어 등
커널 접근 방식: 모놀리딕 커널과 마이크로 커널 리눅스의 경우 모노리딕 커널 방식을 사용하는데, 마이크로 커널의 확장성과 재사용성에 대한 장점을 모듈(module)이라는 개념을 도입해 보완
모놀리딕 커널 마이크로 커널 전통적인 운영체제 설계 방법 프로세스 관리, 메모리 관리, 파일시스템 같은 커널의 모든 기능을 통합한 구조로, 커널 모드에서 모든 기능을 수행 구성요소들이 자료구조와 기능을 공유하므로 시스템 자원을 효율적으로 이용 커널 코드에 하드웨어와 관련된 저수준 상호 작용이 포함되어 있어 구현된 커널을 다른 시스템에 이식하기 어려움 커널의 기능을 확장할 수록 크기가 방대해져 관리가 어려움 Solaris, AIX, HP-UX 등. 마이크로 커널 운영체제의 기능을 프로세스 관리 서비스, 메모리 관리 서비스, 파일시스템 서비스와 같이 다수의 소규모 서버 프로세스로 분할하여 설계하는 방식 서버 프로세스를 관리하는 최소한의 기능만을 구현한 커널 기능 확장이 쉽고 개발된 소규모 서버 모듈을 재사용 가능 모노리딕 커널에 비해 구현이 어려우며, 커널에서 전달하는 기능을 메시지 전달 방식으로 사용하기 때문에 오버헤드가 큼 시스템 자원을 효율적으로 사용하기 어려움 CMU Mach, Cray UNICOS/mk 등
리눅스의 장점 리눅스의 단점 유닉스와 완벽하게 호환 가능 공개 운영체제이며 무료 강력한 네트워크 기능을 제공하며 인터넷의 모든 기능을 지원 멀티태스킹을 지원 안정적이며 하드웨어 기능을 효과적을 사용 다양한 응용 소프트웨어를 제공 리눅스의 단점 공개 소프트웨어이기 때문에 오류로 인한 사고 발생시 보상 불가 커널 버전이 너무 빨리 변화
커널 버전 번호 linux-x.y.z.tar.gz 배포판 비상업적이거나 상업적인 소프트웨어를 통합한 리눅스 패키지 리눅스 커널 외에 GNU 유틸리티, 개발 환경, X 윈도우 시스템 등을 포함 레드햇 리눅스 배포판 Redhat Linux, Redhat Enterprise Linux, Fedora Core
호스트 시스템 바탕화면에서 마우스 오른쪽 버튼 클릭 후[터미널 열기] 메뉴 선택 cat /proc/version 명령 입력 실습 3-1 리눅스의 커널 버전의 확인 호스트 시스템 바탕화면에서 마우스 오른쪽 버튼 클릭 후[터미널 열기] 메뉴 선택 cat /proc/version 명령 입력
리눅스 커널 및 소스 구조
리눅스 커널의 기능 구분 기능 프로세스 관리 프로세스의 생성 및 소멸, 프로세스 사이의 통신, 프로세스 스케줄링 동기화 메모리 관리 가상 메모리 관리 기법 제공, 메모리 하드웨어의 효율적 관리 파일시스템 관리 가상 파일시스템(VFS, Virtual File System)에 의한 다양한 파일시스템 지원, 파일 및 디렉토리 관리 디바이스 관리 입출력 요청 작업의 검증 및 스케줄링, 주변장치와 메모리간의 데이터 전송 네트워크 관리 통신 프로토콜 구현, 네트워크 라우팅 및 주소 지정
리눅스 커널 소스 구조
리눅스 부팅 과정 ROM BIOS에 의하여 시스템의 이상 유무를 점검하고 하드웨어를 초기화 부트로더 프로그램을 메모리에 적재 부트로더는 커널을 메모리에 적재 커널 실행 후 커널은 최초의 프로세스인 /sbin/init 코드 실행 init 프로세스에 의해 운영체제 초기화
실시간 운영체제(RTOS, Real Time OS) 마감 시간 내에 결과를 출력하도록 보장하는 자원 관리 프로그램 시스템 응답 속도, 인터럽트 등에서 성능이 우수하지만, 고가 프로세스와 커널이 동일 주소 공간을 공유하므로 시스템 안정성이 떨어져 시장 점유율이 점차 낮아짐 모듈화, 선점형 멀티 태스킹(preemptive multi-tasking), 스케줄링, 통합 개발 환경 지원 등 지원 한 가지 목적에 최적화 pSOS+, VRTX, VxWroks 등
범용 운영체제(GPOS, General Purpose OS) 일반적인 응용 프로그램을 효율적으로 운영하기 위해 설계된 운영체제 Windows XP, DOS, UNIX, OS/2 등 대용량의 메모리와 ROM 영역 필요 파일시스템과 가상 메모리를 관리할 수 있는 MMU(Memory Management Unit) 등이 필요 다양한 서비스를 제공 멀티미디어 및 네트워크 기능 등이 매우 우수하며, 다양한 개발 환경이 존재하며 안정적 실시간성 제공이 어려움 임베디드시스템에서 사용되는 범용 운영체제 : 임베디드 리눅스, 윈도우 CE, J2ME 등
임베디드 리눅스 운영체제 저성능의 프로세서와 소용량의 메모리를 가진 제한된 컴퓨팅 자원 하에서 특정 응용 프로그램의 수행에 필요한 요구 사항을 충족시킨 최적화된 리눅스 임베디드 시스템 분야에서 리눅스가 많이 선택되는 이유 안정된 운영체제이며 멀티태스킹의 제공 강력한 네트워크 기능 확장성의 다양함과 용이함의 제공 다양한 형태의 파일시스템과 실행 파일 포맷 지원 소스가 공개된 무료 소프트웨어
실습 3-2 ls 명령어 실행 ① ② ③ ④
파일 및 디렉토리 관리
실습 3-3 cd 명령어 실행 ① ② ③ ④ ⑤ ⑥
파일 및 디렉토리 관리(계속)
파일 및 디렉토리 관리(계속)
실습 3-4 cp, mv, rm 명령어 실행 ① ② ③ ⑤ ④
파일 및 디렉토리 관리(계속)
실습 3-5 mkdir과 rmdir 명령어 실행 ① ②
파일 및 디렉토리 관리(계속)
실습 3-6 cat과 more 명령어 실행 ① ② ①
파일 및 디렉토리 관리(계속)
실습 3-7 touch 명령어 실행 ① ② ③ ④ ⑤
파일 및 디렉토리 관리(계속)
실습 3-8 ln 명령어로 소프트 링크 생성 ① ②
마운트/언마운트
실습 3-9 CD-ROM의 마운트/언마운트 실행 ① ② ③ ④ ⑤ ⑥
허가권 관리 명령어 허가권의 의미와 허가권 값 문자 허가권 값(8진수) R 읽기(Read) 4 W 쓰기(Write) 2 X 실행하기(eXecute) 1
허가권 관리 명령어(계속) 기호 모드의 구성요소 기호 모드에서 사용하는 문자와 기호
실습 3-10 파일 허가권을 변경하는 chmod 명령어 실행 ① ② ③ ④ ⑤
네트워크 관리 명령어
실습 3-11 ping 명령어 실행 ① ②Ctrl+c 키를 입력해 명령어 실행 중단
네트워크 관리 명령어
실습 3-12 ifconfig 명령어 실행 ① ② ③
기타 명령어
기타 명령어
실습 3-13 gzip 명령어 실행 ① ② ③ ④ ⑤ ⑥
기타 명령어(계속)
실습 3-14 tar 명령어 실행 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩
기타 명령어(계속)
실습 3-15 rpm 명령어를 이용한 mc 설치 ① ② ③ ④ ⑤
기타 명령어(계속)
실습 3-16 yum 명령어 실행 ① ②
기타 명령어(계속)
실습 3-17 system-config-packages를 사용한 개발 툴 설치 FTP 서버를 선택해 추가 설치를 함 <업데이트> 클릭 → 시스템 준비 완료 창에서 <계속 진행> 클릭 rpm -qi vsftpd 명령을 실행해 설치 결과 확인
커널은 운영체제를 작동시키는 핵심으로, 응용 프로그램과 컴퓨팅 자원 사이의 인터페이스 역할을 하며, 자원을 관리한다. 커널을 접근하는 방법에 따라 모놀리딕 커널(monolithic kernel)과 마이크로 커널(micro kernel)로 구분된다. 임베디드 리눅스 운영체제는 저성능의 프로세서와 소용량의 메모리를 가진 제한된 컴퓨팅 자원하에서 특정 응용 프로그램의 수행에 필요한 요구 사항을 충족시킨 최적화된 리눅스 커널을 의미한다. 주요 리눅스 명령어
Thank you