SlideShare a Scribd company logo
1 of 6
Download to read offline
망고100 보드로 놀아보자 -12

    커널 디렉토리 설명



         http://cafe.naver.com/embeddedcrazyboys
         http://www.mangoboard.com
Linux 커널 소스 트리 구조
        sound                        ipc       lib                     block
                    kernel                                  mm
         Doc                                                           scripts
                                SRC/                                                    cdrom
                                                                               driver   char
          arch
alpha                   fs                                       net                    net
                                    init      include
i386                                                                       802          pci
                             coda                    asm-alpha             appletalk    pnp
m68k
                             ext2                    asm-arm               decnet       sbus
mips
                             hpfs                                          ethernet     scsi
 ppc       boot
                             msdos                   asm-i386              ipv4
sparc      kernel
                             nfs                     linux                 unix         video
arm        lib                                                             sunrpc
                             isofs                   net
           math-emu          ntfs                                          x25
                                                     scsi
           mm
                                                     video



                                     http://www.mangoboard.com
각 디렉토리 설명
• arch/
   – CPU 종속적인 부분, 각 처리기 마다 하위 디렉토리로 구성됨 (arch/arm,
     arch/i386, arch/alpha … )
   – arch/arm/boot/
          • 부트스트랩핑 코드
   – arch/arm/kernel/
          •   하드웨어 종속적인(hardware dependent) 커널 관리 루틴
          •   트랩, 인터럽트 처리 루틴
          •   문맥 교환 루틴
          •   장치 구성, 초기화 루틴
   – arch/arm/mm/
          • 하드웨어 종속적인 메모리 관리 루틴
• init/
   – 하드웨어 독립적인 커널 초기화 루틴 (start_kernel)
   – 태스크 0 (init_task or task[0]) 생성
   – 태스크 1, 2, 3 등 데몬 프로세스 생성


                           http://www.mangoboard.com
각 디렉토리 설명 (2)
• kernel/
   – 리눅스 커널의 가장 중심적인 디렉토리 (central section of the kernel)
   – 하드웨어 독립적인 커널 관리 루틴 (하드웨어 종속적인 커널 관리 루틴
     은 arch/arm/kernel 디렉토리에 존재)
   – fork, exit 등 태스크 관련 시스템 호출 처리 루틴
   – 스케줄러 (scheduler) 루틴
   – 시그널 처리 (signal handling)/시간 관리 (time management) 루틴
• mm/
   – 하드웨어 독립적인 메모리 관리 루틴 (하드웨어 종속적인 메모리 관리
     루틴은 arch/arm/mm 디렉토리에 존재)
   – 가상 메모리 관리, 페이징 (paging), 스와핑(swapping)
• fs/
   – 가상 파일 시스템 (virtual file system ) 관리 루틴
   – open, read 등 태스크 관련 시스템 호출 처리 루틴
   – 특정 파일 시스템 관리 루틴은 하위 디렉토리에 존재 (ext2, ext3, ramfs,
     minix, jffs2, proc, nfs, msdos, coda, .. )


                     http://www.mangoboard.com
각 디렉토리 설명 (3)
• drivers/
   –   개개의 장치를 제어하기 위한 장치 드라이버 루틴
   –   디바이스 드라이버는 크게 문자/블록/네트워크 드라이버로 구분
   –   drivers/block/ : 블록 장치 드라이버. 예를 들어 IDE 디스크 (hd)
   –   drivers/char/ : 문자 장치 드라이버. serial ports, tty, modem, ..)
   –   drivers/net : 네트웍 장치 드라이버. 예를 들어 3C509, ...
   –   drivers/pci/ : PCI bus 제어
   –   drivers/cdrom/ : CD-ROM 드라이버
   –   drivers/scsi/ : SCSI 인터페이스 관리

• Sound :sound card 드라이버
• ipc/
   – 프로세스간 통신을 지원하기 위한 루틴
   – 세마포어(semaphores), 공유 메모리(shared memory), 메시지 큐
     (message queues)


                          http://www.mangoboard.com
