Linux Kernel Internal Structure: Process and Task Management, Summaries of Linux skills

An overview of the linux kernel's process and task management, including the creation and execution of processes, the concept of tasks and their scheduling, and the organization of a process into text, data, stack, and heap segments. It also discusses the use of fork() and vfork() system calls for process creation and the creation of threads using the clone() system call.

Typology: Summaries

2019/2020

Uploaded on 05/10/2020

andyworkingholiday
andyworkingholiday 🇰🇷

9 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
리눅스 커널 내부구조
Chapter 3. 태스크 관리!
1. 프로세스 구조
Gcc 컴파일러 통해 만든 실행 파일 자체는 그저 디스크에 저장되어 있는 수동적인 존재에
과하다. 파일 형태로 존재하고 있는 프로그램이 수행되기 위해서는 리눅스 커널로부터 CPU
자원을 할당받을 있는 동적인 객체가 되어야 한다. 동적인 객체가 프로세스 이다.!
결국 프로세스는 동작중인 프로그램이며, 커널로부터 할당받은 자신만의 자원을 가지고, CPU 기계어
명령들을 실행함에 따라 끊임없이 변화하는 동적인 존재이다. 커널이 시스템에 존재하는 여러 개의 프로
세스 CPU라는 자원을 어느 프로세스에게 할당해 것인가를 결정하는 작업을 스케쥴링 이라고
른다.!
32bit CPU 경우 운영체제는 프로세스에게 4GB 크기의 가상공간을 할당한다. (2^32= 4G)!
리눅스는 중에서 0~3G 공간을 사용자 공간으로 사용하고 나머지 1G 커널 공간으로 사용한다.!
폴더에 같이 있는 simple.c 참조하면
쉽다. !
사용자 프로그램 중에서 명령, 함수 등으
구성되는 텍스트 영역은 프로세서의
공간 가장 하위 공간을 차지한다.!
한편 함수의 지역변수 등을 담는 스택
역은 사용자 공간과 커널 공간의 경계
부터 아래 방향으로 공간을 차지한다.!
또한 프로세스는 수행 중에 동적으로 메모
공간을 할당 받을 있다. 메모
리가 할당되는 공간을 영역이라 부르며!
힙은 데이터 영역의 다음 부분을 차지한
. (아래서 위쪽 방향으로 자라난다).!
데이터 영역= 전역 변수 !
결국 프로세스는 크게 텍스트, 데이터, 스택, 이라는 영역으로 구분할 있다. 영역을
그먼트 또는 가상 메모리 객체(vim area struct) 라고도 부른다.!
pf3

Partial preview of the text

Download Linux Kernel Internal Structure: Process and Task Management and more Summaries Linux skills in PDF only on Docsity!

Gcc

. CPU

, , CPU

CPU

32bit CPU 4GB. (2^32= 4G)

0~3G 1G.

simple.c . , . . .

. ( ). =

(vim area struct).

? fork() vfork(). fork.c.

fork: fork.

fork fork. . , ,.

clone: (clone.c )

fork. pid..

1..

  1. ( ) 3.. ,.