Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

793
557
422266


태그 : linux 요약보기전체보기목록닫기

이전 11 12 13 14 15 16 17 18 19 20 다음

[라즈베리파이] 시그널 - 커널 공간 시그널 함수 분석 - do_sigaction()

다음으로 살펴볼 코드는 do_sigaction() 함수입니다. 먼저 do_sigaction() 함수는 선언부를 봅시다.int do_sigaction(int sig, struct k_sigaction *act, struct k_sigaction *oact);do_sigaction() 함수에 전달하는 인자 속성은 다음과 같은데 sys_rt_sigaction...

[라즈베리파이] 시스템 콜 - 매개 변수 점검(시스템 콜 핸들러)

리눅스 커널 시스템 콜 핸들러 인터페이스 함수를 열어 보면 수 많은 예외 처리 코드를 볼 수 있습니다. 유저 모드에서 시스템 콜을 호출할 때 잘못된 인자(스트링 갯수, 메모리 주소)를 전달할 수 있기 때문입니다. 먼저 write() 이라는 리눅스 시스템 저수준 함수를 살펴보겠습니다.write() 함수를 호출할 때는 다음 6번 째 줄 코드와 같이...

[리눅스커널] 시스템 콜: 커널 공간에서 시스템 콜 테이블 확인하기

이전 소절에서 알아본 시스템 콜 동작은 다음과 같이 정리할 수 있습니다.     "유저 공간에서 전달된 시스템 콜 번호로 시스템 콜 테이블에 저장된 시스템 콜 핸들러      함수로 분기된다."그런데 위 문장에서 '시스템 콜 테이블' 은 리눅스 커널 어느 코드일까요?    ...

[라즈베리파이] 시스템 콜 - 커널 모드에서 시스템 콜을 어떻게 실행할까?

이번 절에서는 커널 공간에서 시스템 콜을 어떻게 실행하는지 살펴보겠습니다.다음 그림 전체 흐름도에서 검은색으로 표시된 부분을 눈여겨봅시다.위 그림에서 검은색으로 된 부분입니다.  * 유튜브 강의 동영상도 있으니 같이 들으시면 좋습니다. "혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!"...

[라즈베리파이] 시그널 - 시그널 핸들러 실행 및 커널 복귀 과정

signal은 특정 프로세스에게 어떤 메시지를 전달할 수 있는 가장 기본적인 수단입니다.signal은 다른 (user-level) 프로세스로부터 직접적으로 받거나 혹은 (주로 문제가 될 만한 동작으로인해) 커널로부터 받을 수 있습니다.이러한  signal은 kernel-mode에서 처리가 되는데 주로 시스템 콜이나 인터럽트 처리 등을 마치고 u...

[안드로이드][리눅스커널] 시그널 - 유저 공간 abort(SIGABRT) 시 동작 시 흐름!

유저 공간에서 zygote가 강제 종료되면서 부팅을 못하는 상황입니다. 커널 로그로 아래 메시지를 볼 수 있습니다.아래 로그는 init 프로세스가 zygote에 SIGABRT(6) 시그널을 전달해서 zygote를 종료시키고 있습니다.[   46.116831 / 01-02 01:20:24.859][0] init: Service 'zygo...

[라즈베리파이] 시스템 콜 - ARM 프로세서 관점 시스템 콜 처리

리눅스 시스템에서 시스템 콜을 관련 코드를 읽다보면 어셈블리 코드를 만나게 됩니다. 보통 어셈블리 코드는 ARM 프로세서 입장에서 실행하는 동작입니다. 어셈블리 코드로 구현돼 있다는 것은 시스템 콜이 아키텍처(ARM, x86) 동작과 연관이 있다는 볼 수 있습니다. 라즈베리파이는 ARM 아키텍처에서 구동하므로 ARMv7(Aarch32,...

[리눅스커널] 시스템 콜 - 전체 흐름도 소개

이전 절에서 시스템 콜의 개념을 알아봤습니다. 시스템 콜 흐름도와 시스템 콜 동작은 그리 간단하지 않습니다. 시스템 콜 세부 동작을 알려면 시스템 전체 흐름도를 이해해야 합니다. 이어서 리눅스 전체 시스템에서 시스템 콜이 무엇인지 살펴보겠습니다. 시스템 콜 전체 세부 흐름도 파악하기다음 그림은 이번 장에서 다룰 전체 시스템 콜 흐름도입...

[리눅스커널] 시스템 콜 소개

시스템 콜은 유저 모드에서 커널 모드로 진입하는 동작입니다. 시스템 콜은 다른 관점으로 유저 공간과 커널 공간 사이 가상 계층이자 인터페이스입니다.유저 공간과 커널 공간 소개그렇다면 여기서 말하는 유저 공간과 커널 공간이란 무엇일까요? 리눅스에서는 실행 공간을 메모리 접근과 실행 권한에 따라 유저 공간과 커널 공간으로 분류합니다. 먼저 커널 공...

[라즈베리파이] 시스템 콜(시스템 호출)은 왜 필요하나?

시스템 콜은 유저 모드에서 커널 모드로 진입하는 동작입니다. 다른 관점으로 시스템 콜은 유저 공간과 커널 공간 사이 가상 계층이자 인터페이스라고 볼 수도 있습니다. 이 계층은 다음과 같은 특징이 있습니다.1. 시스템 안정성과 보안을 지킬 수 있습니다. 유저모드에서 어플리케이션이 커널 공간에 아무런 제약없이 접근한다고 가정합시다. 실수로 어플리케이션이 커...
이전 11 12 13 14 15 16 17 18 19 20 다음