각 디렉토리 설명 (4)
• net/
   – TCP/IP, ARP 등 네트웍 통신 프로토콜 (네트웍 장치 드라이버는
     drivers/net에 존재)
   – 소켓 인터페이스
• include/
   – 커널 헤더
   – 하드웨어 독립적인 헤더 : include/linux/
   – 하드웨어 종속적인 헤더 : include/asm-***/ (예를 들어 ARM CPU 종속
     적인 헤더는 include/asm-arm/ 디렉토리에 존재)
• lib/
   – 커널 라이브러리 루틴
• doc/ or Documentation/
   – 커널 문서 디렉토리.



                      http://www.mangoboard.com

More Related Content

What's hot

망고100 보드로 놀아보자 13
망고100 보드로 놀아보자  13망고100 보드로 놀아보자  13
망고100 보드로 놀아보자 13종인 전
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)Chulgyu Shin
 
Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??유명환 FunFun Yoo
 
MCU(nanheekim)
MCU(nanheekim)MCU(nanheekim)
MCU(nanheekim)Nanhee Kim
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은jieun kim
 
파일시스템 관련 명령어
파일시스템 관련 명령어파일시스템 관련 명령어
파일시스템 관련 명령어Chulgyu Shin
 
리눅스 스터디 1회차
리눅스 스터디 1회차리눅스 스터디 1회차
리눅스 스터디 1회차준혁 이
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10hungrok
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱Jong Wook Kim
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다Yeon Tae Kim
 
Raspberry pi 에서 실행파일 살펴보기
Raspberry pi 에서  실행파일 살펴보기Raspberry pi 에서  실행파일 살펴보기
Raspberry pi 에서 실행파일 살펴보기정국 정
 
[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표sung ki choi
 

What's hot (15)

망고100 보드로 놀아보자 13
망고100 보드로 놀아보자  13망고100 보드로 놀아보자  13
망고100 보드로 놀아보자 13
 
Hello std.io 유명환_20140125
Hello std.io 유명환_20140125Hello std.io 유명환_20140125
Hello std.io 유명환_20140125
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)
 
Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??
 
Maker 오해와 진실
Maker 오해와 진실Maker 오해와 진실
Maker 오해와 진실
 
MCU(nanheekim)
MCU(nanheekim)MCU(nanheekim)
MCU(nanheekim)
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
 
파일시스템 관련 명령어
파일시스템 관련 명령어파일시스템 관련 명령어
파일시스템 관련 명령어
 
리눅스 스터디 1회차
리눅스 스터디 1회차리눅스 스터디 1회차
리눅스 스터디 1회차
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
 
Linux tutorial
Linux tutorialLinux tutorial
Linux tutorial
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다
 
Raspberry pi 에서 실행파일 살펴보기
Raspberry pi 에서  실행파일 살펴보기Raspberry pi 에서  실행파일 살펴보기
Raspberry pi 에서 실행파일 살펴보기
 
[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표
 

Viewers also liked

망고64 부품도
망고64 부품도망고64 부품도
망고64 부품도종인 전
 
망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30종인 전
 
망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10종인 전
 
AHRI Article on HR 2.0
AHRI Article on HR 2.0AHRI Article on HR 2.0
AHRI Article on HR 2.0gxdoyle
 
망고100 보드로 놀아보자 11
망고100 보드로 놀아보자  11망고100 보드로 놀아보자  11
망고100 보드로 놀아보자 11종인 전
 
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9종인 전
 
망고100 보드로 놀아보자 3
망고100 보드로 놀아보자 3망고100 보드로 놀아보자 3
망고100 보드로 놀아보자 3종인 전
 
Quick start guide-mango-am335x
Quick start guide-mango-am335xQuick start guide-mango-am335x
Quick start guide-mango-am335x종인 전
 

Viewers also liked (8)

망고64 부품도
망고64 부품도망고64 부품도
망고64 부품도
 
망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30
 
망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10
 
AHRI Article on HR 2.0
AHRI Article on HR 2.0AHRI Article on HR 2.0
AHRI Article on HR 2.0
 
망고100 보드로 놀아보자 11
망고100 보드로 놀아보자  11망고100 보드로 놀아보자  11
망고100 보드로 놀아보자 11
 
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
 
망고100 보드로 놀아보자 3
망고100 보드로 놀아보자 3망고100 보드로 놀아보자 3
망고100 보드로 놀아보자 3
 
Quick start guide-mango-am335x
Quick start guide-mango-am335xQuick start guide-mango-am335x
Quick start guide-mango-am335x
 

Similar to 망고100 보드로 놀아보자 12

강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요chcbaram
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driverjumiss
 
Linux Kernel 101 for Beginner
Linux Kernel 101 for BeginnerLinux Kernel 101 for Beginner
Linux Kernel 101 for BeginnerInfraEngineer
 
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나Daniel Shin
 
Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)Jaeock Shim
 
