태그 : linux 요약보기전체보기목록닫기
- [라즈베리파이] 스케줄링: 프로세스 상태 관리 (4)2019.02.06
- [리눅스커널] 프로세스: do_fork() 함수 소개(0)2019.02.04
- [리눅스커널] 프로세스: 프로세스는 어떻게 생성하나?(0)2019.02.04
- [라즈베리파이] 스케줄링: 런큐란 무엇일까? (0)2019.02.03
- [라즈베리파이] 스케줄링: 선점(Preemptive)과 비선점(Non-preemptive) 스케줄링 (4)2019.02.02
- [라즈베리파이] 스케줄링(scheduling)이란 무엇일까? (12)2019.02.02
- [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 실행 시각(0)2019.01.31
- [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 간의 관계 (0)2019.01.31
- [리눅스커널] 프로세스: do_exit() 함수 분석 (2)2019.01.21
- [리눅스커널] 프로세스: _do_fork() 함수(0)2019.01.17
- 10. 프로세스 스케줄링
- 2019/02/06 10:41
프로세스를 효율적으로 관리하기 위해서 커널은 프로세스에게 프로세스 상태를 부여합니다. 커널에서 정의한 프로세스 상태는 다음과 같습니다.[https://elixir.bootlin.com/linux/v4.14.70/source/tools/perf/builtin-sched.c]#define TASK_RUNNING 0#define TASK_INTER...
- 4. 프로세스(Process) 관리
- 2019/02/04 01:36
리눅스에서 구동 중인 모든 프로세스는 _do_fork() 함수가 실행할 때 생성됩니다. 다음 강의 동영상을 보면 _do_fork() 함수의 선언부와 세부 동작 방식을 확인할 수 있습니다. #프로세스프로세스 소개 * 프로세스란? * 태스크란?  ...
- 4. 프로세스(Process) 관리
- 2019/02/04 01:33
이번 절에서는 프로세스가 생성하는 과정에 대해 설명을 드리겠습니다. "프로세스 생성 과정을 왜 알아야 할까?"리눅스 커널에서 프로세스를 생성하는 함수를 분석하면 자연히 다음 내용을 알게 됩니다. - 프로세스가 부모 프로세스로부터 어떻게 복제되는가 - 생성된 프로세스가 실행을 시작...
- 10. 프로세스 스케줄링
- 2019/02/03 14:18
반복하지만 리눅스 커널 스케줄링은 다음과 같은 이유로 도입됐습니다. "CPU에서는 한 개의 프로세스만 실행할 수 있다."만약 CPU가 10개가 있는데 10개의 프로세스만 실행한다면 스케줄링 동작은 필요가 없게 됩니다.그러면 다음과 같은 상황을 머리 속으로 그려볼까요? "CPU...
- 10. 프로세스 스케줄링
- 2019/02/02 09:53
커널에서 지원하는 스케줄링 방식은 크게 선점 스케줄링 방식과 비선점 스케줄링 방식으로 나눌 수 있습니다. 대부분 스케줄링하면 선점 스케줄링 방식으로 이해하는 경우가 많습니다.히지만 커널은 프로세스 상태에 따라 유연하게 두 가지 방식을 같이 적용합니다.먼저 선점 스케줄링 동작에 대해서 살펴보겠습니다.선점이란 단어는 보통 영어로 Preemptive...
- 10. 프로세스 스케줄링
- 2019/02/02 09:52
여러분들은 리눅스 시스템이 탑재된 휴대폰이나 라즈베리파이를 쓰면 동시에 여러 프로그램을 실행할 수 있습니다. 휴대폰을 보면 다양한 프로그램이 동시에 실행하는 것을 확인할 수 있습니다. 예를 들면 브라우저를 실행하면서 음악을 듣거나 메신저를 하면서 어플리케이션을 다운로드 할 수 있습니다.그래서 사람들은 여러 프로세스들이 동시에 CPU에서 실행한다고 느낄 ...
- 4. 프로세스(Process) 관리
- 2019/01/31 13:10
태스크 디스크립터에는 프로세스의 실행 시각 정보를 알 수 있는 다음과 같은 필드가 있습니다. u64 utime u64 stime struct sched_info sched_info.last_arrival먼저 utime 필드를 소개합니다. * 유튜브 강의 동영상도 있으니 같이 들으시면 좋습니다. #프로세스프로세...
- 4. 프로세스(Process) 관리
- 2019/01/31 13:08
커널에서 프로세스는 다양한 방식으로 서로 연결돼 있습니다. 이번 절에서는 태스크 디스크립터에서 프로세스 사이의 관계를 나타내는 다음과 같은 필드에 대해 알아보겠습니다. struct task_struct *real_parent struct task_struct *parent struct list_head children struct li...
- 4. 프로세스(Process) 관리
- 2019/01/21 07:00
do_exit() 함수의 이름만 보더라도 '종료를 실행한다'라는 동작을 할 것이라 예상할 수 있습니다. 여기서 '종료를 실행한다'의 주체는 프로세스입니다. * 유튜브 강의 동영상도 있으니 같이 들으시면 좋습니다. #프로세스프로세스 소개 * 프로세스란? * 태스크...
- 4. 프로세스(Process) 관리
- 2019/01/17 12:39
_do_fork() 함수의 동작은 크게 2단계로 분류할 수 있습니다. 1단계: 프로세스 생성copy_process() 함수를 호출해서 프로세스를 생성합니다. copy_process() 함수는 이름에서 볼 수 있듯이 부모 프로세스의 리소스를 자식 프로세스에게 복제합니다. 2단계: 생성한 프로세스의 실행 요청copy_process(...
최근 덧글