Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

108258
1323
114610


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

1 2 3 4 5 6 7 8 9 10 다음

[리눅스커널][스케줄링] 선점 스케줄링 진입점은 어디인가?

여기서 중요한 질문을 던질 수 있습니다. 과연 "선점은 언제 일어날까?"란 의문입니다.선점 스케줄링은 언제든 발생할 수 있습니다.소스 코드를 보면서 선점 스케줄링이 언제 발생할 수 있는지 생각해 봅시다.[https://elixir.bootlin.com/linux/v4.14.70/source/fs/configfs/file.c]1 static ssize_t...

[리눅스커널] 프로세스: current_thread_info() 매크로 함수 분석

이전 절에서 프로세스 스택 최상단 주소에 struct thread_info 구조체에 프로세스 실행을 저장한다고 분석했습니다.current_thread_info() 매크로 함수는 프로세스가 어떤 함수를 실행하더라도 struct thread_info 구조체가 있는 스택 최상단 주소를 전달합니다.current_thread_info() 매크로 함수 구현부를 분...

[리눅스커널] 프로세스: 프로세스 컨택스트 정보는 어떻게 저장할까?

리눅스 커널에서는 프로세스 실행 흐름은 컨택스트란 용어로 표현합니다.컨택스트 종류는 다음과 같습니다.   1. 프로세스 컨택스트: 프로세스가 스케줄링 될 수 있는 상태   2. 인터럽트 컨택스트: 인터럽트가 발생한 후 인터럽트 핸들링을 위한 동작 중   3. Soft IRQ 컨택스트: Soft IRQ...

[라즈베리파이] 스케줄링: 프로세스 상태 변화 관리

프로세스 상태 변화프로세스 상태 변화에 대해 알아보겠습니다. 프로세스 상태를 아는 것 보다 프로세스 상태가 변경될 때 세부 동작을 이해하는 것이 더 중요합니다. [1] 실행 대기 -> CPU실행 중프로세스가 생성된 다음 바로 TASK_RUNNING(실행 대기) 상태로 바뀌면서 자신을 런큐에 Enqueue 합니다. 스케줄러...

[라즈베리파이] 스케줄링: 프로세스 상태 관리

프로세스를 효율적으로 관리하기 위해서 커널은 프로세스에게 프로세스 상태를 부여합니다. 커널에서 정의한 프로세스 상태는 다음과 같습니다.[https://elixir.bootlin.com/linux/v4.14.70/source/tools/perf/builtin-sched.c]#define TASK_RUNNING 0#define TASK_INTER...

[리눅스커널] 프로세스: do_fork() 함수 소개

_do_fork() 함수 소개리눅스에서 구동 중인 모든 프로세스는 _do_fork() 함수가 실행할 때 생성됩니다. 프로세스는 누가 생성할까요? 리눅스 시스템에서 프로세스 생성을 전담하는 프로세스가 있습니다. 주인공은 init과 kthreadd 프로세스입니다.유저 레벨 프로세스는 init 프로세스, 커널 레벨 프로세스(커널 스레드)는 kthreadd 프...

[리눅스커널] 프로세스: 프로세스는 어떻게 생성하나?

이번 절에서는 프로세스가 생성하는 과정에 대해 설명을 드리겠습니다.     "프로세스 생성 과정을 왜 알아야 할까?"리눅스 커널에서 프로세스를 생성하는 함수를 분석하면 자연히 다음 내용을 알게 됩니다.  - 프로세스가 부모 프로세스로부터 어떻게 복제되는가   - 생성된 프로세스가 실행을 시작...

[라즈베리파이] 스케줄링: 런큐란 무엇일까?

반복하지만 리눅스 커널 스케줄링은 다음과 같은 이유로 도입됐습니다.      "CPU에서는 한 개의 프로세스만 실행할 수 있다."만약 CPU가 10개가 있는데 10개의 프로세스만 실행한다면 스케줄링 동작은 필요가 없게 됩니다.그러면 다음과 같은 상황을 머리 속으로 그려볼까요?     "CPU...

[라즈베리파이] 스케줄링: 선점(Preemptive)과 비선점(Non-preemptive) 스케줄링

커널에서 지원하는 스케줄링 방식은 크게 선점 스케줄링 방식과 비선점 스케줄링 방식으로 나눌 수 있습니다. 대부분 스케줄링하면 선점 스케줄링 방식으로 이해하는 경우가 많습니다.히지만 커널은 프로세스 상태에 따라 유연하게 두 가지 방식을 같이 적용합니다.먼저 선점 스케줄링 동작에 대해서 살펴보겠습니다.선점이란 단어는 보통 영어로 Preemptive...

[라즈베리파이] 스케줄링(scheduling)이란 무엇일까?

여러분들은 리눅스 시스템이 탑재된 휴대폰이나 라즈베리파이를 쓰면 동시에 여러 프로그램을 실행할 수 있습니다. 휴대폰을 보면 다양한 프로그램이 동시에 실행하는 것을 확인할 수 있습니다. 예를 들면 브라우저를 실행하면서 음악을 듣거나 메신저를 하면서 어플리케이션을 다운로드 할 수 있습니다.그래서 사람들은 여러 프로세스들이 동시에 CPU에서 실행한다고 느낄 ...
1 2 3 4 5 6 7 8 9 10 다음