Lkda facebook seminar_140419
Lkda facebook seminar_140419Lkda facebook seminar_140419
Lkda facebook seminar_140419sprdd
 
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902승우 백
 
Acute travel logic logic analyzer(s)
Acute travel logic logic analyzer(s)Acute travel logic logic analyzer(s)
Acute travel logic logic analyzer(s)WAVENIX CO.,LTD.
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명Peter YoungSik Yun
 
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹GangSeok Lee
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1Jinkyoung Kim
 
Open source Embedded systems
Open source Embedded systemsOpen source Embedded systems
Open source Embedded systemsH K Yoon
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0sprdd
 
UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제Lee Sang-Ho
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅NAVER D2
 
망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6종인 전
 
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발주항 박
 
소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해중선 곽
 

Similar to 망고100 보드로 놀아보자 12 (20)

Tcp summary
Tcp summaryTcp summary
Tcp summary
 
강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driver
 
Linux Kernel 101 for Beginner
Linux Kernel 101 for BeginnerLinux Kernel 101 for Beginner
Linux Kernel 101 for Beginner
 
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나
 
Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)
 
Lkda facebook seminar_140419
Lkda facebook seminar_140419Lkda facebook seminar_140419
Lkda facebook seminar_140419
 
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902
 
Acute travel logic logic analyzer(s)
Acute travel logic logic analyzer(s)Acute travel logic logic analyzer(s)
Acute travel logic logic analyzer(s)
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명
 
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
 
Thread programming
Thread programmingThread programming
Thread programming
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
 
Open source Embedded systems
Open source Embedded systemsOpen source Embedded systems
Open source Embedded systems
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0
 
UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
 
망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6
 
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발
 
소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해
 

More from 종인 전

망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324종인 전
 
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드종인 전
 
망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법종인 전
 
망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19종인 전
 
망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18종인 전
 
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌종인 전
 
망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17종인 전
 
망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16종인 전
 
망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15종인 전
 
망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14종인 전
 
Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기종인 전
 
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9종인 전
 
망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드종인 전
 
망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8종인 전
 
망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7종인 전
 
망고100 보드로 놀아보자 4
망고100 보드로 놀아보자 4망고100 보드로 놀아보자 4
망고100 보드로 놀아보자 4종인 전
 
망고100 보드로 놀아보자 2
망고100 보드로 놀아보자 2망고100 보드로 놀아보자 2
망고100 보드로 놀아보자 2종인 전
 
망고100 보드로 놀아보자 1
망고100 보드로 놀아보자 1망고100 보드로 놀아보자 1
망고100 보드로 놀아보자 1종인 전
 

More from 종인 전 (18)

망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324
 
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
 
망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법
 
망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19
 
망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18
 
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
 
망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17
 
망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16
 
망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15
 
망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14
 
Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기
 
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
 
망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드
 
망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8
 
망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7
 
망고100 보드로 놀아보자 4
망고100 보드로 놀아보자 4망고100 보드로 놀아보자 4
망고100 보드로 놀아보자 4
 
망고100 보드로 놀아보자 2
망고100 보드로 놀아보자 2망고100 보드로 놀아보자 2
망고100 보드로 놀아보자 2
 
망고100 보드로 놀아보자 1
망고100 보드로 놀아보자 1망고100 보드로 놀아보자 1
망고100 보드로 놀아보자 1
 

