프로세스
Posts
54 posts[리눅스커널] thread_info 구조체의 preempt_count - 인터럽트 컨텍스트 실행 저장
리눅스 시스템에서 인터럽트는 언제든지 발생할 수 있습니다. 인터럽트가 발생하면 프로세스 실행을 멈추고 인터럽트에 해당하는 인터럽트 핸들러를 실행합니다. 커널에서는 인터럽트가 발생해서 인터럽트 서비스 루틴을 실행하는 동작을 인터럽트 컨텍스트라고 부릅니다. ---참고로 인터럽트는 외부 입출력 장치에 어떤 변화가 있을 때 발생하는 전기 신호 혹은 이를 CPU에게 알려서 처리하는 과정을 뜻합니다. 리눅스 커널은 인터럽트를 처리할 수 있는 함수를 지원하며, 자세한 내용은 5장의 5.1절에서 설명합니다.--- thread_info 구조체의 preempt_count 필드에 인터럽트가 실행 중인 상태를 나타내는 비트를 설정합니다. 이 비트를 읽어 인터럽트 컨텍스트 유무를 식별합니다. 리눅스 커널에서는 현재 실행 중
[리눅스커널] 프로세스: 커널 스레드는 어떻게 생성할까?
이어서 커널 스레드를 생성하는 과정에서 호출되는 함수를 소개하고 세부 코드를 분석하겠습니다. 커널 스레드가 생성되는 과정은 크게 2단계로 나눌 수 있습니다. 1) 1단계: kthreadd 프로세스에게 커널 스레드 생성을 요청 kthread_create() kthread_create_on_node() 2) 2단계: kthreadd 프로세스가 커널 스레드를 생성 kthreadd() create_kthread() 각 단계별로 실행되는 함수를 살펴보겠습니다. 1단계: kthreadd 프로세스에게 커널 스레드 생성 요청 유저 프로세스를 생성하려면 fork() 함수를 호출해야 하듯이, 커널 스레드를 생성하려면 kthread_create() 커널 함수를 호출해야 합니다. 먼저 kthreadd 프
리눅스(Linux) 프로세스 관리
Process 관리process는 흔히 실행중인 프로그램을 뜻한다. file과는 다른 의미이다. file은 디스크 상에 존재하며 수동적이다. process는 메모리에 있거나 cpu가 실행하는 상태를 의미한다예를 들면디스크의 특정 파티션의 특정 디렉토리에 있는 ls 명령을 실행하면 ls 명령이 메모리에 올라가고 cpu 자원을 할당 받아 실행된다. 이것을 process 라고 하며 실행이 끝나면 메모리에서 완전히 제거된다.프로세스 관리는 중요하다. 프로세스를 잘못관리하면 시스템 성능이 떨어질 수 있으며 보안상 시스템이 취약해질 수도 있다. 프로세스 상태보기psPS(1) Linux User's Manual
[리눅스커널] 프로세스: 유저 프로그램 실행 흐름 추적하기
리눅스 시스템에서는 빌트인으로 제공하는 프로그램이 있습니다. 이를 명령어 형태로 쓰고 있는데 이 프로그램은 실행할 때 프로세스 포멧으로 구동합니다. ftrace 로그로 각 프로그램(프로세스)이 어떻게 생성, 실행 및 종료하는지 확인합시다. ftrace 로그 설정하기ftrace 로그 설정 코드는 다음과 같습니다.1 "echo 1 > /sys/kernel/debug/tracing/events/sched/sched_process_exec/enable"2 "echo 1 > /sys/kernel/debug/tracing/events/sched/sched_process_exit/enable"3 "echo 1 > /sys/kernel/debug/tracing/events/sched/sched_proc

![[CV] [Comi] 'ファイブスター物語'(더 파이브 스타 스토리즈) 19권. 연재분에서 벌어지는 '검성 대 검성'](https://img.zoomtrend.com/2026/06/06/1780766083-ECB2ABEB93B1EC9EA5EB8DB0ECBD94EC8AA4.jpg)


