태그 : process 요약보기전체보기목록닫기
- [LinuxKernel] What is process?(0)2020.09.27
- [리눅스커널][스케줄링] 컨택스트 스위칭이란 무엇인가 (0)2019.03.03
- [리눅스커널][스케줄링] 유저 프로세스가 시스템 콜 처리를 마무리한 후 선점 스케줄링(0)2019.02.10
- [리눅스커널][스케줄링] 커널 모드 중 인터럽트 발생으로 선점 스케줄링 실행(0)2019.02.09
- [리눅스커널][스케줄링] 유저 프로세스 실행 중 인터럽트 발생으로 선점 스케줄링(0)2019.02.09
- [리눅스커널] 스케줄링: 선점 스케줄링 발생 시점을 아는 것은 왜 중요할까? (0)2019.02.09
- [리눅스커널][스케줄링] 선점 스케줄링(Preemptive Scheduling)이란 무엇일까?(0)2019.02.09
- [리눅스커널] 프로세스: current_thread_info() 매크로 함수 분석(0)2019.02.08
- [리눅스커널] 스케줄링: 스케줄링 정책이란 (0)2019.02.07
- [라즈베리파이] 스케줄링: 프로세스 상태 변화 관리 (6)2019.02.06
- 4. 프로세스(Process) 관리
- 2020/09/27 16:00
//하지만 태스크의 개념은 프로세스와 겹치는 부분이 많습니다. 그런데 태스크의 의미가 프로세스와 스레드 기법기 도입되면서 발전했습니다. > 태스크를 실행하는 단위인 실행(Execution)을 결정하는 기준이 스케줄링으로 바뀐 것입니다. 표현이 어색하고 의미 파악이 어렵습니다. 단위가 실행이라는 것도 그렇고, 결정 기준이...
- 10. 프로세스 스케줄링
- 2019/03/03 14:19
컨택스트 스위칭이란 무엇인가컨택스트 스위칭 세부 동작을 알기 위해서 context_switch() 함수를 분석할 필요가 있습니다. context_switch() 함수를 분석하기 전 컨택스트 스위칭의 개념을 소개하겠습니다. 먼저 컨택스트 스위칭이란 용어에 대해서 살펴봅시다. 컨택스트 스위치란 용어는 컨택스트 + 스위치란 단어의 합성어입니다. 컨택...
- 10. 프로세스 스케줄링
- 2019/02/10 15:23
유저 프로세스는 시스템 콜로 커널과 통신을 합니다. 유저 프로세스는 시스템 콜을 발생해서 시스템 콜 핸들러 함수를 호출합니다. 이후 시스템 콜 핸들러 하부 함수 실행을 마친 후 유저 공간으로 복귀하기 직전에 선점 스케줄링 실행 조건을 점검합니다.다음 다이어그램을 보면서 세부 동작에 대해 살펴보겠습니다. 위 블록 다이어그램은 유저 프로세스가 시스...
- 10. 프로세스 스케줄링
- 2019/02/09 16:39
유저 프로세스 실행 도중 인터럽트가 발생하면 __irq_usr 이란 레이블에서 선점 스케줄링 조건을 점검합니다. 마찬가지로 커널 모드에서 어떤 코드가 실행 도중 인터럽트가 발생할 때 선점 스케줄링(Preemptive Scheduling)을 시도합니다.이번 소절에서 커널 모드에서 인터럽트가 발생했을때 선점 스케줄링 세부 동작을 살펴봅니다.다음 블록 다이어...
- 10. 프로세스 스케줄링
- 2019/02/09 15:40
선점 스케줄링 실행 진입점 중 하나가 인터럽트를 핸들링 후 입니다. 이번 소절에서 유저 프로세스가 실행하던 도중 인터럽트가 발생했을 때 어떤 방식으로 선점 스케줄링(Preemption)이 시작하는지 살펴보겠습니다.다음 블록 다이어그램을 같이 봅시다. 위 블록 다이어그램은 유저 레벨 프로세스가 실행 도중 선점 스케줄링되는 흐름도입니다.유...
- 10. 프로세스 스케줄링
- 2019/02/09 12:26
리눅스 시스템 개발자로 문제 해결 능력을 키우기 위해선 선점 스케줄링 발생 시점을 아는 것이 중요합니다.리눅스 디바이스를 개발하다 보면 다양한 버그를 만납니다. 수 많은 버그 중 선점 스케줄링으로 시스템이 오동작하는 상황을 겪을 수 있습니다. 예를 들어 커널 패닉 발생하는 가장 큰 원인 중 하나가 선점 스케줄링 때문입니다.리눅스 커널 커뮤니티에서 배포하...
- 10. 프로세스 스케줄링
- 2019/02/09 12:24
선점 스케줄링이란 CPU에서 실행 중인 프로세스를 비우고 새로운 프로세스를 CPU에서 실행시키는 방식입니다.선점 스케줄링에 대한 이해를 돕기 위해 야구에서 투수 교체를 하는 과정을 예를 들겠습니다.마운드에 A란 투수가 있다고 가정합시다. A란 투수는 열심히 공을 던지고 있습니다. 감독은 투수가 마운드에서 제대로 공을 던지고 있는지 계속 관찰합니다. 제구...
- 4. 프로세스(Process) 관리
- 2019/02/08 00:02
current_thread_info() 매크로 함수는 프로세스가 실행 중일 때 thread_info 구조체가 있는 스택의 최상단 주소를 계산해 반환합니다. current_thread_info() 매크로 함수의 구현부를 분석하기에 앞서 매크로 함수를 어느 코드에서 쓰는지 알아봅시다.* 유튜브 강의 동영상도 있으니 같이 들으시면 좋습니다. ...
- 10. 프로세스 스케줄링
- 2019/02/07 17:42
스케줄링은 실행 대기 상태에 있는 프로세스 목록 중 하나를 선택해서 CPU를 실행하는 동작입니다. 여기서 한 가지 의문이 생깁니다. | 실행 대기 상태 프로세스들 중 하나를 선택한 후 CPU 실행 상태로 어떤 방식으로 바꿔줄까?스케줄링 세부 구현을 할 때 다음 그림과 같이 Process A ~ Proces D 프로세스를 어...
- 10. 프로세스 스케줄링
- 2019/02/06 10:48
프로세스 상태 변화프로세스 상태 변화에 대해 알아보겠습니다. 프로세스 상태를 아는 것 보다 프로세스 상태가 변경될 때 세부 동작을 이해하는 것이 더 중요합니다. [1] 실행 대기 -> CPU실행 중프로세스가 생성된 다음 바로 TASK_RUNNING(실행 대기) 상태로 바뀌면서 자신을 런큐에 Enqueue 합니다. 스케줄러...
최근 덧글