망고100 보드로 놀아보자 12

  • 1. 망고100 보드로 놀아보자 -12 커널 디렉토리 설명 http://cafe.naver.com/embeddedcrazyboys http://www.mangoboard.com
  • 2. Linux 커널 소스 트리 구조 sound ipc lib block kernel mm Doc scripts SRC/ cdrom driver char arch alpha fs net net init include i386 802 pci coda asm-alpha appletalk pnp m68k ext2 asm-arm decnet sbus mips hpfs ethernet scsi ppc boot msdos asm-i386 ipv4 sparc kernel nfs linux unix video arm lib sunrpc isofs net math-emu ntfs x25 scsi mm video http://www.mangoboard.com
  • 3. 각 디렉토리 설명 • arch/ – CPU 종속적인 부분, 각 처리기 마다 하위 디렉토리로 구성됨 (arch/arm, arch/i386, arch/alpha … ) – arch/arm/boot/ • 부트스트랩핑 코드 – arch/arm/kernel/ • 하드웨어 종속적인(hardware dependent) 커널 관리 루틴 • 트랩, 인터럽트 처리 루틴 • 문맥 교환 루틴 • 장치 구성, 초기화 루틴 – arch/arm/mm/ • 하드웨어 종속적인 메모리 관리 루틴 • init/ – 하드웨어 독립적인 커널 초기화 루틴 (start_kernel) – 태스크 0 (init_task or task[0]) 생성 – 태스크 1, 2, 3 등 데몬 프로세스 생성 http://www.mangoboard.com
  • 4. 각 디렉토리 설명 (2) • kernel/ – 리눅스 커널의 가장 중심적인 디렉토리 (central section of the kernel) – 하드웨어 독립적인 커널 관리 루틴 (하드웨어 종속적인 커널 관리 루틴 은 arch/arm/kernel 디렉토리에 존재) – fork, exit 등 태스크 관련 시스템 호출 처리 루틴 – 스케줄러 (scheduler) 루틴 – 시그널 처리 (signal handling)/시간 관리 (time management) 루틴 • mm/ – 하드웨어 독립적인 메모리 관리 루틴 (하드웨어 종속적인 메모리 관리 루틴은 arch/arm/mm 디렉토리에 존재) – 가상 메모리 관리, 페이징 (paging), 스와핑(swapping) • fs/ – 가상 파일 시스템 (virtual file system ) 관리 루틴 – open, read 등 태스크 관련 시스템 호출 처리 루틴 – 특정 파일 시스템 관리 루틴은 하위 디렉토리에 존재 (ext2, ext3, ramfs, minix, jffs2, proc, nfs, msdos, coda, .. ) http://www.mangoboard.com
  • 5. 각 디렉토리 설명 (3) • drivers/ – 개개의 장치를 제어하기 위한 장치 드라이버 루틴 – 디바이스 드라이버는 크게 문자/블록/네트워크 드라이버로 구분 – drivers/block/ : 블록 장치 드라이버. 예를 들어 IDE 디스크 (hd) – drivers/char/ : 문자 장치 드라이버. serial ports, tty, modem, ..) – drivers/net : 네트웍 장치 드라이버. 예를 들어 3C509, ... – drivers/pci/ : PCI bus 제어 – drivers/cdrom/ : CD-ROM 드라이버 – drivers/scsi/ : SCSI 인터페이스 관리 • Sound :sound card 드라이버 • ipc/ – 프로세스간 통신을 지원하기 위한 루틴 – 세마포어(semaphores), 공유 메모리(shared memory), 메시지 큐 (message queues) http://www.mangoboard.com
  • 6. 각 디렉토리 설명 (4) • net/ – TCP/IP, ARP 등 네트웍 통신 프로토콜 (네트웍 장치 드라이버는 drivers/net에 존재) – 소켓 인터페이스 • include/ – 커널 헤더 – 하드웨어 독립적인 헤더 : include/linux/ – 하드웨어 종속적인 헤더 : include/asm-***/ (예를 들어 ARM CPU 종속 적인 헤더는 include/asm-arm/ 디렉토리에 존재) • lib/ – 커널 라이브러리 루틴 • doc/ or Documentation/ – 커널 문서 디렉토리. http://www.mangoboard.com