Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

19113
1478
166889


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

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

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

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

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

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

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

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

[리눅스커널] 프로세스: 커널 프로세스 생성 시 _do_fork() 함수의 흐름

커널 프로세스를 생성할 때도 _do_fork() 함수를 호출합니다. 그럼 커널 프로세스란 무엇일까요? 커널 프로세스란 시스템 콜 없이 커널 함수로 생성되어 커널 공간에서만 실행되는 프로세스를 의미합니다. 커널 프로세스의 대표적인 예로 커널 스레드를 들 수 있습니다. 커널 스레드는 커널 공간에서 시스템 리소스(메모리, 전원) 관리를 수행합니다.다음 그림을...

[라즈베리파이] 프로세스: 커널 스레드는 어떻게 생성하나?

[리눅스커널] Process - 프로세스, 경량 프로세스, 스레드 소개

프로세스라는 개념은 모든 멀티프로그래밍 운영체제의 기본입니다.프로세스는 실행중인 프로그램의 인스턴스로 정의할 수 있는데, 16명의 유저가 vi를 동시에 실행하면 각각 16개의 프로세스가 존재합니다. (물론 vi 코드는 동일한 것을 공유할 수 있습니다). 리눅스 코드에서는 프로세스를 태스크(task)나 쓰레드(thread)라고 부릅니다.프로세스,...

[리눅스커널] 워크큐(Workqueue) - 딜레이워크(delayed_work)는 어떻게 실행하나?

딜레이 워크를 실행하려면 어떤 함수를 호출해야 할까요? schedule_delayed_work() 함수를 실행하면 됩니다.먼저 딜레이 워크를 실행하는 드라이버 코드를 예제로 열어 보겠습니다.[https://elixir.bootlin.com/linux/v4.14.43/source/drivers/mmc/host/bcm2835.c#L651]1 static2 ...

[라즈베리파이] 워크큐(Workqueue) - worker_thread() 함수 분석(3)

Contents of tableworker_thread() 함수 분석(1)worker_thread() 함수 분석(2)worker_thread() 함수 분석(3) 이번에는 worker_thread() 함수에서 가장 중요한 37번 줄 코드를 분석할 차례입니다. 위 그림에서 워커 쓰레드의 “실행” 단계입니다. 코드를 봅시다.37 do {38...

[라즈베리파이] Process - 프로세스 상태

이름으로 알 수 있듯이, state 필드는 프로세스가 어떤 동작 중인지 알려줍니다. 이 필드는 플래그의 배열이고 각 플래그는 프로세스 상태를 표현합니다.. 현재 리눅스 버전에서는 이 상태들이 상호 배타적이고, state의 플래그 하나만 설정하므로 나머지 플래그들은 Clear합니다. 프로세스 상태는 아래와 같습니다. TASK_RUNNING#def...

[라즈베리파이] 워크큐(Workqueue) - worker_thread() 함수 분석(2)

Contents of tableworker_thread() 함수 분석(1)worker_thread() 함수 분석(2)worker_thread() 함수 분석(3) 먼저 워커 쓰레드 핸들 함수인 worker_thread() 를 분석합니다.1 static int worker_thread(void *__worker)2 {3 struct worker *...
이전 11 12 13 14 15 16 17 18 19 20 다음